6.2. 设备配置对象
本节描述向 OSPM 提供设备特定信息并允许 OSPM 配置设备操作和资源利用的对象。
OSPM 使用设备配置对象为通过 ACPI 枚举的设备配置硬件资源。设备配置对象提供有关当前和可能的资源需求、共享资源之间关系以及配置硬件资源的方法的信息。
注
这些对象只能为无法通过任何其他硬件标准(如 PCI、PCMCIA 等)进行配置的设备提供。
当 OSPM 枚举一个设备时,它会调用 _PRS 来确定该设备的资源需求。它也可能调用 _CRS 来查找该设备当前的资源设置。利用这些信息,即插即用系统确定设备应消耗哪些资源,并通过调用设备的 _SRS 控制方法来设置这些资源。
在 ACPI 中,设备可以消耗资源(例如,传统键盘)、提供资源(例如,专有 PCI 桥),或者两者兼有。除非另有说明,否则设备的资源被假定为取自设备层次结构中该设备之上最近的匹配资源。
然而,有些资源可能会在多个设备之间共享。为描述这种情况,共享某一资源的设备(资源消费者)必须使用“大资源数据类型”中描述的扩展资源描述符(0x7-0xA)。这些描述符指向单个设备对象(资源生产者),该对象在其 _PRS 中声明该共享资源。这使 OSPM 能够清楚地理解系统中的资源依赖关系,并且在需要更改资源时将所有相关设备一起移动。此外,这还允许 OSPM 仅在消耗该资源的设备出现时,才将资源分配给资源生产者。
设备配置对象列在下表中。
表 6.6 设备配置对象
| 对象 | 描述 |
|---|---|
| _CCA | 缓存一致性属性——指定设备及其后代是否支持硬件管理的缓存一致性。 |
| _CDM | 指定处理器时钟域的对象。 |
| _CRS | 指定设备当前资源设置的对象,或生成此类对象的控制方法。 |
| _DIS | 禁用设备的控制方法。 |
| _DMA | 指定设备用于 DMA 事务的当前资源的对象。 |
| _DSD | 求值为设备特定信息的对象 |
| _FIX | 用于提供 FADT 中定义的固定硬件寄存器块与实现这些固定硬件寄存器的设备之间对应关系的对象。 |
| _GSB | 为热插拔的 I/O APIC 设备提供全局系统中断基址的对象。 |
| _HMA | 提供更新后的 HMAT 结构的对象。 |
| _HPP | 指定在配置插入热插拔插槽中的 PCI 设备或系统启动时对 PCI 设备进行初始配置时使用的缓存行大小、延迟计时器、SERR 使能和 PERR 使能值的对象。 |
| _HPX | 在配置插入热插拔插槽中的 PCI 设备或系统启动时对 PCI 设备进行初始配置时提供设备参数的对象。取代 _HPP。 |
| _MAT | 求值为中断控制器结构缓冲区的对象。 |
| _OSC | OSPM 求值的对象,用于向平台传达特定的软件支持/能力,使平台能够据此适当地配置自身。 |
| _PRS | 指定设备可能的资源设置的对象,或生成此类对象的控制方法。 |
| _PRT | 指定 PCI 中断路由表的对象。 |
| _PXM | 为设备指定接近域的对象。 |
| _SLI | 为系统局部性提供更新后的距离信息的对象。 |
| _SRS | 设置设备配置的控制方法。 |
小节
- 6.2.1. _CDM(时钟域)
- 6.2.2. _CRS(当前资源设置)
- 6.2.3. _DIS(禁用)
- 6.2.4. _DMA(直接内存访问)
- 6.2.5. _DSD(设备特定数据)
- 6.2.6. _FIX(固定寄存器资源提供程序)
- 6.2.7. _GSB(全局系统中断基址)
- 6.2.8. _HPP(热插拔参数)
- 6.2.9. _HPX(热插拔参数扩展)
- 6.2.10. _MAT(多个 APIC 表条目)
- 6.2.11. _OSC(操作系统能力)
- 6.2.12. _PRS(可能的资源设置)
- 6.2.13. _PRT(PCI 路由表)
- 6.2.14. _PXM(邻近性)
- 6.2.15. _SLI(系统局部性信息)
- 6.2.16. _SRS(设置资源设置)
- 6.2.17. _CCA(缓存一致性属性)
- 6.2.18. _HMA(异构内存属性)