810 lines · plain
1===========2ACPI Tables3===========4 5The expectations of individual ACPI tables are discussed in the list that6follows.7 8If a section number is used, it refers to a section number in the ACPI9specification where the object is defined. If "Signature Reserved" is used,10the table signature (the first four bytes of the table) is the only portion11of the table recognized by the specification, and the actual table is defined12outside of the UEFI Forum (see Section 5.2.6 of the specification).13 14For ACPI on arm64, tables also fall into the following categories:15 16 - Required: DSDT, FADT, GTDT, MADT, MCFG, RSDP, SPCR, XSDT17 18 - Recommended: BERT, EINJ, ERST, HEST, PCCT, SSDT19 20 - Optional: AGDI, BGRT, CEDT, CPEP, CSRT, DBG2, DRTM, ECDT, FACS, FPDT,21 HMAT, IBFT, IORT, MCHI, MPAM, MPST, MSCT, NFIT, PMTT, PPTT, RASF, SBST,22 SDEI, SLIT, SPMI, SRAT, STAO, TCPA, TPM2, UEFI, XENV23 24 - Not supported: AEST, APMT, BOOT, DBGP, DMAR, ETDT, HPET, IVRS, LPIT,25 MSDM, OEMx, PDTT, PSDT, RAS2, RSDT, SLIC, WAET, WDAT, WDRT, WPBT26 27====== ========================================================================28Table Usage for ARMv8 Linux29====== ========================================================================30AEST Signature Reserved (signature == "AEST")31 32 **Arm Error Source Table**33 34 This table informs the OS of any error nodes in the system that are35 compliant with the Arm RAS architecture.36 37AGDI Signature Reserved (signature == "AGDI")38 39 **Arm Generic diagnostic Dump and Reset Device Interface Table**40 41 This table describes a non-maskable event, that is used by the platform42 firmware, to request the OS to generate a diagnostic dump and reset the device.43 44APMT Signature Reserved (signature == "APMT")45 46 **Arm Performance Monitoring Table**47 48 This table describes the properties of PMU support implemented by49 components in the system.50 51BERT Section 18.3 (signature == "BERT")52 53 **Boot Error Record Table**54 55 Must be supplied if RAS support is provided by the platform. It56 is recommended this table be supplied.57 58BOOT Signature Reserved (signature == "BOOT")59 60 **simple BOOT flag table**61 62 Microsoft only table, will not be supported.63 64BGRT Section 5.2.22 (signature == "BGRT")65 66 **Boot Graphics Resource Table**67 68 Optional, not currently supported, with no real use-case for an69 ARM server.70 71CEDT Signature Reserved (signature == "CEDT")72 73 **CXL Early Discovery Table**74 75 This table allows the OS to discover any CXL Host Bridges and the Host76 Bridge registers.77 78CPEP Section 5.2.18 (signature == "CPEP")79 80 **Corrected Platform Error Polling table**81 82 Optional, not currently supported, and not recommended until such83 time as ARM-compatible hardware is available, and the specification84 suitably modified.85 86CSRT Signature Reserved (signature == "CSRT")87 88 **Core System Resources Table**89 90 Optional, not currently supported.91 92DBG2 Signature Reserved (signature == "DBG2")93 94 **DeBuG port table 2**95 96 License has changed and should be usable. Optional if used instead97 of earlycon=<device> on the command line.98 99DBGP Signature Reserved (signature == "DBGP")100 101 **DeBuG Port table**102 103 Microsoft only table, will not be supported.104 105DSDT Section 5.2.11.1 (signature == "DSDT")106 107 **Differentiated System Description Table**108 109 A DSDT is required; see also SSDT.110 111 ACPI tables contain only one DSDT but can contain one or more SSDTs,112 which are optional. Each SSDT can only add to the ACPI namespace,113 but cannot modify or replace anything in the DSDT.114 115DMAR Signature Reserved (signature == "DMAR")116 117 **DMA Remapping table**118 119 x86 only table, will not be supported.120 121DRTM Signature Reserved (signature == "DRTM")122 123 **Dynamic Root of Trust for Measurement table**124 125 Optional, not currently supported.126 127ECDT Section 5.2.16 (signature == "ECDT")128 129 **Embedded Controller Description Table**130 131 Optional, not currently supported, but could be used on ARM if and132 only if one uses the GPE_BIT field to represent an IRQ number, since133 there are no GPE blocks defined in hardware reduced mode. This would134 need to be modified in the ACPI specification.135 136EINJ Section 18.6 (signature == "EINJ")137 138 **Error Injection table**139 140 This table is very useful for testing platform response to error141 conditions; it allows one to inject an error into the system as142 if it had actually occurred. However, this table should not be143 shipped with a production system; it should be dynamically loaded144 and executed with the ACPICA tools only during testing.145 146ERST Section 18.5 (signature == "ERST")147 148 **Error Record Serialization Table**149 150 On a platform supports RAS, this table must be supplied if it is not151 UEFI-based; if it is UEFI-based, this table may be supplied. When this152 table is not present, UEFI run time service will be utilized to save153 and retrieve hardware error information to and from a persistent store.154 155ETDT Signature Reserved (signature == "ETDT")156 157 **Event Timer Description Table**158 159 Obsolete table, will not be supported.160 161FACS Section 5.2.10 (signature == "FACS")162 163 **Firmware ACPI Control Structure**164 165 It is unlikely that this table will be terribly useful. If it is166 provided, the Global Lock will NOT be used since it is not part of167 the hardware reduced profile, and only 64-bit address fields will168 be considered valid.169 170FADT Section 5.2.9 (signature == "FACP")171 172 **Fixed ACPI Description Table**173 Required for arm64.174 175 176 The HW_REDUCED_ACPI flag must be set. All of the fields that are177 to be ignored when HW_REDUCED_ACPI is set are expected to be set to178 zero.179 180 If an FACS table is provided, the X_FIRMWARE_CTRL field is to be181 used, not FIRMWARE_CTRL.182 183 If PSCI is used (as is recommended), make sure that ARM_BOOT_ARCH is184 filled in properly - that the PSCI_COMPLIANT flag is set and that185 PSCI_USE_HVC is set or unset as needed (see table 5-37).186 187 For the DSDT that is also required, the X_DSDT field is to be used,188 not the DSDT field.189 190FPDT Section 5.2.23 (signature == "FPDT")191 192 **Firmware Performance Data Table**193 194 Optional, useful for boot performance profiling.195 196GTDT Section 5.2.24 (signature == "GTDT")197 198 **Generic Timer Description Table**199 200 Required for arm64.201 202HEST Section 18.3.2 (signature == "HEST")203 204 **Hardware Error Source Table**205 206 ARM-specific error sources have been defined; please use those or the207 PCI types such as type 6 (AER Root Port), 7 (AER Endpoint), or 8 (AER208 Bridge), or use type 9 (Generic Hardware Error Source). Firmware first209 error handling is possible if and only if Trusted Firmware is being210 used on arm64.211 212 Must be supplied if RAS support is provided by the platform. It213 is recommended this table be supplied.214 215HMAT Section 5.2.28 (signature == "HMAT")216 217 **Heterogeneous Memory Attribute Table**218 219 This table describes the memory attributes, such as memory side cache220 attributes and bandwidth and latency details, related to Memory Proximity221 Domains. The OS uses this information to optimize the system memory222 configuration.223 224HPET Signature Reserved (signature == "HPET")225 226 **High Precision Event timer Table**227 228 x86 only table, will not be supported.229 230IBFT Signature Reserved (signature == "IBFT")231 232 **iSCSI Boot Firmware Table**233 234 Microsoft defined table, support TBD.235 236IORT Signature Reserved (signature == "IORT")237 238 **Input Output Remapping Table**239 240 arm64 only table, required in order to describe IO topology, SMMUs,241 and GIC ITSs, and how those various components are connected together,242 such as identifying which components are behind which SMMUs/ITSs.243 This table will only be required on certain SBSA platforms (e.g.,244 when using GICv3-ITS and an SMMU); on SBSA Level 0 platforms, it245 remains optional.246 247IVRS Signature Reserved (signature == "IVRS")248 249 **I/O Virtualization Reporting Structure**250 251 x86_64 (AMD) only table, will not be supported.252 253LPIT Signature Reserved (signature == "LPIT")254 255 **Low Power Idle Table**256 257 x86 only table as of ACPI 5.1; starting with ACPI 6.0, processor258 descriptions and power states on ARM platforms should use the DSDT259 and define processor container devices (_HID ACPI0010, Section 8.4,260 and more specifically 8.4.3 and 8.4.4).261 262MADT Section 5.2.12 (signature == "APIC")263 264 **Multiple APIC Description Table**265 266 Required for arm64. Only the GIC interrupt controller structures267 should be used (types 0xA - 0xF).268 269MCFG Signature Reserved (signature == "MCFG")270 271 **Memory-mapped ConFiGuration space**272 273 If the platform supports PCI/PCIe, an MCFG table is required.274 275MCHI Signature Reserved (signature == "MCHI")276 277 **Management Controller Host Interface table**278 279 Optional, not currently supported.280 281MPAM Signature Reserved (signature == "MPAM")282 283 **Memory Partitioning And Monitoring table**284 285 This table allows the OS to discover the MPAM controls implemented by286 the subsystems.287 288MPST Section 5.2.21 (signature == "MPST")289 290 **Memory Power State Table**291 292 Optional, not currently supported.293 294MSCT Section 5.2.19 (signature == "MSCT")295 296 **Maximum System Characteristic Table**297 298 Optional, not currently supported.299 300MSDM Signature Reserved (signature == "MSDM")301 302 **Microsoft Data Management table**303 304 Microsoft only table, will not be supported.305 306NFIT Section 5.2.25 (signature == "NFIT")307 308 **NVDIMM Firmware Interface Table**309 310 Optional, not currently supported.311 312OEMx Signature of "OEMx" only313 314 **OEM Specific Tables**315 316 All tables starting with a signature of "OEM" are reserved for OEM317 use. Since these are not meant to be of general use but are limited318 to very specific end users, they are not recommended for use and are319 not supported by the kernel for arm64.320 321PCCT Section 14.1 (signature == "PCCT)322 323 **Platform Communications Channel Table**324 325 Recommend for use on arm64; use of PCC is recommended when using CPPC326 to control performance and power for platform processors.327 328PDTT Section 5.2.29 (signature == "PDTT")329 330 **Platform Debug Trigger Table**331 332 This table describes PCC channels used to gather debug logs of333 non-architectural features.334 335 336PMTT Section 5.2.21.12 (signature == "PMTT")337 338 **Platform Memory Topology Table**339 340 Optional, not currently supported.341 342PPTT Section 5.2.30 (signature == "PPTT")343 344 **Processor Properties Topology Table**345 346 This table provides the processor and cache topology.347 348PSDT Section 5.2.11.3 (signature == "PSDT")349 350 **Persistent System Description Table**351 352 Obsolete table, will not be supported.353 354RAS2 Section 5.2.21 (signature == "RAS2")355 356 **RAS Features 2 table**357 358 This table provides interfaces for the RAS capabilities implemented in359 the platform.360 361RASF Section 5.2.20 (signature == "RASF")362 363 **RAS Feature table**364 365 Optional, not currently supported.366 367RSDP Section 5.2.5 (signature == "RSD PTR")368 369 **Root System Description PoinTeR**370 371 Required for arm64.372 373RSDT Section 5.2.7 (signature == "RSDT")374 375 **Root System Description Table**376 377 Since this table can only provide 32-bit addresses, it is deprecated378 on arm64, and will not be used. If provided, it will be ignored.379 380SBST Section 5.2.14 (signature == "SBST")381 382 **Smart Battery Subsystem Table**383 384 Optional, not currently supported.385 386SDEI Signature Reserved (signature == "SDEI")387 388 **Software Delegated Exception Interface table**389 390 This table advertises the presence of the SDEI interface.391 392SLIC Signature Reserved (signature == "SLIC")393 394 **Software LIcensing table**395 396 Microsoft only table, will not be supported.397 398SLIT Section 5.2.17 (signature == "SLIT")399 400 **System Locality distance Information Table**401 402 Optional in general, but required for NUMA systems.403 404SPCR Signature Reserved (signature == "SPCR")405 406 **Serial Port Console Redirection table**407 408 Required for arm64.409 410SPMI Signature Reserved (signature == "SPMI")411 412 **Server Platform Management Interface table**413 414 Optional, not currently supported.415 416SRAT Section 5.2.16 (signature == "SRAT")417 418 **System Resource Affinity Table**419 420 Optional, but if used, only the GICC Affinity structures are read.421 To support arm64 NUMA, this table is required.422 423SSDT Section 5.2.11.2 (signature == "SSDT")424 425 **Secondary System Description Table**426 427 These tables are a continuation of the DSDT; these are recommended428 for use with devices that can be added to a running system, but can429 also serve the purpose of dividing up device descriptions into more430 manageable pieces.431 432 An SSDT can only ADD to the ACPI namespace. It cannot modify or433 replace existing device descriptions already in the namespace.434 435 These tables are optional, however. ACPI tables should contain only436 one DSDT but can contain many SSDTs.437 438STAO Signature Reserved (signature == "STAO")439 440 **_STA Override table**441 442 Optional, but only necessary in virtualized environments in order to443 hide devices from guest OSs.444 445TCPA Signature Reserved (signature == "TCPA")446 447 **Trusted Computing Platform Alliance table**448 449 Optional, not currently supported, and may need changes to fully450 interoperate with arm64.451 452TPM2 Signature Reserved (signature == "TPM2")453 454 **Trusted Platform Module 2 table**455 456 Optional, not currently supported, and may need changes to fully457 interoperate with arm64.458 459UEFI Signature Reserved (signature == "UEFI")460 461 **UEFI ACPI data table**462 463 Optional, not currently supported. No known use case for arm64,464 at present.465 466WAET Signature Reserved (signature == "WAET")467 468 **Windows ACPI Emulated devices Table**469 470 Microsoft only table, will not be supported.471 472WDAT Signature Reserved (signature == "WDAT")473 474 **Watch Dog Action Table**475 476 Microsoft only table, will not be supported.477 478WDRT Signature Reserved (signature == "WDRT")479 480 **Watch Dog Resource Table**481 482 Microsoft only table, will not be supported.483 484WPBT Signature Reserved (signature == "WPBT")485 486 **Windows Platform Binary Table**487 488 Microsoft only table, will not be supported.489 490XENV Signature Reserved (signature == "XENV")491 492 **Xen project table**493 494 Optional, used only by Xen at present.495 496XSDT Section 5.2.8 (signature == "XSDT")497 498 **eXtended System Description Table**499 500 Required for arm64.501====== ========================================================================502 503ACPI Objects504------------505The expectations on individual ACPI objects that are likely to be used are506shown in the list that follows; any object not explicitly mentioned below507should be used as needed for a particular platform or particular subsystem,508such as power management or PCI.509 510===== ================ ========================================================511Name Section Usage for ARMv8 Linux512===== ================ ========================================================513_CCA 6.2.17 This method must be defined for all bus masters514 on arm64 - there are no assumptions made about515 whether such devices are cache coherent or not.516 The _CCA value is inherited by all descendants of517 these devices so it does not need to be repeated.518 Without _CCA on arm64, the kernel does not know what519 to do about setting up DMA for the device.520 521 NB: this method provides default cache coherency522 attributes; the presence of an SMMU can be used to523 modify that, however. For example, a master could524 default to non-coherent, but be made coherent with525 the appropriate SMMU configuration (see Table 17 of526 the IORT specification, ARM Document DEN 0049B).527 528_CID 6.1.2 Use as needed, see also _HID.529 530_CLS 6.1.3 Use as needed, see also _HID.531 532_CPC 8.4.7.1 Use as needed, power management specific. CPPC is533 recommended on arm64.534 535_CRS 6.2.2 Required on arm64.536 537_CSD 8.4.2.2 Use as needed, used only in conjunction with _CST.538 539_CST 8.4.2.1 Low power idle states (8.4.4) are recommended instead540 of C-states.541 542_DDN 6.1.4 This field can be used for a device name. However,543 it is meant for DOS device names (e.g., COM1), so be544 careful of its use across OSes.545 546_DSD 6.2.5 To be used with caution. If this object is used, try547 to use it within the constraints already defined by the548 Device Properties UUID. Only in rare circumstances549 should it be necessary to create a new _DSD UUID.550 551 In either case, submit the _DSD definition along with552 any driver patches for discussion, especially when553 device properties are used. A driver will not be554 considered complete without a corresponding _DSD555 description. Once approved by kernel maintainers,556 the UUID or device properties must then be registered557 with the UEFI Forum; this may cause some iteration as558 more than one OS will be registering entries.559 560_DSM 9.1.1 Do not use this method. It is not standardized, the561 return values are not well documented, and it is562 currently a frequent source of error.563 564\_GL 5.7.1 This object is not to be used in hardware reduced565 mode, and therefore should not be used on arm64.566 567_GLK 6.5.7 This object requires a global lock be defined; there568 is no global lock on arm64 since it runs in hardware569 reduced mode. Hence, do not use this object on arm64.570 571\_GPE 5.3.1 This namespace is for x86 use only. Do not use it572 on arm64.573 574_HID 6.1.5 This is the primary object to use in device probing,575 though _CID and _CLS may also be used.576 577_INI 6.5.1 Not required, but can be useful in setting up devices578 when UEFI leaves them in a state that may not be what579 the driver expects before it starts probing.580 581_LPI 8.4.4.3 Recommended for use with processor definitions (_HID582 ACPI0010) on arm64. See also _RDI.583 584_MLS 6.1.7 Highly recommended for use in internationalization.585 586_OFF 7.2.2 It is recommended to define this method for any device587 that can be turned on or off.588 589_ON 7.2.3 It is recommended to define this method for any device590 that can be turned on or off.591 592\_OS 5.7.3 This method will return "Linux" by default (this is593 the value of the macro ACPI_OS_NAME on Linux). The594 command line parameter acpi_os=<string> can be used595 to set it to some other value.596 597_OSC 6.2.11 This method can be a global method in ACPI (i.e.,598 \_SB._OSC), or it may be associated with a specific599 device (e.g., \_SB.DEV0._OSC), or both. When used600 as a global method, only capabilities published in601 the ACPI specification are allowed. When used as602 a device-specific method, the process described for603 using _DSD MUST be used to create an _OSC definition;604 out-of-process use of _OSC is not allowed. That is,605 submit the device-specific _OSC usage description as606 part of the kernel driver submission, get it approved607 by the kernel community, then register it with the608 UEFI Forum.609 610\_OSI 5.7.2 Deprecated on ARM64. As far as ACPI firmware is611 concerned, _OSI is not to be used to determine what612 sort of system is being used or what functionality613 is provided. The _OSC method is to be used instead.614 615_PDC 8.4.1 Deprecated, do not use on arm64.616 617\_PIC 5.8.1 The method should not be used. On arm64, the only618 interrupt model available is GIC.619 620\_PR 5.3.1 This namespace is for x86 use only on legacy systems.621 Do not use it on arm64.622 623_PRT 6.2.13 Required as part of the definition of all PCI root624 devices.625 626_PRx 7.3.8-11 Use as needed; power management specific. If _PR0 is627 defined, _PR3 must also be defined.628 629_PSx 7.3.2-5 Use as needed; power management specific. If _PS0 is630 defined, _PS3 must also be defined. If clocks or631 regulators need adjusting to be consistent with power632 usage, change them in these methods.633 634_RDI 8.4.4.4 Recommended for use with processor definitions (_HID635 ACPI0010) on arm64. This should only be used in636 conjunction with _LPI.637 638\_REV 5.7.4 Always returns the latest version of ACPI supported.639 640\_SB 5.3.1 Required on arm64; all devices must be defined in this641 namespace.642 643_SLI 6.2.15 Use is recommended when SLIT table is in use.644 645_STA 6.3.7, It is recommended to define this method for any device646 7.2.4 that can be turned on or off. See also the STAO table647 that provides overrides to hide devices in virtualized648 environments.649 650_SRS 6.2.16 Use as needed; see also _PRS.651 652_STR 6.1.10 Recommended for conveying device names to end users;653 this is preferred over using _DDN.654 655_SUB 6.1.9 Use as needed; _HID or _CID are preferred.656 657_SUN 6.1.11 Use as needed, but recommended.658 659_SWS 7.4.3 Use as needed; power management specific; this may660 require specification changes for use on arm64.661 662_UID 6.1.12 Recommended for distinguishing devices of the same663 class; define it if at all possible.664===== ================ ========================================================665 666 667 668 669ACPI Event Model670----------------671Do not use GPE block devices; these are not supported in the hardware reduced672profile used by arm64. Since there are no GPE blocks defined for use on ARM673platforms, ACPI events must be signaled differently.674 675There are two options: GPIO-signaled interrupts (Section 5.6.5), and676interrupt-signaled events (Section 5.6.9). Interrupt-signaled events are a677new feature in the ACPI 6.1 specification. Either - or both - can be used678on a given platform, and which to use may be dependent of limitations in any679given SoC. If possible, interrupt-signaled events are recommended.680 681 682ACPI Processor Control683----------------------684Section 8 of the ACPI specification changed significantly in version 6.0.685Processors should now be defined as Device objects with _HID ACPI0007; do686not use the deprecated Processor statement in ASL. All multiprocessor systems687should also define a hierarchy of processors, done with Processor Container688Devices (see Section 8.4.3.1, _HID ACPI0010); do not use processor aggregator689devices (Section 8.5) to describe processor topology. Section 8.4 of the690specification describes the semantics of these object definitions and how691they interrelate.692 693Most importantly, the processor hierarchy defined also defines the low power694idle states that are available to the platform, along with the rules for695determining which processors can be turned on or off and the circumstances696that control that. Without this information, the processors will run in697whatever power state they were left in by UEFI.698 699Note too, that the processor Device objects defined and the entries in the700MADT for GICs are expected to be in synchronization. The _UID of the Device701object must correspond to processor IDs used in the MADT.702 703It is recommended that CPPC (8.4.5) be used as the primary model for processor704performance control on arm64. C-states and P-states may become available at705some point in the future, but most current design work appears to favor CPPC.706 707Further, it is essential that the ARMv8 SoC provide a fully functional708implementation of PSCI; this will be the only mechanism supported by ACPI709to control CPU power state. Booting of secondary CPUs using the ACPI710parking protocol is possible, but discouraged, since only PSCI is supported711for ARM servers.712 713 714ACPI System Address Map Interfaces715----------------------------------716In Section 15 of the ACPI specification, several methods are mentioned as717possible mechanisms for conveying memory resource information to the kernel.718For arm64, we will only support UEFI for booting with ACPI, hence the UEFI719GetMemoryMap() boot service is the only mechanism that will be used.720 721 722ACPI Platform Error Interfaces (APEI)723-------------------------------------724The APEI tables supported are described above.725 726APEI requires the equivalent of an SCI and an NMI on ARMv8. The SCI is used727to notify the OSPM of errors that have occurred but can be corrected and the728system can continue correct operation, even if possibly degraded. The NMI is729used to indicate fatal errors that cannot be corrected, and require immediate730attention.731 732Since there is no direct equivalent of the x86 SCI or NMI, arm64 handles733these slightly differently. The SCI is handled as a high priority interrupt;734given that these are corrected (or correctable) errors being reported, this735is sufficient. The NMI is emulated as the highest priority interrupt736possible. This implies some caution must be used since there could be737interrupts at higher privilege levels or even interrupts at the same priority738as the emulated NMI. In Linux, this should not be the case but one should739be aware it could happen.740 741 742ACPI Objects Not Supported on ARM64743-----------------------------------744While this may change in the future, there are several classes of objects745that can be defined, but are not currently of general interest to ARM servers.746Some of these objects have x86 equivalents, and may actually make sense in ARM747servers. However, there is either no hardware available at present, or there748may not even be a non-ARM implementation yet. Hence, they are not currently749supported.750 751The following classes of objects are not supported:752 753 - Section 9.2: ambient light sensor devices754 755 - Section 9.3: battery devices756 757 - Section 9.4: lids (e.g., laptop lids)758 759 - Section 9.8.2: IDE controllers760 761 - Section 9.9: floppy controllers762 763 - Section 9.10: GPE block devices764 765 - Section 9.15: PC/AT RTC/CMOS devices766 767 - Section 9.16: user presence detection devices768 769 - Section 9.17: I/O APIC devices; all GICs must be enumerable via MADT770 771 - Section 9.18: time and alarm devices (see 9.15)772 773 - Section 10: power source and power meter devices774 775 - Section 11: thermal management776 777 - Section 12: embedded controllers interface778 779 - Section 13: SMBus interfaces780 781 782This also means that there is no support for the following objects:783 784==== =========================== ==== ==========785Name Section Name Section786==== =========================== ==== ==========787_ALC 9.3.4 _FDM 9.10.3788_ALI 9.3.2 _FIX 6.2.7789_ALP 9.3.6 _GAI 10.4.5790_ALR 9.3.5 _GHL 10.4.7791_ALT 9.3.3 _GTM 9.9.2.1.1792_BCT 10.2.2.10 _LID 9.5.1793_BDN 6.5.3 _PAI 10.4.4794_BIF 10.2.2.1 _PCL 10.3.2795_BIX 10.2.2.1 _PIF 10.3.3796_BLT 9.2.3 _PMC 10.4.1797_BMA 10.2.2.4 _PMD 10.4.8798_BMC 10.2.2.12 _PMM 10.4.3799_BMD 10.2.2.11 _PRL 10.3.4800_BMS 10.2.2.5 _PSR 10.3.1801_BST 10.2.2.6 _PTP 10.4.2802_BTH 10.2.2.7 _SBS 10.1.3803_BTM 10.2.2.9 _SHL 10.4.6804_BTP 10.2.2.8 _STM 9.9.2.1.1805_DCK 6.5.2 _UPD 9.16.1806_EC 12.12 _UPP 9.16.2807_FDE 9.10.1 _WPC 10.5.2808_FDI 9.10.2 _WPP 10.5.3809==== =========================== ==== ==========810