Document xHCI runtime registers and interrupter registers
This commit is contained in:
parent
eb0a4b2a4d
commit
dc07fd0255
@ -255,11 +255,69 @@ struct XHCI
|
|||||||
}
|
}
|
||||||
static assert(PortRegisters.sizeof == 0x10u);
|
static assert(PortRegisters.sizeof == 0x10u);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Located at offset rts_offset from PCI base address.
|
||||||
|
*/
|
||||||
struct RuntimeRegisters
|
struct RuntimeRegisters
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Microframe index. Incremented by controller each microframe.
|
||||||
|
*/
|
||||||
uint mfindex;
|
uint mfindex;
|
||||||
|
|
||||||
uint[7] _reserved01;
|
uint[7] _reserved01;
|
||||||
uint ir;
|
|
||||||
|
/**
|
||||||
|
* Interrupter register sets.
|
||||||
|
*/
|
||||||
|
InterrupterRegister[0] ir;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interrupter register set.
|
||||||
|
*
|
||||||
|
* A copy of this register set is present for each interrupter.
|
||||||
|
*/
|
||||||
|
struct InterrupterRegister
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Interrupter Management Register.
|
||||||
|
* 0 Interrupt Pending (IP)
|
||||||
|
* 1 Interrupt Enable
|
||||||
|
* 31:2 reserved
|
||||||
|
*/
|
||||||
|
uint imr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interrupter Moderation.
|
||||||
|
* 15:0 Interrupt Moderation Interval
|
||||||
|
* 31:16 Interrupt Moderation Counter
|
||||||
|
*/
|
||||||
|
uint im;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event Ring Segment Table Size.
|
||||||
|
* 15:0 Event Ring Segment Table Size
|
||||||
|
* 31:16 reserved
|
||||||
|
*/
|
||||||
|
uint ersts;
|
||||||
|
|
||||||
|
uint reserved;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event Ring Segment Table Base Address.
|
||||||
|
* 5:0 reserved
|
||||||
|
* 63:6 Event Ring Segment Table Base Address
|
||||||
|
*/
|
||||||
|
ulong erstba;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event Ring Dequeue Pointer.
|
||||||
|
* 2:0 Dequeue ERST Segment Index
|
||||||
|
* 3 Event Handler Busy
|
||||||
|
* 63:4 Event Ring Dequeue Pointer
|
||||||
|
*/
|
||||||
|
ulong erdp;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct DoorbellRegister
|
struct DoorbellRegister
|
||||||
|
Loading…
x
Reference in New Issue
Block a user