| =========== |
| ACPI Tables |
| =========== |
| |
| The expectations of individual ACPI tables are discussed in the list that |
| follows. |
| |
| If a section number is used, it refers to a section number in the ACPI |
| specification where the object is defined. If "Signature Reserved" is used, |
| the table signature (the first four bytes of the table) is the only portion |
| of the table recognized by the specification, and the actual table is defined |
| outside of the UEFI Forum (see Section 5.2.6 of the specification). |
| |
| For ACPI on arm64, tables also fall into the following categories: |
| |
| - Required: DSDT, FADT, GTDT, MADT, MCFG, RSDP, SPCR, XSDT |
| |
| - Recommended: BERT, EINJ, ERST, HEST, PCCT, SSDT |
| |
| - Optional: BGRT, CPEP, CSRT, DBG2, DRTM, ECDT, FACS, FPDT, IBFT, |
| IORT, MCHI, MPST, MSCT, NFIT, PMTT, RASF, SBST, SLIT, SPMI, SRAT, |
| STAO, TCPA, TPM2, UEFI, XENV |
| |
| - Not supported: BOOT, DBGP, DMAR, ETDT, HPET, IVRS, LPIT, MSDM, OEMx, |
| PSDT, RSDT, SLIC, WAET, WDAT, WDRT, WPBT |
| |
| ====== ======================================================================== |
| Table Usage for ARMv8 Linux |
| ====== ======================================================================== |
| BERT Section 18.3 (signature == "BERT") |
| |
| **Boot Error Record Table** |
| |
| Must be supplied if RAS support is provided by the platform. It |
| is recommended this table be supplied. |
| |
| BOOT Signature Reserved (signature == "BOOT") |
| |
| **simple BOOT flag table** |
| |
| Microsoft only table, will not be supported. |
| |
| BGRT Section 5.2.22 (signature == "BGRT") |
| |
| **Boot Graphics Resource Table** |
| |
| Optional, not currently supported, with no real use-case for an |
| ARM server. |
| |
| CPEP Section 5.2.18 (signature == "CPEP") |
| |
| **Corrected Platform Error Polling table** |
| |
| Optional, not currently supported, and not recommended until such |
| time as ARM-compatible hardware is available, and the specification |
| suitably modified. |
| |
| CSRT Signature Reserved (signature == "CSRT") |
| |
| **Core System Resources Table** |
| |
| Optional, not currently supported. |
| |
| DBG2 Signature Reserved (signature == "DBG2") |
| |
| **DeBuG port table 2** |
| |
| License has changed and should be usable. Optional if used instead |
| of earlycon=<device> on the command line. |
| |
| DBGP Signature Reserved (signature == "DBGP") |
| |
| **DeBuG Port table** |
| |
| Microsoft only table, will not be supported. |
| |
| DSDT Section 5.2.11.1 (signature == "DSDT") |
| |
| **Differentiated System Description Table** |
| |
| A DSDT is required; see also SSDT. |
| |
| ACPI tables contain only one DSDT but can contain one or more SSDTs, |
| which are optional. Each SSDT can only add to the ACPI namespace, |
| but cannot modify or replace anything in the DSDT. |
| |
| DMAR Signature Reserved (signature == "DMAR") |
| |
| **DMA Remapping table** |
| |
| x86 only table, will not be supported. |
| |
| DRTM Signature Reserved (signature == "DRTM") |
| |
| **Dynamic Root of Trust for Measurement table** |
| |
| Optional, not currently supported. |
| |
| ECDT Section 5.2.16 (signature == "ECDT") |
| |
| **Embedded Controller Description Table** |
| |
| Optional, not currently supported, but could be used on ARM if and |
| only if one uses the GPE_BIT field to represent an IRQ number, since |
| there are no GPE blocks defined in hardware reduced mode. This would |
| need to be modified in the ACPI specification. |
| |
| EINJ Section 18.6 (signature == "EINJ") |
| |
| **Error Injection table** |
| |
| This table is very useful for testing platform response to error |
| conditions; it allows one to inject an error into the system as |
| if it had actually occurred. However, this table should not be |
| shipped with a production system; it should be dynamically loaded |
| and executed with the ACPICA tools only during testing. |
| |
| ERST Section 18.5 (signature == "ERST") |
| |
| **Error Record Serialization Table** |
| |
| On a platform supports RAS, this table must be supplied if it is not |
| UEFI-based; if it is UEFI-based, this table may be supplied. When this |
| table is not present, UEFI run time service will be utilized to save |
| and retrieve hardware error information to and from a persistent store. |
| |
| ETDT Signature Reserved (signature == "ETDT") |
| |
| **Event Timer Description Table** |
| |
| Obsolete table, will not be supported. |
| |
| FACS Section 5.2.10 (signature == "FACS") |
| |
| **Firmware ACPI Control Structure** |
| |
| It is unlikely that this table will be terribly useful. If it is |
| provided, the Global Lock will NOT be used since it is not part of |
| the hardware reduced profile, and only 64-bit address fields will |
| be considered valid. |
| |
| FADT Section 5.2.9 (signature == "FACP") |
| |
| **Fixed ACPI Description Table** |
| Required for arm64. |
| |
| |
| The HW_REDUCED_ACPI flag must be set. All of the fields that are |
| to be ignored when HW_REDUCED_ACPI is set are expected to be set to |
| zero. |
| |
| If an FACS table is provided, the X_FIRMWARE_CTRL field is to be |
| used, not FIRMWARE_CTRL. |
| |
| If PSCI is used (as is recommended), make sure that ARM_BOOT_ARCH is |
| filled in properly - that the PSCI_COMPLIANT flag is set and that |
| PSCI_USE_HVC is set or unset as needed (see table 5-37). |
| |
| For the DSDT that is also required, the X_DSDT field is to be used, |
| not the DSDT field. |
| |
| FPDT Section 5.2.23 (signature == "FPDT") |
| |
| **Firmware Performance Data Table** |
| |
| Optional, not currently supported. |
| |
| GTDT Section 5.2.24 (signature == "GTDT") |
| |
| **Generic Timer Description Table** |
| |
| Required for arm64. |
| |
| HEST Section 18.3.2 (signature == "HEST") |
| |
| **Hardware Error Source Table** |
| |
| ARM-specific error sources have been defined; please use those or the |
| PCI types such as type 6 (AER Root Port), 7 (AER Endpoint), or 8 (AER |
| Bridge), or use type 9 (Generic Hardware Error Source). Firmware first |
| error handling is possible if and only if Trusted Firmware is being |
| used on arm64. |
| |
| Must be supplied if RAS support is provided by the platform. It |
| is recommended this table be supplied. |
| |
| HPET Signature Reserved (signature == "HPET") |
| |
| **High Precision Event timer Table** |
| |
| x86 only table, will not be supported. |
| |
| IBFT Signature Reserved (signature == "IBFT") |
| |
| **iSCSI Boot Firmware Table** |
| |
| Microsoft defined table, support TBD. |
| |
| IORT Signature Reserved (signature == "IORT") |
| |
| **Input Output Remapping Table** |
| |
| arm64 only table, required in order to describe IO topology, SMMUs, |
| and GIC ITSs, and how those various components are connected together, |
| such as identifying which components are behind which SMMUs/ITSs. |
| This table will only be required on certain SBSA platforms (e.g., |
| when using GICv3-ITS and an SMMU); on SBSA Level 0 platforms, it |
| remains optional. |
| |
| IVRS Signature Reserved (signature == "IVRS") |
| |
| **I/O Virtualization Reporting Structure** |
| |
| x86_64 (AMD) only table, will not be supported. |
| |
| LPIT Signature Reserved (signature == "LPIT") |
| |
| **Low Power Idle Table** |
| |
| x86 only table as of ACPI 5.1; starting with ACPI 6.0, processor |
| descriptions and power states on ARM platforms should use the DSDT |
| and define processor container devices (_HID ACPI0010, Section 8.4, |
| and more specifically 8.4.3 and 8.4.4). |
| |
| MADT Section 5.2.12 (signature == "APIC") |
| |
| **Multiple APIC Description Table** |
| |
| Required for arm64. Only the GIC interrupt controller structures |
| should be used (types 0xA - 0xF). |
| |
| MCFG Signature Reserved (signature == "MCFG") |
| |
| **Memory-mapped ConFiGuration space** |
| |
| If the platform supports PCI/PCIe, an MCFG table is required. |
| |
| MCHI Signature Reserved (signature == "MCHI") |
| |
| **Management Controller Host Interface table** |
| |
| Optional, not currently supported. |
| |
| MPST Section 5.2.21 (signature == "MPST") |
| |
| **Memory Power State Table** |
| |
| Optional, not currently supported. |
| |
| MSCT Section 5.2.19 (signature == "MSCT") |
| |
| **Maximum System Characteristic Table** |
| |
| Optional, not currently supported. |
| |
| MSDM Signature Reserved (signature == "MSDM") |
| |
| **Microsoft Data Management table** |
| |
| Microsoft only table, will not be supported. |
| |
| NFIT Section 5.2.25 (signature == "NFIT") |
| |
| **NVDIMM Firmware Interface Table** |
| |
| Optional, not currently supported. |
| |
| OEMx Signature of "OEMx" only |
| |
| **OEM Specific Tables** |
| |
| All tables starting with a signature of "OEM" are reserved for OEM |
| use. Since these are not meant to be of general use but are limited |
| to very specific end users, they are not recommended for use and are |
| not supported by the kernel for arm64. |
| |
| PCCT Section 14.1 (signature == "PCCT) |
| |
| **Platform Communications Channel Table** |
| |
| Recommend for use on arm64; use of PCC is recommended when using CPPC |
| to control performance and power for platform processors. |
| |
| PMTT Section 5.2.21.12 (signature == "PMTT") |
| |
| **Platform Memory Topology Table** |
| |
| Optional, not currently supported. |
| |
| PSDT Section 5.2.11.3 (signature == "PSDT") |
| |
| **Persistent System Description Table** |
| |
| Obsolete table, will not be supported. |
| |
| RASF Section 5.2.20 (signature == "RASF") |
| |
| **RAS Feature table** |
| |
| Optional, not currently supported. |
| |
| RSDP Section 5.2.5 (signature == "RSD PTR") |
| |
| **Root System Description PoinTeR** |
| |
| Required for arm64. |
| |
| RSDT Section 5.2.7 (signature == "RSDT") |
| |
| **Root System Description Table** |
| |
| Since this table can only provide 32-bit addresses, it is deprecated |
| on arm64, and will not be used. If provided, it will be ignored. |
| |
| SBST Section 5.2.14 (signature == "SBST") |
| |
| **Smart Battery Subsystem Table** |
| |
| Optional, not currently supported. |
| |
| SLIC Signature Reserved (signature == "SLIC") |
| |
| **Software LIcensing table** |
| |
| Microsoft only table, will not be supported. |
| |
| SLIT Section 5.2.17 (signature == "SLIT") |
| |
| **System Locality distance Information Table** |
| |
| Optional in general, but required for NUMA systems. |
| |
| SPCR Signature Reserved (signature == "SPCR") |
| |
| **Serial Port Console Redirection table** |
| |
| Required for arm64. |
| |
| SPMI Signature Reserved (signature == "SPMI") |
| |
| **Server Platform Management Interface table** |
| |
| Optional, not currently supported. |
| |
| SRAT Section 5.2.16 (signature == "SRAT") |
| |
| **System Resource Affinity Table** |
| |
| Optional, but if used, only the GICC Affinity structures are read. |
| To support arm64 NUMA, this table is required. |
| |
| SSDT Section 5.2.11.2 (signature == "SSDT") |
| |
| **Secondary System Description Table** |
| |
| These tables are a continuation of the DSDT; these are recommended |
| for use with devices that can be added to a running system, but can |
| also serve the purpose of dividing up device descriptions into more |
| manageable pieces. |
| |
| An SSDT can only ADD to the ACPI namespace. It cannot modify or |
| replace existing device descriptions already in the namespace. |
| |
| These tables are optional, however. ACPI tables should contain only |
| one DSDT but can contain many SSDTs. |
| |
| STAO Signature Reserved (signature == "STAO") |
| |
| **_STA Override table** |
| |
| Optional, but only necessary in virtualized environments in order to |
| hide devices from guest OSs. |
| |
| TCPA Signature Reserved (signature == "TCPA") |
| |
| **Trusted Computing Platform Alliance table** |
| |
| Optional, not currently supported, and may need changes to fully |
| interoperate with arm64. |
| |
| TPM2 Signature Reserved (signature == "TPM2") |
| |
| **Trusted Platform Module 2 table** |
| |
| Optional, not currently supported, and may need changes to fully |
| interoperate with arm64. |
| |
| UEFI Signature Reserved (signature == "UEFI") |
| |
| **UEFI ACPI data table** |
| |
| Optional, not currently supported. No known use case for arm64, |
| at present. |
| |
| WAET Signature Reserved (signature == "WAET") |
| |
| **Windows ACPI Emulated devices Table** |
| |
| Microsoft only table, will not be supported. |
| |
| WDAT Signature Reserved (signature == "WDAT") |
| |
| **Watch Dog Action Table** |
| |
| Microsoft only table, will not be supported. |
| |
| WDRT Signature Reserved (signature == "WDRT") |
| |
| **Watch Dog Resource Table** |
| |
| Microsoft only table, will not be supported. |
| |
| WPBT Signature Reserved (signature == "WPBT") |
| |
| **Windows Platform Binary Table** |
| |
| Microsoft only table, will not be supported. |
| |
| XENV Signature Reserved (signature == "XENV") |
| |
| **Xen project table** |
| |
| Optional, used only by Xen at present. |
| |
| XSDT Section 5.2.8 (signature == "XSDT") |
| |
| **eXtended System Description Table** |
| |
| Required for arm64. |
| ====== ======================================================================== |
| |
| ACPI Objects |
| ------------ |
| The expectations on individual ACPI objects that are likely to be used are |
| shown in the list that follows; any object not explicitly mentioned below |
| should be used as needed for a particular platform or particular subsystem, |
| such as power management or PCI. |
| |
| ===== ================ ======================================================== |
| Name Section Usage for ARMv8 Linux |
| ===== ================ ======================================================== |
| _CCA 6.2.17 This method must be defined for all bus masters |
| on arm64 - there are no assumptions made about |
| whether such devices are cache coherent or not. |
| The _CCA value is inherited by all descendants of |
| these devices so it does not need to be repeated. |
| Without _CCA on arm64, the kernel does not know what |
| to do about setting up DMA for the device. |
| |
| NB: this method provides default cache coherency |
| attributes; the presence of an SMMU can be used to |
| modify that, however. For example, a master could |
| default to non-coherent, but be made coherent with |
| the appropriate SMMU configuration (see Table 17 of |
| the IORT specification, ARM Document DEN 0049B). |
| |
| _CID 6.1.2 Use as needed, see also _HID. |
| |
| _CLS 6.1.3 Use as needed, see also _HID. |
| |
| _CPC 8.4.7.1 Use as needed, power management specific. CPPC is |
| recommended on arm64. |
| |
| _CRS 6.2.2 Required on arm64. |
| |
| _CSD 8.4.2.2 Use as needed, used only in conjunction with _CST. |
| |
| _CST 8.4.2.1 Low power idle states (8.4.4) are recommended instead |
| of C-states. |
| |
| _DDN 6.1.4 This field can be used for a device name. However, |
| it is meant for DOS device names (e.g., COM1), so be |
| careful of its use across OSes. |
| |
| _DSD 6.2.5 To be used with caution. If this object is used, try |
| to use it within the constraints already defined by the |
| Device Properties UUID. Only in rare circumstances |
| should it be necessary to create a new _DSD UUID. |
| |
| In either case, submit the _DSD definition along with |
| any driver patches for discussion, especially when |
| device properties are used. A driver will not be |
| considered complete without a corresponding _DSD |
| description. Once approved by kernel maintainers, |
| the UUID or device properties must then be registered |
| with the UEFI Forum; this may cause some iteration as |
| more than one OS will be registering entries. |
| |
| _DSM 9.1.1 Do not use this method. It is not standardized, the |
| return values are not well documented, and it is |
| currently a frequent source of error. |
| |
| \_GL 5.7.1 This object is not to be used in hardware reduced |
| mode, and therefore should not be used on arm64. |
| |
| _GLK 6.5.7 This object requires a global lock be defined; there |
| is no global lock on arm64 since it runs in hardware |
| reduced mode. Hence, do not use this object on arm64. |
| |
| \_GPE 5.3.1 This namespace is for x86 use only. Do not use it |
| on arm64. |
| |
| _HID 6.1.5 This is the primary object to use in device probing, |
| though _CID and _CLS may also be used. |
| |
| _INI 6.5.1 Not required, but can be useful in setting up devices |
| when UEFI leaves them in a state that may not be what |
| the driver expects before it starts probing. |
| |
| _LPI 8.4.4.3 Recommended for use with processor definitions (_HID |
| ACPI0010) on arm64. See also _RDI. |
| |
| _MLS 6.1.7 Highly recommended for use in internationalization. |
| |
| _OFF 7.2.2 It is recommended to define this method for any device |
| that can be turned on or off. |
| |
| _ON 7.2.3 It is recommended to define this method for any device |
| that can be turned on or off. |
| |
| \_OS 5.7.3 This method will return "Linux" by default (this is |
| the value of the macro ACPI_OS_NAME on Linux). The |
| command line parameter acpi_os=<string> can be used |
| to set it to some other value. |
| |
| _OSC 6.2.11 This method can be a global method in ACPI (i.e., |
| \_SB._OSC), or it may be associated with a specific |
| device (e.g., \_SB.DEV0._OSC), or both. When used |
| as a global method, only capabilities published in |
| the ACPI specification are allowed. When used as |
| a device-specific method, the process described for |
| using _DSD MUST be used to create an _OSC definition; |
| out-of-process use of _OSC is not allowed. That is, |
| submit the device-specific _OSC usage description as |
| part of the kernel driver submission, get it approved |
| by the kernel community, then register it with the |
| UEFI Forum. |
| |
| \_OSI 5.7.2 Deprecated on ARM64. As far as ACPI firmware is |
| concerned, _OSI is not to be used to determine what |
| sort of system is being used or what functionality |
| is provided. The _OSC method is to be used instead. |
| |
| _PDC 8.4.1 Deprecated, do not use on arm64. |
| |
| \_PIC 5.8.1 The method should not be used. On arm64, the only |
| interrupt model available is GIC. |
| |
| \_PR 5.3.1 This namespace is for x86 use only on legacy systems. |
| Do not use it on arm64. |
| |
| _PRT 6.2.13 Required as part of the definition of all PCI root |
| devices. |
| |
| _PRx 7.3.8-11 Use as needed; power management specific. If _PR0 is |
| defined, _PR3 must also be defined. |
| |
| _PSx 7.3.2-5 Use as needed; power management specific. If _PS0 is |
| defined, _PS3 must also be defined. If clocks or |
| regulators need adjusting to be consistent with power |
| usage, change them in these methods. |
| |
| _RDI 8.4.4.4 Recommended for use with processor definitions (_HID |
| ACPI0010) on arm64. This should only be used in |
| conjunction with _LPI. |
| |
| \_REV 5.7.4 Always returns the latest version of ACPI supported. |
| |
| \_SB 5.3.1 Required on arm64; all devices must be defined in this |
| namespace. |
| |
| _SLI 6.2.15 Use is recommended when SLIT table is in use. |
| |
| _STA 6.3.7, It is recommended to define this method for any device |
| 7.2.4 that can be turned on or off. See also the STAO table |
| that provides overrides to hide devices in virtualized |
| environments. |
| |
| _SRS 6.2.16 Use as needed; see also _PRS. |
| |
| _STR 6.1.10 Recommended for conveying device names to end users; |
| this is preferred over using _DDN. |
| |
| _SUB 6.1.9 Use as needed; _HID or _CID are preferred. |
| |
| _SUN 6.1.11 Use as needed, but recommended. |
| |
| _SWS 7.4.3 Use as needed; power management specific; this may |
| require specification changes for use on arm64. |
| |
| _UID 6.1.12 Recommended for distinguishing devices of the same |
| class; define it if at all possible. |
| ===== ================ ======================================================== |
| |
| |
| |
| |
| ACPI Event Model |
| ---------------- |
| Do not use GPE block devices; these are not supported in the hardware reduced |
| profile used by arm64. Since there are no GPE blocks defined for use on ARM |
| platforms, ACPI events must be signaled differently. |
| |
| There are two options: GPIO-signaled interrupts (Section 5.6.5), and |
| interrupt-signaled events (Section 5.6.9). Interrupt-signaled events are a |
| new feature in the ACPI 6.1 specification. Either - or both - can be used |
| on a given platform, and which to use may be dependent of limitations in any |
| given SoC. If possible, interrupt-signaled events are recommended. |
| |
| |
| ACPI Processor Control |
| ---------------------- |
| Section 8 of the ACPI specification changed significantly in version 6.0. |
| Processors should now be defined as Device objects with _HID ACPI0007; do |
| not use the deprecated Processor statement in ASL. All multiprocessor systems |
| should also define a hierarchy of processors, done with Processor Container |
| Devices (see Section 8.4.3.1, _HID ACPI0010); do not use processor aggregator |
| devices (Section 8.5) to describe processor topology. Section 8.4 of the |
| specification describes the semantics of these object definitions and how |
| they interrelate. |
| |
| Most importantly, the processor hierarchy defined also defines the low power |
| idle states that are available to the platform, along with the rules for |
| determining which processors can be turned on or off and the circumstances |
| that control that. Without this information, the processors will run in |
| whatever power state they were left in by UEFI. |
| |
| Note too, that the processor Device objects defined and the entries in the |
| MADT for GICs are expected to be in synchronization. The _UID of the Device |
| object must correspond to processor IDs used in the MADT. |
| |
| It is recommended that CPPC (8.4.5) be used as the primary model for processor |
| performance control on arm64. C-states and P-states may become available at |
| some point in the future, but most current design work appears to favor CPPC. |
| |
| Further, it is essential that the ARMv8 SoC provide a fully functional |
| implementation of PSCI; this will be the only mechanism supported by ACPI |
| to control CPU power state. Booting of secondary CPUs using the ACPI |
| parking protocol is possible, but discouraged, since only PSCI is supported |
| for ARM servers. |
| |
| |
| ACPI System Address Map Interfaces |
| ---------------------------------- |
| In Section 15 of the ACPI specification, several methods are mentioned as |
| possible mechanisms for conveying memory resource information to the kernel. |
| For arm64, we will only support UEFI for booting with ACPI, hence the UEFI |
| GetMemoryMap() boot service is the only mechanism that will be used. |
| |
| |
| ACPI Platform Error Interfaces (APEI) |
| ------------------------------------- |
| The APEI tables supported are described above. |
| |
| APEI requires the equivalent of an SCI and an NMI on ARMv8. The SCI is used |
| to notify the OSPM of errors that have occurred but can be corrected and the |
| system can continue correct operation, even if possibly degraded. The NMI is |
| used to indicate fatal errors that cannot be corrected, and require immediate |
| attention. |
| |
| Since there is no direct equivalent of the x86 SCI or NMI, arm64 handles |
| these slightly differently. The SCI is handled as a high priority interrupt; |
| given that these are corrected (or correctable) errors being reported, this |
| is sufficient. The NMI is emulated as the highest priority interrupt |
| possible. This implies some caution must be used since there could be |
| interrupts at higher privilege levels or even interrupts at the same priority |
| as the emulated NMI. In Linux, this should not be the case but one should |
| be aware it could happen. |
| |
| |
| ACPI Objects Not Supported on ARM64 |
| ----------------------------------- |
| While this may change in the future, there are several classes of objects |
| that can be defined, but are not currently of general interest to ARM servers. |
| Some of these objects have x86 equivalents, and may actually make sense in ARM |
| servers. However, there is either no hardware available at present, or there |
| may not even be a non-ARM implementation yet. Hence, they are not currently |
| supported. |
| |
| The following classes of objects are not supported: |
| |
| - Section 9.2: ambient light sensor devices |
| |
| - Section 9.3: battery devices |
| |
| - Section 9.4: lids (e.g., laptop lids) |
| |
| - Section 9.8.2: IDE controllers |
| |
| - Section 9.9: floppy controllers |
| |
| - Section 9.10: GPE block devices |
| |
| - Section 9.15: PC/AT RTC/CMOS devices |
| |
| - Section 9.16: user presence detection devices |
| |
| - Section 9.17: I/O APIC devices; all GICs must be enumerable via MADT |
| |
| - Section 9.18: time and alarm devices (see 9.15) |
| |
| - Section 10: power source and power meter devices |
| |
| - Section 11: thermal management |
| |
| - Section 12: embedded controllers interface |
| |
| - Section 13: SMBus interfaces |
| |
| |
| This also means that there is no support for the following objects: |
| |
| ==== =========================== ==== ========== |
| Name Section Name Section |
| ==== =========================== ==== ========== |
| _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 |
| ==== =========================== ==== ========== |