ACPI 中文文档ACPI 中文文档
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
  • 第 9 章

    • 总览
    • 9.1. 设备对象名称冲突
    • 9.2. \_SI 系统指示器
    • 9.3. 环境光传感器设备
    • 9.4. 电池设备
    • 9.5. 控制方法盖板设备
    • 9.6. 控制方法电源按钮和睡眠按钮设备
    • 9.7. 嵌入式控制器设备
    • 9.8. 通用容器设备
    • 9.9. ATA 控制器设备
    • 9.10. 软盘控制器设备对象
    • 9.11. GPE 块设备
    • 9.12. 模块设备
    • 9.13. 内存设备
    • 9.14. _UPC(USB 端口能力)
    • 9.15. PC/AT RTC/CMOS 设备
    • 9.16. 用户存在检测设备
    • 9.17. I/O APIC 设备
    • 9.18. 时间和报警设备
    • 9.19. 通用按钮设备
    • 9.20. NVDIMM 设备
      • 9.20.1. 概述
      • 9.20.2. NVDIMM 根设备
      • 9.20.3. NVDIMM 设备
      • 9.20.4. 示例
      • 9.20.5. 加载 NVDIMM 驱动程序
      • 9.20.6. 热插拔支持
      • 9.20.7. NVDIMM 根设备 _DSMs
      • 9.20.8. NVDIMM 设备方法

9.15. PC/AT RTC/CMOS 设备

大多数计算机都包含一个 RTC 设备,该设备还包含由线性字节数组表示的电池供电 RAM。对于兼容 IBM PC/AT 中 Motorola RTC/CMOS 设备的设备,存在一种标准机制可用于访问其前 64 字节的非易失性 RAM。较新的设备通常至少包含 128 字节的电池供电 RAM。已为这些设备分配了新的 PNP ID。

电池供电 RAM 中的某些字节具有预定义的值。特别是,时间、日期、月份、年份、世纪、闹钟时间以及 RTC 周期性中断为只读。

9.15.1. 与 PC/AT 兼容的 RTC/CMOS 设备 (PNP0B00)

标准的 PC/AT 兼容 RTC/CMOS 设备由 PnP ID PNP0B00 表示。如果 ACPI 平台使用与该设备兼容的设备,则可以在其 ACPI 命名空间中对此进行描述。随后 ASL 可以将其作为一个线性的 64 字节数组进行读写。如果使用 PNP0B00,则 ASL 和 ACPI 操作系统不得假定存在任何 CMOS 扩展。

注

这意味着,固定 ACPI 描述表 中的 CENTURY 字段只能包含 0 到 63 之间的值。

示例:

以下是如何描述该设备的一个示例:

Device (RTC0) {
   Name(_HID, EISAID("PNP0B00"))
   Name (_FIX, Package(1) { EISAID("PNP0B00") } )
   Name(_CRS, ResourceTemplate() {
      IO(Decode16, 0x70, 0x70, 0x1, 0x2)
   }

   OperationRegion(CMS1, SystemCMOS, 0, 0x40)

   Field(CMS1, ByteAcc, NoLock, Preserve) {
      CM00, 8,
      , 256,
      CM01, 8,
      CM02, 16,
      , 216,
      CM03, 8
   }
}

9.15.2. Intel PIIX4 兼容 RTC/CMOS 设备 (PNP0B01)

Intel PIIX4 包含一个与 PC/AT 中设备兼容的 RTC/CMOS 设备。但它包含 256 字节的非易失性 RAM。前 64 字节通过与 PC/AT 中 64 字节相同的机制访问。上面的 192 字节通过仅在 Intel 芯片上使用的接口访问。(详见 Intel® 82371AB PIIX4 规范。)

任何包含该设备或与其兼容设备的平台都可以使用 PnP ID PNP0B01。这将允许 ACPI 兼容的 OS 识别该 RTC/CMOS 设备为使用 PIIX4 的编程接口。因此,ASL 可使用该设备读写的字节数组长度为 256 字节。

注

这也意味着,固定 ACPI 描述表 中的 CENTURY 字段可以包含 0 到 255 之间的值。

示例:

以下是如何描述该设备的一个示例:

Device (RTC0) {
   Name(_HID, EISAID("PNP0B01"))

Name (_FIX, Package(1) {
EISAID("PNP0B01") }
)
   Name(_CRS, ResourceTemplate() {
      IO(Decode16, 0x70, 0x70, 0x1, 0x2)
      IO(Decode16, 0x72, 0x72, 0x1, 0x2)
   }
   OperationRegion(CMS1, SystemCMOS, 0, 0x100)

   Field(CMS1, ByteAcc, NoLock, Preserve) {
      AccessAs(ByteAcc, 0),
      CM00, 8,
      ,256,
      CM01, 8,
      CM02, 16,
      , 224,
      CM03, 8,
      , 184,
      CENT, 8
}

9.15.3. Dallas Semiconductor 兼容 RTC/CMOS 设备 (PNP0B02)

Dallas Semiconductor RTC/CMOS 设备与 PC/AT 中的设备兼容,但它们包含 256 字节或更多的非易失性 RAM。前 64 字节通过与 PC/AT 中 64 字节相同的机制访问。更高地址的字节通过仅在 Dallas Semiconductor 芯片上使用的接口访问。

任何包含该设备或与其兼容设备的平台都可以使用 PnP ID PNP0B02。这将允许 ACPI 兼容的 OS 识别该 RTC/CMOS 设备为使用 Dallas Semiconductor 编程接口。因此,ASL 可使用该设备读写的字节数组长度为 256 字节。

这些设备的描述与上面的 PIIX4 示例类似,并且 FADT 的 CENTURY 字段也可以包含 0 到 255 之间的值。

Prev
9.14. _UPC(USB 端口能力)
Next
9.16. 用户存在检测设备