1.host controller初始化步骤
Initialize the xHC using MSI-X as the interrupt mechanism
1) 初始化system I/O memory maps
2) chip hardware reset , 然后等待CNR(controller not ready)拉低,然后就可以想xhc operational or runtime 寄存器
3) 使能 the decice slots that software is goning to use
4) 将device context base address array pointer 寄存器的指针指向device context base address array
5)将command ring dequeue pointer 指向第一个TRB的起始地址
6)初始化中断
分配和初始化MSI-X table,设置message的地址以及数据,使能向量
分配以及初始化MSI-X pending bit array
。。。。(与PCI初始化一致)
2. device 初始化过程
A typical USB