XHCI 1.2b 规范摘要(七)

在这里插入图片描述

系列文章目录


XHCI 1.2b 规范摘要(一)
XHCI 1.2b 规范摘要(二)
XHCI 1.2b 规范摘要(三)
XHCI 1.2b 规范摘要(四)
XHCI 1.2b 规范摘要(五)
XHCI 1.2b 规范摘要(六)
XHCI 1.2b 规范摘要(七)
XHCI 1.2b 规范摘要(八)
XHCI 1.2b 规范摘要(九)
XHCI 1.2b 规范摘要(十)
XHCI 1.2b 规范摘要(11)
XHCI 1.2b 规范摘要(12)
XHCI 1.2b 规范摘要(13)
XHCI 1.2b 规范摘要(14)
XHCI 1.2b 规范摘要(15)



4 运营模式(Operational Model)

4.19 根集线器(Root Hub)

   本节介绍 Root Hub 和 Root Hub Port 操作模型。

   xHC 实施支持的协议由声明的 xHCI 支持的协议功能结构标识,请参阅第 7.2 节。xHCI 支持的协议功能结构标识 xHC 实现支持的端口状态和控制 (PORTSC) 寄存器的数量。有关 xHCI 协议到 PORTSC 寄存器映射的更多信息,请参阅第 4.19.7 节。

   注意:当主电源被拔出时,如何管理端口,请参考挂起恢复章节。

4.19.1 根集线器端口状态机(Root Hub Port State Machines)

   以下状态机使用以下表示法:

在这里插入图片描述

   其中 State Name 是由 xHCI 规范定义的信息名称,Port Link State 标识 PORTSC PLS 字段的可能值,以及 Signal State 值为:
   端口电源(PP,Port Power),当前连接状态(CCSCurrent Connect Status),端口启用/禁用(PEDPort Enabled/Disabled),和 Port Reset (PR)。

在这里插入图片描述

4.19.1.1 USB2 根集线器端口(USB2 Root Hub Port)

在这里插入图片描述

    图 4-25 说明了 USB2 协议 Root Hub 状态机中的顶级转换。

4.19.1.2 USB3 根集线器端口(USB3 Root Hub Port)

    图 4-27 说明了 USB3 协议 Root Hub 状态机中的顶级转换。

    请参阅表 5-27 了解影响更改标志的条件。

在这里插入图片描述

4.19.2 端口状态变化生成(Port Status Change Generation)

    xHC 为每个根集线器端口定义了一个端口状态和控制 (PORTSCPort Status and Control) 寄存器。

    PORTSC 寄存器中有七个状态变化位:连接状态变化 (CSCConnect Status Change)、端口启用/禁用变化 (PECPort Enabled/Disabled Change)、热端口复位变化 (WRCWarm Port Reset Change)、过流变化 (OCCOver-current Change)、端口复位变化 (PRCPort Reset Change)、端口链路状态变化 (PLCPort Link State Change) 和端口配置错误变化 (CECPort Config Error Change),有关这些位的更多信息,请参阅第 5.4.8 节。

    根集线器端口状态变化位可能由于硬件或软件启动的条件而设置。设置后,这些位将保持设置状态,直到系统软件写入 PORTSC 寄存器并将相应的状态变化位设置为 “1” 或断言芯片硬件复位或 HCRST(Host Controller Reset,USBCMD) 为止。

    当 PORTSC 寄存器中设置状态更改位时,如果状态更改位的断言导致 PSCEG (Port Status Change Event Generation,4.19.2) 从 “0” 转换为 “1” ,则 xHC 将通过生成端口状态更改事件(如第 6.4.2.3 节所述)和/或断言电源管理事件 (PME#) 来响应。有关端口状态更改事件和 PME# 生成的更多信息,请参阅表 A-2。主机系统通常通过端口状态更改事件接收根集线器端口状态更改通知,但是 PORTSC 寄存器中的 “唤醒” 标志可用于管理由于端口状态更改而导致的 PME# 断言。有关唤醒操作的更多信息,请参阅第 4.15 节。

    如果发生任何连接更改(即连接或断开连接),即 CCSCurrent Connect Status) 或 CASCold Attach Status) 从 “1” 转换为 “0” 或从 “0” 转换为 “1” ,则应断言连接状态更改 (CSCConnect Status Change) 位。

    仅当端口启用/禁用 (PEDPort Enabled/Disabled) 标志由于 Port_Error 而转换为禁用状态时,即 PED 从 “1” 转换为 “0” ,USB2 协议端口才应断言端口启用/禁用更改 (PEC)。

    仅当热复位完成时,即 WPR(Warm Port Reset) 从 “1” 转换为 “0” ,才会设置热端口复位更改 (WRCWarm Port Reset Change) 位。

    检测到过流情况时,即 OCAOver-current Active) 从 “0” 转换为 “1” ,才会设置过流更改 (OCCOver-current Change) 位。

    任何复位(热复位或温复位)完成时,即 PRPort Reset) 或 WPR(Warm Port Reset) 从 “1” 转换为 “0” ,端口复位变化 (PRCPort Reset Change) 位将被置位。

    注意:PRC 的定义指出,“当此端口上的任何复位处理(热或热)完成时”,它被设置。如果在端口处于复位状态时发生过流情况 (OCA => ‘1’),则复位处理将中止,并且应清除 PR 标志。在这些条件下,硬件可能会或可能不会设置 PRC 和 WRC 标志。如果设置了 OCC 标志,则软件应忽略 PRC 和 WRC 标志。

    端口链路状态变化 (PLCPort Link State Change) 位针对特定端口链路状态 (PLSPort Link State) 字段转换被置位。有关将置位 PLC 的特定根集线器端口状态转换,请参阅第 4.19.1 节。

    仅当检测到端口配置错误时,才会设置端口配置错误变化 (CECPort Config Error Change) 位。请注意,PORTSC 寄存器中没有相应的端口配置状态或错误标志,因此 CEC 的断言是标记此错误情况的唯一方法。

    端口状态更改事件(Port Status Change Event)按端口报告端口状态更改。端口状态更改事件(Port Status Change EventTRBPort ID 字段(如表 88 所示)指示哪个端口经历了状态更改。

    系统软件应通过清除相应的 PORTSC 状态更改位来确认状态更改。确认将清除该端口的更改状态,以便可以报告未来的状态更改。

    软件读取 PORTSC 寄存器与反映 PORTSC 更改的相应事件(Events)之间没有一致性保证,也就是说,如果软件读取 PORTSC 并看到更改位已设置,则无法保证相应事件(event)已写入事件环(Event ring)。

    图 4-34 显示了端口状态更改事件和 PME# 生成的示例创建机制。

    PSCEG (Port Status Change Event Generation) 信号从 “0” 到 “1” 的转换将导致生成 Port Status Change EventPSCEG 是内部 xHC 变量,不直接暴露给软件。

    注意: Port Status Change Event 的生成由 PSCEG 信号的断言触发。由于内部 xHC 调度和系统延迟,更改位(change bit)的设置和它生成的 Port Status Change Event 写入事件环之间会有延迟。如果 SW 读取 PORTSC 并看到更改位已设置,则不能保证相应的端口状态更改事件已写入事件环(Event Ring)。

    注意:Transfer EventsPort Status Change Events 之间没有顺序要求。例如,由于断开连接,断开连接的设备的 transfer events 可能会被放置在端口生成的 Port Status Change Event 之后的事件环上。

   每个端口的变化位(CSC、PEC 等)被 “或” 在一起,并由 HCHalted (HCH) 标志门控,以形成 Port Status Change Event Generation 信号。当 PSCEG 信号从 “0” 转换为 “1” 时,端口应生成端口状态变化事件。

   每个端口 (PEx) 检测到的 PME 唤醒事件被 “或” 在一起,并由 PCI PM PMSCR.PME_En 标志门控。有关更多信息,请参阅附录 A.1.1。当 PME# 生成信号从 “0” 转换为 “1” 时,应断言 PME# 。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4.19.3 连接状态变化上报(Connect Status Change Reporting)

   当端口电源被置位(PP = ‘1’)且在根集线器端口上检测到 USB 设备连接时,xHC 应执行以下操作:

  1. 相应 PORTSC 寄存器中的 CCS 位设置为 ‘1’,表示已检测到设备存在。
  2. 相应 PORTSC 寄存器中的 CSC 位设置为 ‘1’,表示已检测到 CCS 位中的转换。
  3. 如果 CSC 的置位导致 PSCEG 从 ‘0’ 转换为 ‘1’,则将具有以下字段值的 Port Status Change Event TRB 发布到事件环。
  • TRB Type = 端口状态更改事件(Port Status Change Event)。
  • Port ID = 检测到设备连接的根集线器端口的端口号
  • Completion Code = Success
  • Cycle bit = 当前事件环生产者周期状态。

   当软件解析 Port Status Change Event 时,它可以评估 Port ID 字段以确定作为更改事件来源的根集线器端口。并检查端口的 PORTSC 寄存器以确定事件是由连接状态更改 (CSC = ‘1’) 生成的,并且更改是附加 (CCS = ‘1’)。

   对于 USB2 协议端口,“设备存在”由 PORTSC PLS 字段从 RxDetect 转换为轮询状态表示。软件应重置端口以将其转换为 U0 状态。

   对于 USB3 协议端口,“设备存在”由 PORTSC PLS 字段从轮询转换为 U0 状态表示。

4.19.4 端口电源(Port Power)

   端口电源控制 (PPC) 标志指示 xHC 是否支持端口电源开关。

   无论 xHC 实现是否支持端口电源开关,它都应在芯片硬件重置或 HCRST(Host Controller Reset,USBCMD) 后自动在所有 Root Hub 端口上启用 VBus。xHCI 根集线器端口的初始状态应为 Disconnected 状态,即端口电源 (PP) 已断言,并且端口正在等待 USB 上的信号,指示设备已连接。

4.19.4.1 已启用 U0 状态(Enabled UO States)

4.19.5 端口复位(Port Reset)

   重置 Root Hub 端口会重置连接的 USB 设备,如果成功;端口逻辑报告所连接设备的速度,并将端口转换为 Enabled 状态。无论成功与否,都会设置更改位(“1”)。如果设置更改位导致 PSCEG 的 “0” 到 “1” 转换,则应生成 Port Status Change Event

   当系统软件设置 PORTSC 寄存器 PRPort Reset) 位为 “1” 时,xHC 应:

  1. 更新 PORTSC 寄存器:设置 PR 位(“1”)。将 PED 位清除为禁用状态(“0”)。
  2. 向连接到端口的设备执行适当的重置信号。如果总线重置序列成功完成,xHC 应更新 PORTSC 寄存器:
  • 将 PLS 字段设置为 U0(“0”)。
  • 清除 PR 位(“0”)。
  • 将 PED 设置为启用状态(“1”)。
  • 设置 PRC 位(“1”)。
  • 对于 USB3 协议端口,如果热复位转换为暖复位,则设置 WRC 位(“1”)。
  • 将端口速度字段设置为新连接设备的速度。

   如果总线复位序列未成功完成,则 xHC 应更新 PORTSC 寄存器:

  • 将 PLS 字段设置为 RxDetect(“5”)。
  • 清除 PR 位(“0”)。
  • 设置 PRC 位(“1”)。
  • 对于 USB3 协议端口,如果热复位转换为暖复位,则设置 WRC 位(“1”)。
  • 将端口速度字段设置为未定义速度(“0”)。
  • 清除 CCS 位(“0”)。

   如果设置 PRC 导致 PSCEG 从 “0” 转换为 “1” ,则生成具有以下字段值的 Port Status Change Event

  • TRB Type = Port Status Change Event。
  • Port ID = 检测到复位更改转换的根集线器端口的端口号。
  • Completion Code = Success 。
  • Cycle bit = 当前事件环生产者周期状态。
4.19.5.1 热端口复位(Warm Port Reset)

4.19.6 端口测试模式(Port Test Modes)

   对于 USB2 协议根集线器端口,xHC 应实现 USB2 规范中所述的端口测试模式 Test_J_State、Test_K_State、Test_Packet、Test_Force_Enable 和 Test_SE0_NAK。对于 USB3 协议根集线器端口,不支持任何测试模式。系统软件最多允许一次有一个端口处于测试模式。将多个端口置于测试模式可能会产生不确定的结果。

4.19.7 端口路由与控制(Port Routing and Control)

   USB3 集线器是两个集线器的逻辑组合:USB 2.0 集线器和增强型超高速集线器,其中每个集线器都在单独的上游连接(数据总线)上运行。当 USB3 集线器连接到根集线器端口时,它可能会主动使用 USB2 和增强型超高速连接,具体取决于连接到集线器下游端口的设备的速度。请注意,USB 外围设备一次只能使用一个连接。

   在 USB3 集线器中,每个物理下游连接器都有两个可独立寻址的集线器端口;一个通过 USB2 连接访问的 USB2 兼容端口和一个通过超高速连接访问的 USB3 兼容端口。xHCI 的根集线器通过为每种连接类型定义根集线器 PORTSC 寄存器来模拟此操作;USB2(低速/全速/高速)或 USB3(增强型超高速)。

   由于引脚分配、电源或其他实施问题,xHC 实施可能支持的 USB2 连接数量与 USB3 不同。USB 连接的“类型”由其支持的协议定义。xHCI 支持的协议扩展功能(定义见第 7.2 节)标识与特定协议关联的根集线器端口集。请参阅表 7-11 了解受支持的协议列表。

   注意:支持 USB3 协议的根集线器端口由 PORTSCUSB3 PORTPMSCPORTLI 寄存器组成(第 5.4.8、5.4.9.1 和 5.4.10.1 节),支持 USB2 协议的根集线器端口由 PORTSCUSB2 PORTPMSC 寄存器组成(请参阅第 5.4.8 和 5.4.9.2 节)。

   xHCI 根集线器端口到系统物理 USB 连接器的映射由平台实现定义,超出了本规范的范围。有关将 xHCI 根集线器端口映射到系统 USB 连接器的方法,请参阅附录 D。

   注意:xHC 根集线器端口编号从 1MaxPortsMaxPortsHCSPARAMS1 寄存器 (5.3.3) 中定义。

   考虑图 4-35 中所示的 xHC 实现示例,该示例支持两种协议(USB2 和 USB3)和 6 个连接,其中 4 个连接与 USB2 兼容,2 个与 USB3 兼容。在这种情况下,将声明两个 xHCI 支持协议扩展功能数据结构。如果 USB2 xHCI 支持的协议扩展功能数据结构定义兼容端口偏移等于 ‘1’ 且兼容端口数等于 ‘4’ ,并且 USB3 xHCI 支持的协议扩展功能数据结构定义兼容端口偏移等于 ‘5’ 且兼容端口数等于 ‘2’ ,则根集线器端口 1 至 4 将反映 USB2 设备的连接,根集线器端口 5 和 6 将反映 USB3 设备的连接。

在这里插入图片描述

4.19.8 冷连接状态(Cold Attach Status)

   对于 USB2 协议端口,当前连接状态 (CCS) 标志能够报告任何 xHC 电源状态下的设备连接。但是,对于 USB3 协议端口,只有在链路成功训练并前进到 U0 状态后,CCS 才会被断言。如果 xHC 实现无法在 D3 状态下将链路推进到 U0,则会出现问题,如果训练链路所需的 LTSSM 时钟未运行,则可能会发生这种情况。如果没有时钟,CCS 就无法用于断言 PME#。

   冷连接状态 (CASCold Attach Status) 标志通过断言自身(“1”)来解决此问题,如果:

  • 检测到远端接收器终端,
  • xHC 处于 D3 状态,并且处于低功耗状态,其中 LTSSM 和控制器时钟已停止,或者控制器已断电(例如,LTSSM 无法训练),并且
  • LTSSM 未处于错误、U3 或禁用状态。

   请注意,CAS 仅在这些情况下才会被断言。它不是 USB3 设备已连接的通用指示器。此外,CAS 不适用于 USB2 协议端口,并且应始终为 “0”。

   CAS 转换应断言连接状态更改 (CSC)。

   在软件将 xHC 置于 D3 状态之前,它应执行以下操作:

  • 停止任何设备活动。
  • 对于每个想要唤醒的 USB3 设备:
    发出 SetFeature(FUNCTION_SUSPEND, Function Remote Wake Enable) 请求。
  • 对于所有连接的设备:
    将其根集线器端口转换为 Enabled:U3 状态(挂起)。如果需要断开连接时唤醒,请设置 PORTSC 断开连接时唤醒启用 (WDE) 标志。
  • 对于处于断开连接状态的所有端口:
    如果需要连接时唤醒,请设置 PORTSC 连接时唤醒启用 (WCE) 标志。

对于所有端口:

  • 如果需要过流唤醒,请设置 PORTSC 过流唤醒启用 (WOE) 标志。

   断开连接、关闭电源或禁用状态下的任何端口的状态都不会改变。此方法允许唤醒启用设备唤醒系统,为所有其他设备提供挂起电流,并在检测到断开连接、连接或过流情况时启用 PME# 断言。

   当软件被 PME 唤醒时,它应该:

  • 打开核心电源井以将 xHC 从 D3cold 转换为 D0 状态。
  • 恢复 Scratchpad 以及在 xHC 处于 D3cold 状态之前保存的所有 xHC 寄存器值和内存数据结构。
  • 设置 xHC 运行(R/S =“1”)。
  • 按照第 4.15.2.2 节中的建议恢复之前暂停的任何根集线器端口。
  • 检查所有剩余的 xHC Root Hub 端口是否为 CAS = ‘1’,并向任何端口发出热端口复位 (WPR)(如果已断言)。断言 WPR 会清除 CAS。注意:如果在打开核心电源井后,端口的 LTSSM 能够成功转换到 U0 状态,则断言 CCS 也可能清除 CAS。

4.19.9 端口速率(Port Speed)

   USB 3.2 规范要求,无论设备连接的实际速度是多少,对支持 SSP 的集线器的 “获取端口状态(Get Port Status)” (PORT_SPEED) 请求返回的值始终返回 “0” (即 5Gb/s)。这可确保仅设计为支持 SS 设备的传统驱动程序不会因读取意外的 PORT_SPEED 值而感到困惑。也就是说,即使设备实际以 SSP 速度连接,传统驱动程序也会认为已连接了 SS 设备。要确定所连接设备的实际速度,支持 SSP 设备的驱动程序必须发出 “获取端口状态(Get Port Status)” (EXT_PORT_SPEED) 请求。

   这意味着,当传统 xHCI 驱动程序为连接在集线器后面的设备设置 “Address Device Command Input Slot ContextSpeed ” 字段的值时,它将始终指示 5Gb/s。为了确保由旧驱动程序管理的支持 SSP 的 xHC 知道设备连接的真实速度,SSP 设备必须在 SET_ADDRESS 请求之后立即生成子链路速度设备通知(Sublink Speed Device Notification) TP 。这样,支持 SSP 的 xHC 就可以在 Output Slot Context:Speed 字段中设置正确的值。

   如果在寻址设备命令(Address Device Command)期间收到子链路速度设备通知(Sublink Speed Device Notification) TP,支持 SSP 的 xHC 应忽略 Input Slot Context:Speed 字段的值,并在完成寻址设备命令之前使用子链路速度设备通知 TP 报告的速度更新 Output Slot Context:Speed 字段。

   支持 SSP 的 xHC 应在 PORTSC:Port Speed 字段中报告连接到根集线器端口的设备的实际连接速度。

4.20 暂存器缓冲区(Scratchpad Buffers)

    xHCIScratchpad 分配机制允许 xHC 请求一个或多个 PAGESIZE 系统内存缓冲区来存储内部状态。PAGESIZE 寄存器的定义见第 5.4.3 节。

    xHC 所需的页面数由 HCSPARAMS2 寄存器中的 Max Scratchpad Buffers HiLo 字段标识(第 5.3.4 节)。xHC 实现可以声明零个 Max Scratchpad Buffers

    Scratchpad Buffer 是位于 PAGESIZE 边界上的系统内存 PAGESIZE 块。

   系统软件应在将 xHC 置于运行模式(运行/停止 (R/S) = ‘1’)之前分配暂存器缓冲区。

   Scratchpad Buffer Array 包含指向 Scratchpad Buffers 的指针。Device Context Base Address Array 的条目 0 指向 Scratchpad Buffer Array 。暂存器缓冲区阵列数据结构在第 6.6 节中描述。​​

   xHC 暂存器分配的特点:

  • xHC 可以请求多个暂存器缓冲区。
  • 访问暂存器缓冲区时,xHC 不得访问系统软件分配的 PAGESIZE 内存块之外的系统内存地址。
  • 系统软件不得读取或写入暂存器缓冲区。系统软件写入暂存器缓冲区内存可能会导致未定义的 xHC 操作。
  • 如果 SPR = ‘1’,暂存器缓冲区的内容应在系统电源事件(包括 D3.cold)中保持不变。请参阅表 5-11 中的 SPR 定义。

   需要进行以下操作才能将暂存器缓冲区分配给 xHC:

  1. 软件检查 HCSPARAMS2 寄存器中的 Max Scratchpad Buffers HiLo 字段。
  2. 软件分配一个具有 Max Scratchpad Buffers 条目的 Scratchpad Buffer Array
  3. 软件将 Scratchpad Buffer Array 的基址写入 DCBAADevice Context Base Address Array,插槽 0)条目。
  4. 对于 Scratchpad Buffer Array 中的每个条目:
    • 软件分配一个 PAGESIZE 暂存器缓冲区(Scratchpad Buffer)。
    • 软件将暂存器缓冲区清除为 “0” 。
    • 软件将分配的暂存器缓冲区(Scratchpad Buffer)的基址写入 Scratchpad Buffer Array 中的相关条目。

在这里插入图片描述

4.21 PCI Express

    注意:本节使用 PCI Express (PCIe) 术语,并引用 PCIe 结构(物理层、接收器错误、数据链路或事务层等)。有关 Error Events 和 Error Reporting and Configuration Registers 的更多信息,请参阅 PCIe 规范。

4.21.1 PCI 功能之间的配置共享

    Configuration sharing among PCI functions

   xHC 包含一个物理 PCIe 内核接口。在正常模式下,xHCI 的设计使得所有 USB 设备(设备插槽 0-n)都出现在单个功能中。在虚拟化模式下,xHCI 的设计使其显示为不同的虚拟功能,其中每个 USB 设备(设备插槽 0-n)都可以专门映射到特定的虚拟功能。在正常情况下,xHCI 除其他寄存器外还实现了 PCIe 设备头空间,如第 5.2 节所述。在虚拟化情况下,VMM 通过模拟实现 PCIe 设备头空间。

4.21.2 总线主控使能 (BME)

    Bus Master Enable (BME)

    系统软件有时可能需要禁用 xHC 的总线主控功能。在 PCI 系统中,这可以通过将 PCI 配置寄存器空间中的设备控制寄存器的总线主控启用 (BME) 位设置为“0”来实现。在系统软件通过清除 BME 位来禁用总线主控活动之前,xHC 应处于暂停状态,即,将运行/停止 (R/S) 位设置为“0”,并将 HCHalted (HCH) 验证为“1”。如果在 xHC 运行时将 BME 位设置为“0”,则 xHC 可能会将此视为主机控制器错误,断言 HCE(“1”)并立即停止(R/S =“0”和 HCH =“1”)。从此状态恢复将需要 HCRST。有关更多信息,请参阅内部错误部分。

4.22 xHCI 扩展功能(xHCI Extended Capabilities)

4.22.1 预操作系统到操作系统切换同步

    Pre-OS to OS Handoff Synchronization

    系统配置可能包括 BIOS(本文也称为操作系统前软件)对 xHC 控制的支持。操作系统切换同步功能提供了允许 BIOS 启用 SMI 对 xHC 事件的支持的机制,以及一组用于实现信号量以同步 xHC 所有权变更的寄存器。切换机制应清晰准确,每个参与者都应遵守下面定义的协议。否则,两个软件代理将认为它们各自拥有 xHC 的独占所有权并尝试同时使用控制器。

   操作系统切换同步(OS Handoff Synchronization) xHCI 扩展功能包括 xHC MMIO 空间中的两个连续的 32 位寄存器。第一个寄存器是 USB 传统支持扩展功能寄存器 (USBLEGSUPUSB Legacy Support Extended Capability),有关字段定义,请参阅第 7.1.1 节。该寄存器是标准 xHCI 扩展功能指针,包括 xHCI 扩展功能 ID 字段和指向下一个 xHCI 扩展功能的链接。

   该寄存器的高 16 位包含所有权信号量。一个信号量用于操作系统 (OS),一个用于 BIOS。这些信号量可读可写。这些字段位于相邻字节中,这允许每个代理(OS 或 BIOS)更新其各自的信号量,而不会覆盖其他所有权信号量。

   第二个 32 位寄存器是 USB 传统支持控制/状态寄存器 (USBLEGCTLSTSUSB Legacy Support Control/Status),有关字段定义,请参阅第 7.1.2 节。该寄存器定义了一组 BIOS 可用于启用 SMI 的控制位和一组只读位,这些位隐藏了 USBSTS 寄存器中的部分位。被隐藏的特定 USBSTS 寄存器位代表可以检测和启用以生成中断的所有 xHC 事件。 USBLEGCTLSTS 寄存器为 BIOS 提供了一种机制,将所有 xHC 事件、所有必要的重新配置事件和 OS 所有权请求映射到 SMI。

4.22.2 调试能力运行模型(Debug Capability Operational Model)

    请参阅 第 7.6 节。

4.22.3 虚拟化(Virtualization)

    请参阅第 8 章。

   
 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值