MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Acpi10.h File Reference

Data Structures

struct  EFI_ACPI_COMMON_HEADER
 
struct  EFI_ACPI_DESCRIPTION_HEADER
 
struct  EFI_ACPI_END_TAG_DESCRIPTOR
 
struct  EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER
 
struct  EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE
 
struct  EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE
 
struct  EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER
 
struct  EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC_STRUCTURE
 
struct  EFI_ACPI_1_0_IO_APIC_STRUCTURE
 
struct  EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE
 
struct  EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE
 
struct  EFI_ACPI_1_0_LOCAL_APIC_NMI_STRUCTURE
 
struct  EFI_ACPI_1_0_SMART_BATTERY_DESCRIPTION_TABLE
 

Macros

#define ACPI_SMALL_ITEM_FLAG   0x00
 
#define ACPI_LARGE_ITEM_FLAG   0x01
 
#define ACPI_SMALL_IRQ_DESCRIPTOR_NAME   0x04
 
#define ACPI_SMALL_DMA_DESCRIPTOR_NAME   0x05
 
#define ACPI_SMALL_START_DEPENDENT_DESCRIPTOR_NAME   0x06
 
#define ACPI_SMALL_END_DEPENDENT_DESCRIPTOR_NAME   0x07
 
#define ACPI_SMALL_IO_PORT_DESCRIPTOR_NAME   0x08
 
#define ACPI_SMALL_FIXED_IO_PORT_DESCRIPTOR_NAME   0x09
 
#define ACPI_SMALL_VENDOR_DEFINED_DESCRIPTOR_NAME   0x0E
 
#define ACPI_SMALL_END_TAG_DESCRIPTOR_NAME   0x0F
 
#define ACPI_LARGE_24_BIT_MEMORY_RANGE_DESCRIPTOR_NAME   0x01
 
#define ACPI_LARGE_VENDOR_DEFINED_DESCRIPTOR_NAME   0x04
 
#define ACPI_LARGE_32_BIT_MEMORY_RANGE_DESCRIPTOR_NAME   0x05
 
#define ACPI_LARGE_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR_NAME   0x06
 
#define ACPI_LARGE_DWORD_ADDRESS_SPACE_DESCRIPTOR_NAME   0x07
 
#define ACPI_LARGE_WORD_ADDRESS_SPACE_DESCRIPTOR_NAME   0x08
 
#define ACPI_LARGE_EXTENDED_IRQ_DESCRIPTOR_NAME   0x09
 
#define ACPI_LARGE_QWORD_ADDRESS_SPACE_DESCRIPTOR_NAME   0x0A
 
#define ACPI_IRQ_NOFLAG_DESCRIPTOR   0x22
 
#define ACPI_IRQ_DESCRIPTOR   0x23
 
#define ACPI_DMA_DESCRIPTOR   0x2A
 
#define ACPI_START_DEPENDENT_DESCRIPTOR   0x30
 
#define ACPI_START_DEPENDENT_EX_DESCRIPTOR   0x31
 
#define ACPI_END_DEPENDENT_DESCRIPTOR   0x38
 
#define ACPI_IO_PORT_DESCRIPTOR   0x47
 
#define ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR   0x4B
 
#define ACPI_END_TAG_DESCRIPTOR   0x79
 
#define ACPI_24_BIT_MEMORY_RANGE_DESCRIPTOR   0x81
 
#define ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR   0x85
 
#define ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR   0x86
 
#define ACPI_DWORD_ADDRESS_SPACE_DESCRIPTOR   0x87
 
#define ACPI_WORD_ADDRESS_SPACE_DESCRIPTOR   0x88
 
#define ACPI_EXTENDED_INTERRUPT_DESCRIPTOR   0x89
 
#define ACPI_QWORD_ADDRESS_SPACE_DESCRIPTOR   0x8A
 
#define ACPI_ADDRESS_SPACE_DESCRIPTOR   0x8A
 
#define ACPI_ADDRESS_SPACE_TYPE_MEM   0x00
 
#define ACPI_ADDRESS_SPACE_TYPE_IO   0x01
 
#define ACPI_ADDRESS_SPACE_TYPE_BUS   0x02
 
#define ACPI_TIMER_FREQUENCY   3579545
 
#define EFI_ACPI_RESERVED_BYTE   0x00
 
#define EFI_ACPI_RESERVED_WORD   0x0000
 
#define EFI_ACPI_RESERVED_DWORD   0x00000000
 
#define EFI_ACPI_RESERVED_QWORD   0x0000000000000000
 
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_WRITE   (1 << 0)
 
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_ONLY   (0 << 0)
 
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_NON_CACHEABLE   (0 << 1)
 
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE   (1 << 1)
 
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_WRITE_COMBINING   (2 << 1)
 
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE   (3 << 1)
 
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_MEMORY   (0 << 3)
 
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_RESERVED   (1 << 3)
 
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_ACPI   (2 << 3)
 
#define EFI_APCI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_NVS   (3 << 3)
 
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_TRANSLATION   (1 << 5)
 
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_STATIC   (0 << 5)
 
#define EFI_ACPI_IRQ_SHARABLE_MASK   0x10
 
#define EFI_ACPI_IRQ_SHARABLE   0x10
 
#define EFI_ACPI_IRQ_POLARITY_MASK   0x08
 
#define EFI_ACPI_IRQ_HIGH_TRUE   0x00
 
#define EFI_ACPI_IRQ_LOW_FALSE   0x08
 
#define EFI_ACPI_IRQ_MODE   0x01
 
#define EFI_ACPI_IRQ_LEVEL_TRIGGERED   0x00
 
#define EFI_ACPI_IRQ_EDGE_TRIGGERED   0x01
 
#define EFI_ACPI_DMA_SPEED_TYPE_MASK   0x60
 
#define EFI_ACPI_DMA_SPEED_TYPE_COMPATIBILITY   0x00
 
#define EFI_ACPI_DMA_SPEED_TYPE_A   0x20
 
#define EFI_ACPI_DMA_SPEED_TYPE_B   0x40
 
#define EFI_ACPI_DMA_SPEED_TYPE_F   0x60
 
#define EFI_ACPI_DMA_BUS_MASTER_MASK   0x04
 
#define EFI_ACPI_DMA_BUS_MASTER   0x04
 
#define EFI_ACPI_DMA_TRANSFER_TYPE_MASK   0x03
 
#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT   0x00
 
#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT_AND_16_BIT   0x01
 
#define EFI_ACPI_DMA_TRANSFER_TYPE_16_BIT   0x02
 
#define EFI_ACPI_IO_DECODE_MASK   0x01
 
#define EFI_ACPI_IO_DECODE_16_BIT   0x01
 
#define EFI_ACPI_IO_DECODE_10_BIT   0x00
 
#define EFI_ACPI_MEMORY_WRITE_STATUS_MASK   0x01
 
#define EFI_ACPI_MEMORY_WRITABLE   0x01
 
#define EFI_ACPI_MEMORY_NON_WRITABLE   0x00
 
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_PRODUCER_CONSUMER_MASK   BIT0
 
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_MODE_MASK   BIT1
 
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_POLARITY_MASK   BIT2
 
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_SHARABLE_MASK   BIT3
 
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_WAKE_CAPABLITY_MASK   BIT4
 
#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION   0x01
 
#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION   0x01
 
#define EFI_ACPI_1_0_INT_MODE_DUAL_PIC   0
 
#define EFI_ACPI_1_0_INT_MODE_MULTIPLE_APIC   1
 
#define EFI_ACPI_1_0_WBINVD   BIT0
 
#define EFI_ACPI_1_0_WBINVD_FLUSH   BIT1
 
#define EFI_ACPI_1_0_PROC_C1   BIT2
 
#define EFI_ACPI_1_0_P_LVL2_UP   BIT3
 
#define EFI_ACPI_1_0_PWR_BUTTON   BIT4
 
#define EFI_ACPI_1_0_SLP_BUTTON   BIT5
 
#define EFI_ACPI_1_0_FIX_RTC   BIT6
 
#define EFI_ACPI_1_0_RTC_S4   BIT7
 
#define EFI_ACPI_1_0_TMR_VAL_EXT   BIT8
 
#define EFI_ACPI_1_0_DCK_CAP   BIT9
 
#define EFI_ACPI_1_0_S4BIOS_F   BIT0
 
#define EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION   0x01
 
#define EFI_ACPI_1_0_PCAT_COMPAT   BIT0
 
#define EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC   0x00
 
#define EFI_ACPI_1_0_IO_APIC   0x01
 
#define EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE   0x02
 
#define EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE   0x03
 
#define EFI_ACPI_1_0_LOCAL_APIC_NMI   0x04
 
#define EFI_ACPI_1_0_LOCAL_APIC_ENABLED   BIT0
 
#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE   SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
 
#define EFI_ACPI_1_0_APIC_SIGNATURE   SIGNATURE_32('A', 'P', 'I', 'C')
 
#define EFI_ACPI_1_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE   SIGNATURE_32('D', 'S', 'D', 'T')
 
#define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE   SIGNATURE_32('F', 'A', 'C', 'S')
 
#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE   SIGNATURE_32('F', 'A', 'C', 'P')
 
#define EFI_ACPI_1_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE   SIGNATURE_32('P', 'S', 'D', 'T')
 
#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE   SIGNATURE_32('R', 'S', 'D', 'T')
 
#define EFI_ACPI_1_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE   SIGNATURE_32('S', 'B', 'S', 'T')
 
#define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE   SIGNATURE_32('S', 'S', 'D', 'T')
 

Typedefs

struct {
   UINT8   Desc
 
   UINT16   Len
 
   UINT8   ResType
 
   UINT8   GenFlag
 
   UINT8   SpecificFlag
 
   UINT64   AddrSpaceGranularity
 
   UINT64   AddrRangeMin
 
   UINT64   AddrRangeMax
 
   UINT64   AddrTranslationOffset
 
   UINT64   AddrLen
 
EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR
 
union {
   UINT8   Byte
 
   struct {
      UINT8   Length: 3
 
      UINT8   Name: 4
 
      UINT8   Type: 1
 
   }   Bits
 
ACPI_SMALL_RESOURCE_HEADER
 
struct {
   union {
      UINT8   Byte
 
      struct {
         UINT8   Name: 7
 
         UINT8   Type: 1
 
      }   Bits
 
   }   Header
 
   UINT16   Length
 
ACPI_LARGE_RESOURCE_HEADER
 
struct {
   ACPI_SMALL_RESOURCE_HEADER   Header
 
   UINT16   Mask
 
EFI_ACPI_IRQ_NOFLAG_DESCRIPTOR
 
struct {
   ACPI_SMALL_RESOURCE_HEADER   Header
 
   UINT16   Mask
 
   UINT8   Information
 
EFI_ACPI_IRQ_DESCRIPTOR
 
struct {
   ACPI_SMALL_RESOURCE_HEADER   Header
 
   UINT8   ChannelMask
 
   UINT8   Information
 
EFI_ACPI_DMA_DESCRIPTOR
 
struct {
   ACPI_SMALL_RESOURCE_HEADER   Header
 
   UINT8   Information
 
   UINT16   BaseAddressMin
 
   UINT16   BaseAddressMax
 
   UINT8   Alignment
 
   UINT8   Length
 
EFI_ACPI_IO_PORT_DESCRIPTOR
 
struct {
   ACPI_SMALL_RESOURCE_HEADER   Header
 
   UINT16   BaseAddress
 
   UINT8   Length
 
EFI_ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR
 
struct {
   ACPI_LARGE_RESOURCE_HEADER   Header
 
   UINT8   Information
 
   UINT16   BaseAddressMin
 
   UINT16   BaseAddressMax
 
   UINT16   Alignment
 
   UINT16   Length
 
EFI_ACPI_24_BIT_MEMORY_RANGE_DESCRIPTOR
 
struct {
   ACPI_LARGE_RESOURCE_HEADER   Header
 
   UINT8   Information
 
   UINT32   BaseAddressMin
 
   UINT32   BaseAddressMax
 
   UINT32   Alignment
 
   UINT32   Length
 
EFI_ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR
 
struct {
   ACPI_LARGE_RESOURCE_HEADER   Header
 
   UINT8   Information
 
   UINT32   BaseAddress
 
   UINT32   Length
 
EFI_ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR
 
struct {
   ACPI_LARGE_RESOURCE_HEADER   Header
 
   UINT8   ResType
 
   UINT8   GenFlag
 
   UINT8   SpecificFlag
 
   UINT64   AddrSpaceGranularity
 
   UINT64   AddrRangeMin
 
   UINT64   AddrRangeMax
 
   UINT64   AddrTranslationOffset
 
   UINT64   AddrLen
 
EFI_ACPI_QWORD_ADDRESS_SPACE_DESCRIPTOR
 
struct {
   ACPI_LARGE_RESOURCE_HEADER   Header
 
   UINT8   ResType
 
   UINT8   GenFlag
 
   UINT8   SpecificFlag
 
   UINT32   AddrSpaceGranularity
 
   UINT32   AddrRangeMin
 
   UINT32   AddrRangeMax
 
   UINT32   AddrTranslationOffset
 
   UINT32   AddrLen
 
EFI_ACPI_DWORD_ADDRESS_SPACE_DESCRIPTOR
 
struct {
   ACPI_LARGE_RESOURCE_HEADER   Header
 
   UINT8   ResType
 
   UINT8   GenFlag
 
   UINT8   SpecificFlag
 
   UINT16   AddrSpaceGranularity
 
   UINT16   AddrRangeMin
 
   UINT16   AddrRangeMax
 
   UINT16   AddrTranslationOffset
 
   UINT16   AddrLen
 
EFI_ACPI_WORD_ADDRESS_SPACE_DESCRIPTOR
 
struct {
   ACPI_LARGE_RESOURCE_HEADER   Header
 
   UINT8   InterruptVectorFlags
 
   UINT8   InterruptTableLength
 
   UINT32   InterruptNumber [1]
 
EFI_ACPI_EXTENDED_INTERRUPT_DESCRIPTOR
 

Detailed Description

ACPI 1.0b definitions from the ACPI Specification, revision 1.0b

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
Copyright (c) 2020, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define ACPI_24_BIT_MEMORY_RANGE_DESCRIPTOR   0x81
#define ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR   0x86
#define ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR   0x85
#define ACPI_ADDRESS_SPACE_DESCRIPTOR   0x8A
#define ACPI_ADDRESS_SPACE_TYPE_BUS   0x02
#define ACPI_ADDRESS_SPACE_TYPE_IO   0x01
#define ACPI_ADDRESS_SPACE_TYPE_MEM   0x00
#define ACPI_DMA_DESCRIPTOR   0x2A
#define ACPI_DWORD_ADDRESS_SPACE_DESCRIPTOR   0x87
#define ACPI_END_DEPENDENT_DESCRIPTOR   0x38
#define ACPI_END_TAG_DESCRIPTOR   0x79
#define ACPI_EXTENDED_INTERRUPT_DESCRIPTOR   0x89
#define ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR   0x4B
#define ACPI_IO_PORT_DESCRIPTOR   0x47
#define ACPI_IRQ_DESCRIPTOR   0x23
#define ACPI_IRQ_NOFLAG_DESCRIPTOR   0x22
#define ACPI_LARGE_24_BIT_MEMORY_RANGE_DESCRIPTOR_NAME   0x01
#define ACPI_LARGE_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR_NAME   0x06
#define ACPI_LARGE_32_BIT_MEMORY_RANGE_DESCRIPTOR_NAME   0x05
#define ACPI_LARGE_DWORD_ADDRESS_SPACE_DESCRIPTOR_NAME   0x07
#define ACPI_LARGE_EXTENDED_IRQ_DESCRIPTOR_NAME   0x09
#define ACPI_LARGE_ITEM_FLAG   0x01
#define ACPI_LARGE_QWORD_ADDRESS_SPACE_DESCRIPTOR_NAME   0x0A
#define ACPI_LARGE_VENDOR_DEFINED_DESCRIPTOR_NAME   0x04
#define ACPI_LARGE_WORD_ADDRESS_SPACE_DESCRIPTOR_NAME   0x08
#define ACPI_QWORD_ADDRESS_SPACE_DESCRIPTOR   0x8A
#define ACPI_SMALL_DMA_DESCRIPTOR_NAME   0x05
#define ACPI_SMALL_END_DEPENDENT_DESCRIPTOR_NAME   0x07
#define ACPI_SMALL_END_TAG_DESCRIPTOR_NAME   0x0F
#define ACPI_SMALL_FIXED_IO_PORT_DESCRIPTOR_NAME   0x09
#define ACPI_SMALL_IO_PORT_DESCRIPTOR_NAME   0x08
#define ACPI_SMALL_IRQ_DESCRIPTOR_NAME   0x04
#define ACPI_SMALL_ITEM_FLAG   0x00
#define ACPI_SMALL_START_DEPENDENT_DESCRIPTOR_NAME   0x06
#define ACPI_SMALL_VENDOR_DEFINED_DESCRIPTOR_NAME   0x0E
#define ACPI_START_DEPENDENT_DESCRIPTOR   0x30
#define ACPI_START_DEPENDENT_EX_DESCRIPTOR   0x31
#define ACPI_TIMER_FREQUENCY   3579545

Power Management Timer frequency is fixed at 3.579545MHz.

#define ACPI_WORD_ADDRESS_SPACE_DESCRIPTOR   0x88
#define EFI_ACPI_1_0_APIC_SIGNATURE   SIGNATURE_32('A', 'P', 'I', 'C')

"APIC" Multiple APIC Description Table.

#define EFI_ACPI_1_0_DCK_CAP   BIT9
#define EFI_ACPI_1_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE   SIGNATURE_32('D', 'S', 'D', 'T')

"DSDT" Differentiated System Description Table.

#define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE   SIGNATURE_32('F', 'A', 'C', 'S')

"FACS" Firmware ACPI Control Structure.

#define EFI_ACPI_1_0_FIX_RTC   BIT6
#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION   0x01

FADT Version (as defined in ACPI 1.0b specification).

#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE   SIGNATURE_32('F', 'A', 'C', 'P')

"FACP" Fixed ACPI Description Table.

#define EFI_ACPI_1_0_INT_MODE_DUAL_PIC   0
#define EFI_ACPI_1_0_INT_MODE_MULTIPLE_APIC   1
#define EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE   0x02
#define EFI_ACPI_1_0_IO_APIC   0x01
#define EFI_ACPI_1_0_LOCAL_APIC_ENABLED   BIT0

Local APIC Flags. All other bits are reserved and must be 0.

#define EFI_ACPI_1_0_LOCAL_APIC_NMI   0x04
#define EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION   0x01

MADT Revision (as defined in ACPI 1.0b specification).

#define EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE   0x03
#define EFI_ACPI_1_0_P_LVL2_UP   BIT3
#define EFI_ACPI_1_0_PCAT_COMPAT   BIT0

Multiple APIC Flags All other bits are reserved and must be set to 0.

#define EFI_ACPI_1_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE   SIGNATURE_32('P', 'S', 'D', 'T')

"PSDT" Persistent System Description Table.

#define EFI_ACPI_1_0_PROC_C1   BIT2
#define EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC   0x00
#define EFI_ACPI_1_0_PWR_BUTTON   BIT4
#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE   SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')

"RSD PTR " Root System Description Pointer.

#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION   0x01

RSDT Revision (as defined in ACPI 1.0b specification).

#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE   SIGNATURE_32('R', 'S', 'D', 'T')

"RSDT" Root System Description Table.

#define EFI_ACPI_1_0_RTC_S4   BIT7
#define EFI_ACPI_1_0_S4BIOS_F   BIT0

Firmware Control Structure Feature Flags. All other bits are reserved and must be set to 0.

#define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE   SIGNATURE_32('S', 'S', 'D', 'T')

"SSDT" Secondary System Description Table.

#define EFI_ACPI_1_0_SLP_BUTTON   BIT5
#define EFI_ACPI_1_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE   SIGNATURE_32('S', 'B', 'S', 'T')

"SBST" Smart Battery Specification Table.

#define EFI_ACPI_1_0_TMR_VAL_EXT   BIT8
#define EFI_ACPI_1_0_WBINVD   BIT0
#define EFI_ACPI_1_0_WBINVD_FLUSH   BIT1
#define EFI_ACPI_DMA_BUS_MASTER   0x04
#define EFI_ACPI_DMA_BUS_MASTER_MASK   0x04
#define EFI_ACPI_DMA_SPEED_TYPE_A   0x20
#define EFI_ACPI_DMA_SPEED_TYPE_B   0x40
#define EFI_ACPI_DMA_SPEED_TYPE_COMPATIBILITY   0x00
#define EFI_ACPI_DMA_SPEED_TYPE_F   0x60
#define EFI_ACPI_DMA_SPEED_TYPE_MASK   0x60
#define EFI_ACPI_DMA_TRANSFER_TYPE_16_BIT   0x02
#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT   0x00
#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT_AND_16_BIT   0x01
#define EFI_ACPI_DMA_TRANSFER_TYPE_MASK   0x03
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_MODE_MASK   BIT1
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_POLARITY_MASK   BIT2
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_PRODUCER_CONSUMER_MASK   BIT0
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_SHARABLE_MASK   BIT3
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_WAKE_CAPABLITY_MASK   BIT4
#define EFI_ACPI_IO_DECODE_10_BIT   0x00
#define EFI_ACPI_IO_DECODE_16_BIT   0x01
#define EFI_ACPI_IO_DECODE_MASK   0x01
#define EFI_ACPI_IRQ_EDGE_TRIGGERED   0x01
#define EFI_ACPI_IRQ_HIGH_TRUE   0x00
#define EFI_ACPI_IRQ_LEVEL_TRIGGERED   0x00
#define EFI_ACPI_IRQ_LOW_FALSE   0x08
#define EFI_ACPI_IRQ_MODE   0x01
#define EFI_ACPI_IRQ_POLARITY_MASK   0x08
#define EFI_ACPI_IRQ_SHARABLE   0x10
#define EFI_ACPI_IRQ_SHARABLE_MASK   0x10
#define EFI_ACPI_MEMORY_NON_WRITABLE   0x00
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_ACPI   (2 << 3)
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_MEMORY   (0 << 3)
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_RESERVED   (1 << 3)
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE   (1 << 1)
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE   (3 << 1)
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_WRITE_COMBINING   (2 << 1)
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_NON_CACHEABLE   (0 << 1)
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_ONLY   (0 << 0)
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_WRITE   (1 << 0)
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_STATIC   (0 << 5)
#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_TRANSLATION   (1 << 5)
#define EFI_ACPI_MEMORY_WRITABLE   0x01
#define EFI_ACPI_MEMORY_WRITE_STATUS_MASK   0x01
#define EFI_ACPI_RESERVED_BYTE   0x00
#define EFI_ACPI_RESERVED_DWORD   0x00000000
#define EFI_ACPI_RESERVED_QWORD   0x0000000000000000
#define EFI_ACPI_RESERVED_WORD   0x0000
#define EFI_APCI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_NVS   (3 << 3)

Typedef Documentation

typedef { ... } ACPI_LARGE_RESOURCE_HEADER
typedef { ... } ACPI_SMALL_RESOURCE_HEADER

24-Bit Memory Range Descriptor

Fixed 32-Bit Fixed Memory Range Descriptor

32-Bit Memory Range Descriptor

The common definition of QWORD, DWORD, and WORD Address Space Descriptors.

typedef { ... } EFI_ACPI_DMA_DESCRIPTOR

DMA Descriptor.

DWORD Address Space Descriptor

Extended Interrupt Descriptor

Fixed Location I/O Port Descriptor.

typedef { ... } EFI_ACPI_IO_PORT_DESCRIPTOR

I/O Port Descriptor

typedef { ... } EFI_ACPI_IRQ_DESCRIPTOR

IRQ Descriptor.

IRQ Descriptor.

QWORD Address Space Descriptor

WORD Address Space Descriptor

Variable Documentation

UINT16 AddrLen
UINT16 AddrRangeMax
UINT16 AddrRangeMin
UINT16 AddrSpaceGranularity
UINT16 AddrTranslationOffset
UINT32 Alignment
UINT32 BaseAddress
UINT32 BaseAddressMax
UINT32 BaseAddressMin
PACKED { ... } Bits
UINT8 Byte
UINT8 ChannelMask
UINT8 Desc
UINT8 GenFlag
UINT8 Information
UINT32 InterruptNumber[1]
UINT8 InterruptTableLength
UINT8 InterruptVectorFlags
UINT16 Len
UINT16 Mask
UINT8 Name
UINT8 ResType
UINT8 SpecificFlag