Explains how to use USBView, which is useful for analyzing Windows USB problemsAtomu Hidaka
This document explains how to use USBView, which is useful for analyzing Windows USB problems. It contains useful information for developers as well as Windows users. It also includes information on how to install it for beginners and how to obtain and modify the source code.
The document discusses OpeLa, a programming system created by the author to build an entire operating system and programming language from scratch. OpeLa stands for Operating and Language processing system. The author provides background on their involvement in OS and language development communities. They describe initial steps taken in OpeLa, such as using the SDL library to display graphics. Considerations for calling external functions from OpeLa are also mentioned.
Brief introduction to PC timers: PIT, RTC, HPET, ACPI PM Timer, Local APIC Timer, TSC. This slides also describes how to use ACPI PM Timer and Local APIC Timer.
This presentation describes USB 3 host driver structure.
The host driver has 3 layers: host controller driver, bus driver, and class driver.
Recent days, hobby OS creators must implement USB host driver to support keyboard and mouse.
6. CRCR: Command Ring Control Register
Command Ring PointerにCRの先頭アドレスを設定
CRR (Command Ring Running) はCR動作中に1になるはず
他のフィールドは0が読み出されることになっている
RCS: Reading this flag always returns ‘0’.
CS: Reading this bit shall always return ‘0’.
CA: Reading this bit always returns ‘0’.
Command Ring Pointer: Reading this field always returns ‘0’.
xHCI for USB Requirement Specificationより
20. HC BIOS Owned Semaphore
システムがフリーズする=バスロック系?
プログラム外に原因がありそう。BIOS?
仕様書をふと眺めているとUSB Legacy Support Capabilityに
HC BIOS Owned Semaphoreなるビットを発見
“The BIOS sets this bit to establish ownership of the xHC.”
調べてみると,このビットが1になっていた
隣にHC OS Owned Semaphoreというビットもある
“System software sets this bit to request ownership of the xHC.”
これらを適切に設定したらフリーズしなくなった!