Path: blob/main/sys/contrib/edk2/Include/IndustryStandard/Acpi10.h
48291 views
/** @file1ACPI 1.0b definitions from the ACPI Specification, revision 1.0b23Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>4Copyright (c) 2020, Arm Limited. All rights reserved.<BR>5SPDX-License-Identifier: BSD-2-Clause-Patent6**/78#ifndef _ACPI_1_0_H_9#define _ACPI_1_0_H_1011#include <IndustryStandard/AcpiAml.h>1213///14/// Common table header, this prefaces all ACPI tables, including FACS, but15/// excluding the RSD PTR structure.16///17typedef struct {18UINT32 Signature;19UINT32 Length;20} EFI_ACPI_COMMON_HEADER;2122#pragma pack(1)23///24/// The common ACPI description table header. This structure prefaces most ACPI tables.25///26typedef struct {27UINT32 Signature;28UINT32 Length;29UINT8 Revision;30UINT8 Checksum;31UINT8 OemId[6];32UINT64 OemTableId;33UINT32 OemRevision;34UINT32 CreatorId;35UINT32 CreatorRevision;36} EFI_ACPI_DESCRIPTION_HEADER;37#pragma pack()3839//40// Define for Descriptor41//42#define ACPI_SMALL_ITEM_FLAG 0x0043#define ACPI_LARGE_ITEM_FLAG 0x014445//46// Small Item Descriptor Name47//48#define ACPI_SMALL_IRQ_DESCRIPTOR_NAME 0x0449#define ACPI_SMALL_DMA_DESCRIPTOR_NAME 0x0550#define ACPI_SMALL_START_DEPENDENT_DESCRIPTOR_NAME 0x0651#define ACPI_SMALL_END_DEPENDENT_DESCRIPTOR_NAME 0x0752#define ACPI_SMALL_IO_PORT_DESCRIPTOR_NAME 0x0853#define ACPI_SMALL_FIXED_IO_PORT_DESCRIPTOR_NAME 0x0954#define ACPI_SMALL_VENDOR_DEFINED_DESCRIPTOR_NAME 0x0E55#define ACPI_SMALL_END_TAG_DESCRIPTOR_NAME 0x0F5657//58// Large Item Descriptor Name59//60#define ACPI_LARGE_24_BIT_MEMORY_RANGE_DESCRIPTOR_NAME 0x0161#define ACPI_LARGE_VENDOR_DEFINED_DESCRIPTOR_NAME 0x0462#define ACPI_LARGE_32_BIT_MEMORY_RANGE_DESCRIPTOR_NAME 0x0563#define ACPI_LARGE_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR_NAME 0x0664#define ACPI_LARGE_DWORD_ADDRESS_SPACE_DESCRIPTOR_NAME 0x0765#define ACPI_LARGE_WORD_ADDRESS_SPACE_DESCRIPTOR_NAME 0x0866#define ACPI_LARGE_EXTENDED_IRQ_DESCRIPTOR_NAME 0x0967#define ACPI_LARGE_QWORD_ADDRESS_SPACE_DESCRIPTOR_NAME 0x0A6869//70// Small Item Descriptor Value71//72#define ACPI_IRQ_NOFLAG_DESCRIPTOR 0x2273#define ACPI_IRQ_DESCRIPTOR 0x2374#define ACPI_DMA_DESCRIPTOR 0x2A75#define ACPI_START_DEPENDENT_DESCRIPTOR 0x3076#define ACPI_START_DEPENDENT_EX_DESCRIPTOR 0x3177#define ACPI_END_DEPENDENT_DESCRIPTOR 0x3878#define ACPI_IO_PORT_DESCRIPTOR 0x4779#define ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR 0x4B80#define ACPI_END_TAG_DESCRIPTOR 0x798182//83// Large Item Descriptor Value84//85#define ACPI_24_BIT_MEMORY_RANGE_DESCRIPTOR 0x8186#define ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR 0x8587#define ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR 0x8688#define ACPI_DWORD_ADDRESS_SPACE_DESCRIPTOR 0x8789#define ACPI_WORD_ADDRESS_SPACE_DESCRIPTOR 0x8890#define ACPI_EXTENDED_INTERRUPT_DESCRIPTOR 0x8991#define ACPI_QWORD_ADDRESS_SPACE_DESCRIPTOR 0x8A92#define ACPI_ADDRESS_SPACE_DESCRIPTOR 0x8A9394//95// Resource Type96//97#define ACPI_ADDRESS_SPACE_TYPE_MEM 0x0098#define ACPI_ADDRESS_SPACE_TYPE_IO 0x0199#define ACPI_ADDRESS_SPACE_TYPE_BUS 0x02100101///102/// Power Management Timer frequency is fixed at 3.579545MHz.103///104#define ACPI_TIMER_FREQUENCY 3579545105106//107// Ensure proper structure formats108//109#pragma pack(1)110111///112/// The common definition of QWORD, DWORD, and WORD113/// Address Space Descriptors.114///115typedef PACKED struct {116UINT8 Desc;117UINT16 Len;118UINT8 ResType;119UINT8 GenFlag;120UINT8 SpecificFlag;121UINT64 AddrSpaceGranularity;122UINT64 AddrRangeMin;123UINT64 AddrRangeMax;124UINT64 AddrTranslationOffset;125UINT64 AddrLen;126} EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR;127128typedef PACKED union {129UINT8 Byte;130PACKED struct {131UINT8 Length : 3;132UINT8 Name : 4;133UINT8 Type : 1;134} Bits;135} ACPI_SMALL_RESOURCE_HEADER;136137typedef PACKED struct {138PACKED union {139UINT8 Byte;140PACKED struct {141UINT8 Name : 7;142UINT8 Type : 1;143} Bits;144} Header;145UINT16 Length;146} ACPI_LARGE_RESOURCE_HEADER;147148///149/// IRQ Descriptor.150///151typedef PACKED struct {152ACPI_SMALL_RESOURCE_HEADER Header;153UINT16 Mask;154} EFI_ACPI_IRQ_NOFLAG_DESCRIPTOR;155156///157/// IRQ Descriptor.158///159typedef PACKED struct {160ACPI_SMALL_RESOURCE_HEADER Header;161UINT16 Mask;162UINT8 Information;163} EFI_ACPI_IRQ_DESCRIPTOR;164165///166/// DMA Descriptor.167///168typedef PACKED struct {169ACPI_SMALL_RESOURCE_HEADER Header;170UINT8 ChannelMask;171UINT8 Information;172} EFI_ACPI_DMA_DESCRIPTOR;173174///175/// I/O Port Descriptor176///177typedef PACKED struct {178ACPI_SMALL_RESOURCE_HEADER Header;179UINT8 Information;180UINT16 BaseAddressMin;181UINT16 BaseAddressMax;182UINT8 Alignment;183UINT8 Length;184} EFI_ACPI_IO_PORT_DESCRIPTOR;185186///187/// Fixed Location I/O Port Descriptor.188///189typedef PACKED struct {190ACPI_SMALL_RESOURCE_HEADER Header;191UINT16 BaseAddress;192UINT8 Length;193} EFI_ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR;194195///196/// 24-Bit Memory Range Descriptor197///198typedef PACKED struct {199ACPI_LARGE_RESOURCE_HEADER Header;200UINT8 Information;201UINT16 BaseAddressMin;202UINT16 BaseAddressMax;203UINT16 Alignment;204UINT16 Length;205} EFI_ACPI_24_BIT_MEMORY_RANGE_DESCRIPTOR;206207///208/// 32-Bit Memory Range Descriptor209///210typedef PACKED struct {211ACPI_LARGE_RESOURCE_HEADER Header;212UINT8 Information;213UINT32 BaseAddressMin;214UINT32 BaseAddressMax;215UINT32 Alignment;216UINT32 Length;217} EFI_ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR;218219///220/// Fixed 32-Bit Fixed Memory Range Descriptor221///222typedef PACKED struct {223ACPI_LARGE_RESOURCE_HEADER Header;224UINT8 Information;225UINT32 BaseAddress;226UINT32 Length;227} EFI_ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR;228229///230/// QWORD Address Space Descriptor231///232typedef PACKED struct {233ACPI_LARGE_RESOURCE_HEADER Header;234UINT8 ResType;235UINT8 GenFlag;236UINT8 SpecificFlag;237UINT64 AddrSpaceGranularity;238UINT64 AddrRangeMin;239UINT64 AddrRangeMax;240UINT64 AddrTranslationOffset;241UINT64 AddrLen;242} EFI_ACPI_QWORD_ADDRESS_SPACE_DESCRIPTOR;243244///245/// DWORD Address Space Descriptor246///247typedef PACKED struct {248ACPI_LARGE_RESOURCE_HEADER Header;249UINT8 ResType;250UINT8 GenFlag;251UINT8 SpecificFlag;252UINT32 AddrSpaceGranularity;253UINT32 AddrRangeMin;254UINT32 AddrRangeMax;255UINT32 AddrTranslationOffset;256UINT32 AddrLen;257} EFI_ACPI_DWORD_ADDRESS_SPACE_DESCRIPTOR;258259///260/// WORD Address Space Descriptor261///262typedef PACKED struct {263ACPI_LARGE_RESOURCE_HEADER Header;264UINT8 ResType;265UINT8 GenFlag;266UINT8 SpecificFlag;267UINT16 AddrSpaceGranularity;268UINT16 AddrRangeMin;269UINT16 AddrRangeMax;270UINT16 AddrTranslationOffset;271UINT16 AddrLen;272} EFI_ACPI_WORD_ADDRESS_SPACE_DESCRIPTOR;273274///275/// Extended Interrupt Descriptor276///277typedef PACKED struct {278ACPI_LARGE_RESOURCE_HEADER Header;279UINT8 InterruptVectorFlags;280UINT8 InterruptTableLength;281UINT32 InterruptNumber[1];282} EFI_ACPI_EXTENDED_INTERRUPT_DESCRIPTOR;283284#pragma pack()285286///287/// The End tag identifies an end of resource data.288///289typedef struct {290UINT8 Desc;291UINT8 Checksum;292} EFI_ACPI_END_TAG_DESCRIPTOR;293294//295// General use definitions296//297#define EFI_ACPI_RESERVED_BYTE 0x00298#define EFI_ACPI_RESERVED_WORD 0x0000299#define EFI_ACPI_RESERVED_DWORD 0x00000000300#define EFI_ACPI_RESERVED_QWORD 0x0000000000000000301302//303// Resource Type Specific Flags304// Ref ACPI specification 6.4.3.5.5305//306// Bit [0] : Write Status, _RW307//308#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_WRITE (1 << 0)309#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_ONLY (0 << 0)310//311// Bit [2:1] : Memory Attributes, _MEM312//313#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_NON_CACHEABLE (0 << 1)314#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE (1 << 1)315#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_WRITE_COMBINING (2 << 1)316#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE (3 << 1)317//318// Bit [4:3] : Memory Attributes, _MTP319//320#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_MEMORY (0 << 3)321#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_RESERVED (1 << 3)322#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_ACPI (2 << 3)323#define EFI_APCI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_NVS (3 << 3)324//325// Bit [5] : Memory to I/O Translation, _TTP326//327#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_TRANSLATION (1 << 5)328#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_STATIC (0 << 5)329330//331// IRQ Information332// Ref ACPI specification 6.4.2.1333//334#define EFI_ACPI_IRQ_SHARABLE_MASK 0x10335#define EFI_ACPI_IRQ_SHARABLE 0x10336337#define EFI_ACPI_IRQ_POLARITY_MASK 0x08338#define EFI_ACPI_IRQ_HIGH_TRUE 0x00339#define EFI_ACPI_IRQ_LOW_FALSE 0x08340341#define EFI_ACPI_IRQ_MODE 0x01342#define EFI_ACPI_IRQ_LEVEL_TRIGGERED 0x00343#define EFI_ACPI_IRQ_EDGE_TRIGGERED 0x01344345//346// DMA Information347// Ref ACPI specification 6.4.2.2348//349#define EFI_ACPI_DMA_SPEED_TYPE_MASK 0x60350#define EFI_ACPI_DMA_SPEED_TYPE_COMPATIBILITY 0x00351#define EFI_ACPI_DMA_SPEED_TYPE_A 0x20352#define EFI_ACPI_DMA_SPEED_TYPE_B 0x40353#define EFI_ACPI_DMA_SPEED_TYPE_F 0x60354355#define EFI_ACPI_DMA_BUS_MASTER_MASK 0x04356#define EFI_ACPI_DMA_BUS_MASTER 0x04357358#define EFI_ACPI_DMA_TRANSFER_TYPE_MASK 0x03359#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT 0x00360#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT_AND_16_BIT 0x01361#define EFI_ACPI_DMA_TRANSFER_TYPE_16_BIT 0x02362363//364// IO Information365// Ref ACPI specification 6.4.2.5366//367#define EFI_ACPI_IO_DECODE_MASK 0x01368#define EFI_ACPI_IO_DECODE_16_BIT 0x01369#define EFI_ACPI_IO_DECODE_10_BIT 0x00370371//372// Memory Information373// Ref ACPI specification 6.4.3.4374//375#define EFI_ACPI_MEMORY_WRITE_STATUS_MASK 0x01376#define EFI_ACPI_MEMORY_WRITABLE 0x01377#define EFI_ACPI_MEMORY_NON_WRITABLE 0x00378379//380// Interrupt Vector Flags definitions for Extended Interrupt Descriptor381// Ref ACPI specification 6.4.3.6382//383#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_PRODUCER_CONSUMER_MASK BIT0384#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_MODE_MASK BIT1385#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_POLARITY_MASK BIT2386#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_SHARABLE_MASK BIT3387#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_WAKE_CAPABLITY_MASK BIT4388389//390// Ensure proper structure formats391//392#pragma pack(1)393//394// ACPI 1.0b table structures395//396397///398/// Root System Description Pointer Structure.399///400typedef struct {401UINT64 Signature;402UINT8 Checksum;403UINT8 OemId[6];404UINT8 Reserved;405UINT32 RsdtAddress;406} EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER;407408//409// Root System Description Table410// No definition needed as it is a common description table header, the same with411// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.412//413414///415/// RSDT Revision (as defined in ACPI 1.0b specification).416///417#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01418419///420/// Fixed ACPI Description Table Structure (FADT).421///422typedef struct {423EFI_ACPI_DESCRIPTION_HEADER Header;424UINT32 FirmwareCtrl;425UINT32 Dsdt;426UINT8 IntModel;427UINT8 Reserved1;428UINT16 SciInt;429UINT32 SmiCmd;430UINT8 AcpiEnable;431UINT8 AcpiDisable;432UINT8 S4BiosReq;433UINT8 Reserved2;434UINT32 Pm1aEvtBlk;435UINT32 Pm1bEvtBlk;436UINT32 Pm1aCntBlk;437UINT32 Pm1bCntBlk;438UINT32 Pm2CntBlk;439UINT32 PmTmrBlk;440UINT32 Gpe0Blk;441UINT32 Gpe1Blk;442UINT8 Pm1EvtLen;443UINT8 Pm1CntLen;444UINT8 Pm2CntLen;445UINT8 PmTmLen;446UINT8 Gpe0BlkLen;447UINT8 Gpe1BlkLen;448UINT8 Gpe1Base;449UINT8 Reserved3;450UINT16 PLvl2Lat;451UINT16 PLvl3Lat;452UINT16 FlushSize;453UINT16 FlushStride;454UINT8 DutyOffset;455UINT8 DutyWidth;456UINT8 DayAlrm;457UINT8 MonAlrm;458UINT8 Century;459UINT8 Reserved4;460UINT8 Reserved5;461UINT8 Reserved6;462UINT32 Flags;463} EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE;464465///466/// FADT Version (as defined in ACPI 1.0b specification).467///468#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x01469470#define EFI_ACPI_1_0_INT_MODE_DUAL_PIC 0471#define EFI_ACPI_1_0_INT_MODE_MULTIPLE_APIC 1472473//474// Fixed ACPI Description Table Fixed Feature Flags475// All other bits are reserved and must be set to 0.476//477#define EFI_ACPI_1_0_WBINVD BIT0478#define EFI_ACPI_1_0_WBINVD_FLUSH BIT1479#define EFI_ACPI_1_0_PROC_C1 BIT2480#define EFI_ACPI_1_0_P_LVL2_UP BIT3481#define EFI_ACPI_1_0_PWR_BUTTON BIT4482#define EFI_ACPI_1_0_SLP_BUTTON BIT5483#define EFI_ACPI_1_0_FIX_RTC BIT6484#define EFI_ACPI_1_0_RTC_S4 BIT7485#define EFI_ACPI_1_0_TMR_VAL_EXT BIT8486#define EFI_ACPI_1_0_DCK_CAP BIT9487488///489/// Firmware ACPI Control Structure.490///491typedef struct {492UINT32 Signature;493UINT32 Length;494UINT32 HardwareSignature;495UINT32 FirmwareWakingVector;496UINT32 GlobalLock;497UINT32 Flags;498UINT8 Reserved[40];499} EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;500501///502/// Firmware Control Structure Feature Flags.503/// All other bits are reserved and must be set to 0.504///505#define EFI_ACPI_1_0_S4BIOS_F BIT0506507///508/// Multiple APIC Description Table header definition. The rest of the table509/// must be defined in a platform-specific manner.510///511typedef struct {512EFI_ACPI_DESCRIPTION_HEADER Header;513UINT32 LocalApicAddress;514UINT32 Flags;515} EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;516517///518/// MADT Revision (as defined in ACPI 1.0b specification).519///520#define EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01521522///523/// Multiple APIC Flags524/// All other bits are reserved and must be set to 0.525///526#define EFI_ACPI_1_0_PCAT_COMPAT BIT0527528//529// Multiple APIC Description Table APIC structure types530// All other values between 0x05 an 0xFF are reserved and531// will be ignored by OSPM.532//533#define EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC 0x00534#define EFI_ACPI_1_0_IO_APIC 0x01535#define EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE 0x02536#define EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03537#define EFI_ACPI_1_0_LOCAL_APIC_NMI 0x04538539//540// APIC Structure Definitions541//542543///544/// Processor Local APIC Structure Definition.545///546typedef struct {547UINT8 Type;548UINT8 Length;549UINT8 AcpiProcessorId;550UINT8 ApicId;551UINT32 Flags;552} EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC_STRUCTURE;553554///555/// Local APIC Flags. All other bits are reserved and must be 0.556///557#define EFI_ACPI_1_0_LOCAL_APIC_ENABLED BIT0558559///560/// IO APIC Structure.561///562typedef struct {563UINT8 Type;564UINT8 Length;565UINT8 IoApicId;566UINT8 Reserved;567UINT32 IoApicAddress;568UINT32 SystemVectorBase;569} EFI_ACPI_1_0_IO_APIC_STRUCTURE;570571///572/// Interrupt Source Override Structure.573///574typedef struct {575UINT8 Type;576UINT8 Length;577UINT8 Bus;578UINT8 Source;579UINT32 GlobalSystemInterruptVector;580UINT16 Flags;581} EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;582583///584/// Non-Maskable Interrupt Source Structure.585///586typedef struct {587UINT8 Type;588UINT8 Length;589UINT16 Flags;590UINT32 GlobalSystemInterruptVector;591} EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;592593///594/// Local APIC NMI Structure.595///596typedef struct {597UINT8 Type;598UINT8 Length;599UINT8 AcpiProcessorId;600UINT16 Flags;601UINT8 LocalApicInti;602} EFI_ACPI_1_0_LOCAL_APIC_NMI_STRUCTURE;603604///605/// Smart Battery Description Table (SBST)606///607typedef struct {608EFI_ACPI_DESCRIPTION_HEADER Header;609UINT32 WarningEnergyLevel;610UINT32 LowEnergyLevel;611UINT32 CriticalEnergyLevel;612} EFI_ACPI_1_0_SMART_BATTERY_DESCRIPTION_TABLE;613614//615// Known table signatures616//617618///619/// "RSD PTR " Root System Description Pointer.620///621#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')622623///624/// "APIC" Multiple APIC Description Table.625///626#define EFI_ACPI_1_0_APIC_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')627628///629/// "DSDT" Differentiated System Description Table.630///631#define EFI_ACPI_1_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')632633///634/// "FACS" Firmware ACPI Control Structure.635///636#define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')637638///639/// "FACP" Fixed ACPI Description Table.640///641#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')642643///644/// "PSDT" Persistent System Description Table.645///646#define EFI_ACPI_1_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')647648///649/// "RSDT" Root System Description Table.650///651#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')652653///654/// "SBST" Smart Battery Specification Table.655///656#define EFI_ACPI_1_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')657658///659/// "SSDT" Secondary System Description Table.660///661#define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')662663#pragma pack()664665#endif666667668