ACPI 表¶
接下来的列表中讨论了对各个 ACPI 表的期望。
如果使用了节号,则它指的是定义该对象的 ACPI 规范中的节号。如果使用了“签名保留”(Signature Reserved),则表签名(表的前四个字节)是该表中唯一被规范识别的部分,而实际的表是在 UEFI 论坛之外定义的(参见规范的第 5.2.6 节)。
对于 arm64 上的 ACPI,表还分为以下几类
必需的(Required):DSDT, FADT, GTDT, MADT, MCFG, RSDP, SPCR, XSDT
建议的(Recommended):BERT, EINJ, ERST, HEST, PCCT, SSDT
可选的(Optional):AGDI, BGRT, CEDT, CPEP, CSRT, DBG2, DRTM, ECDT, FACS, FPDT, HMAT, IBFT, IORT, MCHI, MPAM, MPST, MSCT, NFIT, PMTT, PPTT, RASF, SBST, SDEI, SLIT, SPMI, SRAT, STAO, TCPA, TPM2, UEFI, XENV
不支持的(Not supported):AEST, APMT, BOOT, DBGP, DMAR, ETDT, HPET, IVRS, LPIT, MSDM, OEMx, PDTT, PSDT, RAS2, RSDT, SLIC, WAET, WDAT, WDRT, WPBT
表 (Table) |
ARMv8 Linux 的用法 |
|---|---|
AEST |
签名保留 (signature == “AEST”) Arm 错误源表 此表向操作系统通知系统中任何符合 Arm RAS 架构的错误节点。 |
AGDI |
签名保留 (signature == “AGDI”) Arm 通用诊断转储和重置设备接口表 此表描述了一个不可屏蔽事件,平台固件使用该事件来请求操作系统生成诊断转储并重置设备。 |
APMT |
签名保留 (signature == “APMT”) Arm 性能监视表 此表描述了系统中组件实现的 PMU 支持的属性。 |
BERT |
第 18.3 节 (signature == “BERT”) 引导错误记录表 如果平台提供 RAS 支持,则必须提供此表。建议提供此表。 |
BOOT |
签名保留 (signature == “BOOT”) 简单引导标志表 微软专有表,将不被支持。 |
BGRT |
第 5.2.22 节 (signature == “BGRT”) 引导图形资源表 可选,当前不支持,对于 ARM 服务器没有实际的使用场景。 |
CEDT |
签名保留 (signature == “CEDT”) CXL 早期发现表 此表允许操作系统发现任何 CXL 主桥及主桥寄存器。 |
CPEP |
第 5.2.18 节 (signature == “CPEP”) 已纠正平台错误轮询表 可选,当前不支持,并且在 ARM 兼容硬件可用且规范做适当修改之前不建议使用。 |
CSRT |
签名保留 (signature == “CSRT”) 核心系统资源表 可选,当前不支持。 |
DBG2 |
签名保留 (signature == “DBG2”) 调试端口表 2 许可证已更改,应当可以使用。如果在命令行中用作替代 earlycon=<device>,则为可选。 |
DBGP |
签名保留 (signature == “DBGP”) 调试端口表 微软专有表,将不被支持。 |
DSDT |
第 5.2.11.1 节 (signature == “DSDT”) 差分系统描述表 需要 DSDT;另请参见 SSDT。 ACPI 表只能包含一个 DSDT,但可以包含一个或多个可选的 SSDT。每个 SSDT 只能向 ACPI 命名空间添加内容,而不能修改或替换 DSDT 中的任何内容。 |
DMAR |
签名保留 (signature == “DMAR”) DMA 重映射表 x86 专用表,将不被支持。 |
DRTM |
签名保留 (signature == “DRTM”) 动态度量信任根表 可选,当前不支持。 |
ECDT |
第 5.2.16 节 (signature == “ECDT”) 嵌入式控制器描述表 可选,当前不支持,但当且仅当使用 GPE_BIT 字段来表示 IRQ 号时,可以在 ARM 上使用,因为在硬件精简模式下未定义 GPE 块。这需要在 ACPI 规范中进行修改。 |
EINJ |
第 18.6 节 (signature == “EINJ”) 错误注入表 该表对于测试平台对错误条件的响应非常有用;它允许向系统注入错误,就好像该错误实际发生了一样。但是,此表不应随生产系统一起发布;它应仅在测试期间使用 ACPICA 工具动态加载和执行。 |
ERST |
第 18.5 节 (signature == “ERST”) 错误记录序列化表 在支持 RAS 的平台上,如果不是基于 UEFI 的,则必须提供此表;如果是基于 UEFI 的,则可以提供此表。当此表不存在时,将利用 UEFI 运行时服务将硬件错误信息保存到持久存储中并从中检索。 |
ETDT |
签名保留 (signature == “ETDT”) 事件定时器描述表 已过时的表,将不被支持。 |
FACS |
第 5.2.10 节 (signature == “FACS”) 固件 ACPI 控制结构 此表不太会有太大用处。如果提供了该表,将**不会**使用全局锁(Global Lock),因为它不属于硬件精简配置文件的一部分,并且只有 64 位地址字段会被认为是有效的。 |
FADT |
第 5.2.9 节 (signature == “FACP”) 固定 ACPI 描述表 arm64 必需。 必须设置 HW_REDUCED_ACPI 标志。当设置了 HW_REDUCED_ACPI 时应被忽略的所有字段预期都应设置为零。 如果提供了 FACS 表,则应使用 X_FIRMWARE_CTRL 字段,而不是 FIRMWARE_CTRL。 如果使用了 PSCI(建议使用),请确保正确填写 ARM_BOOT_ARCH —— 设置了 PSCI_COMPLIANT 标志,并且根据需要设置或取消设置 PSCI_USE_HVC(参见表 5-37)。 对于同样必需的 DSDT,应使用 X_DSDT 字段,而不是 DSDT 字段。 |
FPDT |
第 5.2.23 节 (signature == “FPDT”) 固件性能数据表 可选,对于引导性能分析很有用。 |
GTDT |
第 5.2.24 节 (signature == “GTDT”) 通用定时器描述表 arm64 必需。 |
HEST |
第 18.3.2 节 (signature == “HEST”) 硬件错误源表 已定义 ARM 专用的错误源;请使用这些源、PCI 类型(如类型 6 (AER 根端口)、7 (AER 端点) 或 8 (AER 网桥))或使用类型 9 (通用硬件错误源)。当且仅当在 arm64 上使用可信固件时,才可能实现固件优先错误处理。 如果平台提供 RAS 支持,则必须提供此表。建议提供此表。 |
HMAT |
第 5.2.28 节 (signature == “HMAT”) 异构内存属性表 此表描述了与内存邻近域相关的内存属性,例如内存端缓存属性、带宽和延迟详情。操作系统使用此信息来优化系统内存配置。 |
HPET |
签名保留 (signature == “HPET”) 高 Precision 事件定时器表 (High Precision Event timer Table) x86 专用表,将不被支持。 |
IBFT |
签名保留 (signature == “IBFT”) iSCSI 引导固件表 微软定义的表,支持情况待定。 |
IORT |
签名保留 (signature == “IORT”) 输入输出重映射表 arm64 专用表,为了描述 IO 拓扑、SMMU 和 GIC ITS,以及这些各种组件如何连接在一起(例如识别哪些组件位于哪些 SMMU/ITS 之后),该表是必需的。此表仅在某些 SBSA 平台上是必需的(例如,当使用 GICv3-ITS 和 SMMU 时);在 SBSA Level 0 平台上,它依然是可选的。 |
IVRS |
签名保留 (signature == “IVRS”) I/O 虚拟化报告结构 x86_64 (AMD) 专用表,将不被支持。 |
LPIT |
签名保留 (signature == “LPIT”) 低功耗空闲表 截至 ACPI 5.1,这仍是 x86 专用表;从 ACPI 6.0 开始,ARM 平台上的处理器描述和电源状态应使用 DSDT 并定义处理器容器设备(_HID ACPI0010,第 8.4 节,更具体地说是 8.4.3 和 8.4.4 节)。 |
MADT |
第 5.2.12 节 (signature == “APIC”) 多 APIC 描述表 arm64 必需。只能使用 GIC 中断控制器结构(类型 0xA - 0xF)。 |
MCFG |
签名保留 (signature == “MCFG”) 内存映射配置空间 如果平台支持 PCI/PCIe,则需要 MCFG 表。 |
MCHI |
签名保留 (signature == “MCHI”) 管理控制器主机接口表 可选,当前不支持。 |
MPAM |
签名保留 (signature == “MPAM”) 内存分区和监控表 此表允许操作系统发现子系统实现的 MPAM 控制。 |
MPST |
第 5.2.21 节 (signature == “MPST”) 内存电源状态表 可选,当前不支持。 |
MSCT |
第 5.2.19 节 (signature == “MSCT”) 最大系统特征表 可选,当前不支持。 |
MSDM |
签名保留 (signature == “MSDM”) 微软数据管理表 微软专有表,将不被支持。 |
NFIT |
第 5.2.25 节 (signature == “NFIT”) NVDIMM 固件接口表 可选,当前不支持。 |
OEMx |
仅 “OEMx” 签名 OEM 专用表 所有以“OEM”签名开头的表都保留供 OEM 使用。由于这些表不用于通用目的,而是限于非常特定的最终用户,因此不建议使用它们,并且 arm64 内核不支持它们。 |
PCCT |
第 14.1 节 (signature == “PCCT”) 平台通信通道表 建议在 arm64 上使用;当使用 CPPC 控制平台处理器的性能和功耗时,建议使用 PCC。 |
PDTT |
第 5.2.29 节 (signature == “PDTT”) 平台调试触发表 此表描述用于收集非架构特性调试日志的 PCC 通道。 |
PMTT |
第 5.2.21.12 节 (signature == “PMTT”) 平台内存拓扑表 可选,当前不支持。 |
PPTT |
第 5.2.30 节 (signature == “PPTT”) 处理器属性拓扑表 此表提供处理器和缓存拓扑。 |
PSDT |
第 5.2.11.3 节 (signature == “PSDT”) 持久系统描述表 已过时的表,将不被支持。 |
RAS2 |
第 5.2.21 节 (signature == “RAS2”) RAS 特性 2 表 此表为平台中实现的 RAS 功能提供接口。 |
RASF |
第 5.2.20 节 (signature == “RASF”) RAS 特性表 可选,当前不支持。 |
RSDP |
第 5.2.5 节 (signature == “RSD PTR”) 根系统描述指针 arm64 必需。 |
RSDT |
第 5.2.7 节 (signature == “RSDT”) 根系统描述表 由于此表只能提供 32 位地址,因此它在 arm64 上已被弃用,并且不会被使用。如果提供,它将被忽略。 |
SBST |
第 5.2.14 节 (signature == “SBST”) 智能电池子系统表 可选,当前不支持。 |
SDEI |
签名保留 (signature == “SDEI”) 软件委派异常接口表 此表公布了 SDEI 接口的存在。 |
SLIC |
签名保留 (signature == “SLIC”) 软件许可表 微软专有表,将不被支持。 |
SLIT |
第 5.2.17 节 (signature == “SLIT”) 系统局部性距离信息表 通常为可选,但对于 NUMA 系统是必需的。 |
SPCR |
签名保留 (signature == “SPCR”) 串口控制台重定向表 arm64 必需。 |
SPMI |
签名保留 (signature == “SPMI”) 服务器平台管理接口表 可选,当前不支持。 |
SRAT |
第 5.2.16 节 (signature == “SRAT”) 系统资源亲和性表 可选,但如果使用,则仅读取 GICC 亲和性结构。为了支持 arm64 NUMA,必须提供此表。 |
SSDT |
第 5.2.11.2 节 (signature == “SSDT”) 辅助系统描述表 这些表是 DSDT 的延续;建议将它们用于可以添加到运行中的系统的设备,也可以用于将设备描述划分为更容易管理的小块。 SSDT 只能向 ACPI 命名空间**添加**内容。它不能修改或替换命名空间中已存在的设备描述。 然而,这些表是可选的。ACPI 表只能包含一个 DSDT,但可以包含许多 SSDT。 |
STAO |
签名保留 (signature == “STAO”) _STA 覆盖表 可选,但仅在虚拟化环境中为了对客户机操作系统隐藏设备时才是必要的。 |
TCPA |
签名保留 (signature == “TCPA”) 可信计算平台联盟表 可选,当前不支持,并且可能需要修改才能与 arm64 完全互操作。 |
TPM2 |
签名保留 (signature == “TPM2”) 可信平台模块 2 表 可选,当前不支持,并且可能需要修改才能与 arm64 完全互操作。 |
UEFI |
签名保留 (signature == “UEFI”) UEFI ACPI 数据表 可选,当前不支持。目前对于 arm64 尚无已知的使用场景。 |
WAET |
签名保留 (signature == “WAET”) Windows ACPI 仿真设备表 微软专有表,将不被支持。 |
WDAT |
签名保留 (signature == “WDAT”) 看门狗动作表 微软专有表,将不被支持。 |
WDRT |
签名保留 (signature == “WDRT”) 看门狗资源表 微软专有表,将不被支持。 |
WPBT |
签名保留 (signature == “WPBT”) Windows 平台二进制表 微软专有表,将不被支持。 |
XENV |
签名保留 (signature == “XENV”) Xen 项目表 可选,目前仅由 Xen 使用。 |
XSDT |
第 5.2.8 节 (signature == “XSDT”) 扩展系统描述表 arm64 必需。 |
ACPI 对象¶
接下来的列表中展示了对可能使用的各个 ACPI 对象的期望;对于下面未明确提及的任何对象,应根据特定平台或特定子系统(例如电源管理或 PCI)的需要进行使用。
名称 |
节 |
ARMv8 Linux 的用法 |
|---|---|---|
_CCA |
6.2.17 |
必须为 arm64 上的所有总线主设备定义此方法 —— 对于此类设备是否具有缓存一致性,没有任何默认假设。_CCA 值由这些设备的所有后代继承,因此不需要重复定义。在 arm64 上如果没有 _CCA,内核将不知道如何为该设备设置 DMA。 注意:此方法提供默认的缓存一致性属性;然而,SMMU 的存在可用于修改这一点。例如,主设备默认可以是非一致的,但通过适当的 SMMU 配置可以使其变为一致的(参见 IORT 规范表 17,ARM 文档 DEN 0049B)。 |
_CID |
6.1.2 |
按需使用,另请参见 _HID。 |
_CLS |
6.1.3 |
按需使用,另请参见 _HID。 |
_CPC |
8.4.7.1 |
按需使用,电源管理专用。在 arm64 上建议使用 CPPC。 |
_CRS |
6.2.2 |
arm64 必需。 |
_CSD |
8.4.2.2 |
按需使用,仅与 _CST 结合使用。 |
_CST |
8.4.2.1 |
建议使用低功耗空闲状态 (8.4.4) 而不是 C 状态。 |
_DDN |
6.1.4 |
此字段可用于设备名称。但是,它是针对 DOS 设备名称(例如 COM1)设计的,因此在跨操作系统使用时要小心。 |
_DSD |
6.2.5 |
需谨慎使用。如果使用此对象,请尽量在设备属性 UUID 已定义的约束范围内使用。只有在极少数情况下才需要创建新的 _DSD UUID。 无论哪种情况,请提交 _DSD 定义以及任何驱动程序补丁以供讨论,特别是当使用设备属性时。如果没有相应的 _DSD 描述,驱动程序将不被认为是完整的。一旦得到内核维护者的批准,必须向 UEFI 论坛注册 UUID 或设备属性;由于可能会有不止一个操作系统注册条目,这可能会引发一些反复修改。 |
_DSM |
9.1.1 |
请勿使用此方法。它未经标准化,返回值文档记录不佳,并且目前是常见的错误来源。 |
_GL |
5.7.1 |
此对象不能在硬件精简模式下使用,因此不应在 arm64 上使用。 |
_GLK |
6.5.7 |
此对象要求定义全局锁;arm64 上没有全局锁,因为它在硬件精简模式下运行。因此,请勿在 arm64 上使用此对象。 |
_GPE |
5.3.1 |
此命名空间仅供 x86 使用。请勿在 arm64 上使用它。 |
_HID |
6.1.5 |
这是设备探测中使用的主要对象,尽管也可以使用 _CID 和 _CLS。 |
_INI |
6.5.1 |
并非必需,但当 UEFI 将设备留在一个可能并非驱动程序开始探测前所期望的状态时,它在设置设备时会很有用。 |
_LPI |
8.4.4.3 |
建议在 arm64 上与处理器定义(_HID ACPI0010)一起使用。另请参见 _RDI。 |
_MLS |
6.1.7 |
强烈建议用于国际化。 |
_OFF |
7.2.2 |
建议为任何可以开启或关闭的设备定义此方法。 |
_ON |
7.2.3 |
建议为任何可以开启或关闭的设备定义此方法。 |
_OS |
5.7.3 |
此方法默认返回“Linux”(这是 Linux 上宏 ACPI_OS_NAME 的值)。可以使用命令行参数 acpi_os=<string> 将其设置为其他值。 |
_OSC |
6.2.11 |
此方法可以是 ACPI 中的全局方法(即 _SB._OSC),也可以与特定设备关联(例如 _SB.DEV0._OSC),或者两者兼有。当用作全局方法时,仅允许使用 ACPI 规范中发布的功能。当用作设备特定方法时,必须使用为使用 _DSD 描述的过程来创建 _OSC 定义;不允许在进程外使用 _OSC。也就是说,将设备特定的 _OSC 用法描述作为内核驱动程序提交的一部分进行提交,获得内核社区的批准,然后将其注册到 UEFI 论坛。 |
_OSI |
5.7.2 |
在 ARM64 上已弃用。就 ACPI 固件而言,不得使用 _OSI 来确定正在使用何种系统或提供了什么功能。应改用 _OSC 方法。 |
_PDC |
8.4.1 |
已弃用,请勿在 arm64 上使用。 |
_PIC |
5.8.1 |
不应使用此方法。在 arm64 上,唯一可用的中断模型是 GIC。 |
_PR |
5.3.1 |
此命名空间仅供传统系统上的 x86 使用。请勿在 arm64 上使用它。 |
_PRT |
6.2.13 |
作为所有 PCI 根设备定义的一部分是必需的。 |
_PRx |
7.3.8-11 |
按需使用;电源管理专用。如果定义了 _PR0,则必须同时定义 _PR3。 |
_PSx |
7.3.2-5 |
按需使用;电源管理专用。如果定义了 _PS0,则必须同时定义 _PS3。如果需要调整时钟或稳压器以与功耗保持一致,请在这些方法中进行更改。 |
_RDI |
8.4.4.4 |
建议在 arm64 上与处理器定义(_HID ACPI0010)一起使用。这只能与 _LPI 结合使用。 |
_REV |
5.7.4 |
始终返回支持的最新 ACPI 版本。 |
_SB |
5.3.1 |
arm64 必需;所有设备都必须在此命名空间中定义。 |
_SLI |
6.2.15 |
当使用 SLIT 表时,建议使用此项。 |
_STA |
6.3.7, 7.2.4 |
建议为任何可以开启或关闭的设备定义此方法。另请参见提供覆盖以在虚拟化环境中隐藏设备的 STAO 表。 |
_SRS |
6.2.16 |
按需使用;另请参见 _PRS。 |
_STR |
6.1.10 |
建议用于向最终用户传达设备名称;这比使用 _DDN 更好。 |
_SUB |
6.1.9 |
按需使用;更倾向于使用 _HID 或 _CID。 |
_SUN |
6.1.11 |
按需使用,但推荐使用。 |
_SWS |
7.4.3 |
按需使用;电源管理专用;在 arm64 上使用可能需要修改规范。 |
_UID |
6.1.12 |
建议用于区分同类设备;如果完全可能,请定义它。 |
ACPI 事件模型¶
请勿使用 GPE 块设备;arm64 使用的硬件精简配置文件不支持这些设备。由于没有为 ARM 平台定义可用的 GPE 块,因此必须通过不同的方式发出 ACPI 事件信号。
有两个选项:GPIO 信令中断(第 5.6.5 节)和中断信令事件(第 5.6.9 节)。中断信令事件是 ACPI 6.1 规范中的一项新功能。在给定平台上可以使用其中一个或两个,具体使用哪个可能取决于特定 SoC 中的限制。如果可能,建议使用中断信令事件。
ACPI 处理器控制¶
ACPI 规范的第 8 节在 6.0 版本中发生了重大变化。现在应将处理器定义为带有 _HID ACPI0007 的 Device 对象;请勿在 ASL 中使用已弃用的 Processor 语句。所有多处理器系统还应定义处理器层次结构,这通过处理器容器设备(参见第 8.4.3.1 节,_HID ACPI0010)来实现;请勿使用处理器聚合器设备(第 8.5 节)来描述处理器拓扑。规范的第 8.4 节描述了这些对象定义的语义及其相互关系。
最重要的是,定义的处理器层次结构还定义了平台可用的低功耗空闲状态,以及确定哪些处理器可以开启或关闭的规则及控制这些规则的环境。如果没有此信息,处理器将以 UEFI 留下的任何电源状态运行。
还要注意,定义的处理器 Device 对象与 MADT 中关于 GIC 的条目预期应保持同步。Device 对象的 _UID 必须与 MADT 中使用的处理器 ID 相对应。
建议在 arm64 上使用 CPPC (8.4.5) 作为处理器性能控制的主要模型。C 状态和 P 状态在未来某个时候可能会可用,但当前的大多数设计工作似乎更倾向于 CPPC。
此外,ARMv8 SoC 提供功能完备的 PSCI 实现至关重要;这将是 ACPI 支持的用于控制 CPU 电源状态的唯一机制。使用 ACPI 停车协议引导辅助 CPU 是可能的,但不鼓励这样做,因为 ARM 服务器只支持 PSCI。
ACPI 系统地址映射接口¶
在 ACPI 规范的第 15 节中,提到了几种方法作为向内核传递内存资源信息的可能机制。对于 arm64,我们仅支持通过 UEFI 使用 ACPI 引导,因此 UEFI GetMemoryMap() 引导服务将是唯一使用的机制。
ACPI 平台错误接口 (APEI)¶
支持的 APEI 表如上所述。
APEI 要求在 ARMv8 上具备 SCI 和 NMI 的等效项。SCI 用于通知 OSPM 已发生错误但可以纠正且系统可以继续正常运行(即使可能性能下降)。NMI 用于指示无法纠正且需要立即处理的致命错误。
由于没有 x86 SCI 或 NMI 的直接等效项,arm64 对这些的处理略有不同。SCI 作为高优先级中断处理;鉴于报告的是已纠正(或可纠正)的错误,这就足够了。NMI 被模拟为可能具有的最高优先级中断。这意味着必须谨慎使用,因为可能存在处于更高特权级别甚至与模拟 NMI 具有相同优先级的中断。在 Linux 中,通常不应该出现这种情况,但应该意识到它可能会发生。
ARM64 上不支持的 ACPI 对象¶
虽然这在未来可能会改变,但有几类对象虽然可以定义,但目前对 ARM 服务器来说并不普遍需要。其中一些对象具有 x86 等效项,并且在 ARM 服务器中实际上可能是有意义的。然而,目前要么没有可用的硬件,要么甚至还没有非 ARM 的实现。因此,目前不支持它们。
不支持以下类别的对象
第 9.2 节:环境光传感器设备
第 9.3 节:电池设备
第 9.4 节:机盖(例如笔记本电脑机盖)
第 9.8.2 节:IDE 控制器
第 9.9 节:软盘控制器
第 9.10 节:GPE 块设备
第 9.15 节:PC/AT RTC/CMOS 设备
第 9.16 节:用户存在检测设备
第 9.17 节:I/O APIC 设备;所有 GIC 必须可通过 MADT 枚举
第 9.18 节:时间和闹钟设备(参见 9.15)
第 10 节:电源和功率计设备
第 11 节:热管理
第 12 节:嵌入式控制器接口
第 13 节:SMBus 接口
这也意味着不支持以下对象
名称 |
节 |
名称 |
节 |
|---|---|---|---|
_ALC |
9.3.4 |
_FDM |
9.10.3 |
_ALI |
9.3.2 |
_FIX |
6.2.7 |
_ALP |
9.3.6 |
_GAI |
10.4.5 |
_ALR |
9.3.5 |
_GHL |
10.4.7 |
_ALT |
9.3.3 |
_GTM |
9.9.2.1.1 |
_BCT |
10.2.2.10 |
_LID |
9.5.1 |
_BDN |
6.5.3 |
_PAI |
10.4.4 |
_BIF |
10.2.2.1 |
_PCL |
10.3.2 |
_BIX |
10.2.2.1 |
_PIF |
10.3.3 |
_BLT |
9.2.3 |
_PMC |
10.4.1 |
_BMA |
10.2.2.4 |
_PMD |
10.4.8 |
_BMC |
10.2.2.12 |
_PMM |
10.4.3 |
_BMD |
10.2.2.11 |
_PRL |
10.3.4 |
_BMS |
10.2.2.5 |
_PSR |
10.3.1 |
_BST |
10.2.2.6 |
_PTP |
10.4.2 |
_BTH |
10.2.2.7 |
_SBS |
10.1.3 |
_BTM |
10.2.2.9 |
_SHL |
10.4.6 |
_BTP |
10.2.2.8 |
_STM |
9.9.2.1.1 |
_DCK |
6.5.2 |
_UPD |
9.16.1 |
_EC |
12.12 |
_UPP |
9.16.2 |
_FDE |
9.10.1 |
_WPC |
10.5.2 |
_FDI |
9.10.2 |
_WPP |
10.5.3 |