Acpi2_0.h revision 30fdf1140b8d1ce93f3821d986fa165552023440
130fdf1140b8d1ce93f3821d986fa165552023440lgao/** @file
230fdf1140b8d1ce93f3821d986fa165552023440lgao  ACPI 2.0 definitions from the ACPI Specification, revision 2.0
330fdf1140b8d1ce93f3821d986fa165552023440lgao
430fdf1140b8d1ce93f3821d986fa165552023440lgao  Copyright (c) 2006 - 2007 Intel Corporation. All rights reserved.
530fdf1140b8d1ce93f3821d986fa165552023440lgao
630fdf1140b8d1ce93f3821d986fa165552023440lgao  This program and the accompanying materials are licensed and made available
730fdf1140b8d1ce93f3821d986fa165552023440lgao  under the terms and conditions of the BSD License which accompanies this
830fdf1140b8d1ce93f3821d986fa165552023440lgao  distribution.  The full text of the license may be found at:
930fdf1140b8d1ce93f3821d986fa165552023440lgao    http://opensource.org/licenses/bsd-license.php
1030fdf1140b8d1ce93f3821d986fa165552023440lgao
1130fdf1140b8d1ce93f3821d986fa165552023440lgao  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
1230fdf1140b8d1ce93f3821d986fa165552023440lgao  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
1330fdf1140b8d1ce93f3821d986fa165552023440lgao
1430fdf1140b8d1ce93f3821d986fa165552023440lgao  File Name: Acpi2_0.h
1530fdf1140b8d1ce93f3821d986fa165552023440lgao
1630fdf1140b8d1ce93f3821d986fa165552023440lgao**/
1730fdf1140b8d1ce93f3821d986fa165552023440lgao
1830fdf1140b8d1ce93f3821d986fa165552023440lgao#ifndef _ACPI_2_0_H_
1930fdf1140b8d1ce93f3821d986fa165552023440lgao#define _ACPI_2_0_H_
2030fdf1140b8d1ce93f3821d986fa165552023440lgao
2130fdf1140b8d1ce93f3821d986fa165552023440lgao#include "IndustryStandard/Acpi.h"
2230fdf1140b8d1ce93f3821d986fa165552023440lgao
2330fdf1140b8d1ce93f3821d986fa165552023440lgao//
2430fdf1140b8d1ce93f3821d986fa165552023440lgao// Ensure proper structure formats
2530fdf1140b8d1ce93f3821d986fa165552023440lgao//
2630fdf1140b8d1ce93f3821d986fa165552023440lgao#pragma pack(1)
2730fdf1140b8d1ce93f3821d986fa165552023440lgao//
2830fdf1140b8d1ce93f3821d986fa165552023440lgao// ACPI Specification Revision
2930fdf1140b8d1ce93f3821d986fa165552023440lgao//
3030fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_REVISION 0x02
3130fdf1140b8d1ce93f3821d986fa165552023440lgao
3230fdf1140b8d1ce93f3821d986fa165552023440lgao//
3330fdf1140b8d1ce93f3821d986fa165552023440lgao// BUGBUG: OEM values need to be moved somewhere else, probably read from data hub
3430fdf1140b8d1ce93f3821d986fa165552023440lgao// and produced by a platform specific driver.
3530fdf1140b8d1ce93f3821d986fa165552023440lgao//
3630fdf1140b8d1ce93f3821d986fa165552023440lgao//
3730fdf1140b8d1ce93f3821d986fa165552023440lgao// ACPI OEM ID
3830fdf1140b8d1ce93f3821d986fa165552023440lgao//
3930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_OEM_ID       "INTEL "
4030fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_OEM_TABLE_ID 0x5034303738543245  // "E2T8704P"
4130fdf1140b8d1ce93f3821d986fa165552023440lgao//
4230fdf1140b8d1ce93f3821d986fa165552023440lgao// ACPI OEM Revision
4330fdf1140b8d1ce93f3821d986fa165552023440lgao//
4430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_OEM_REVISION 0x00000002
4530fdf1140b8d1ce93f3821d986fa165552023440lgao
4630fdf1140b8d1ce93f3821d986fa165552023440lgao//
4730fdf1140b8d1ce93f3821d986fa165552023440lgao// ACPI table creator ID
4830fdf1140b8d1ce93f3821d986fa165552023440lgao//
4930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_CREATOR_ID 0x5446534D  // TBD "MSFT"
5030fdf1140b8d1ce93f3821d986fa165552023440lgao//
5130fdf1140b8d1ce93f3821d986fa165552023440lgao// ACPI table creator revision
5230fdf1140b8d1ce93f3821d986fa165552023440lgao//
5330fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_CREATOR_REVISION 0x01000013  // TBD
5430fdf1140b8d1ce93f3821d986fa165552023440lgao//
5530fdf1140b8d1ce93f3821d986fa165552023440lgao// ACPI 2.0 Generic Address Space definition
5630fdf1140b8d1ce93f3821d986fa165552023440lgao//
5730fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
5830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   AddressSpaceId;
5930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   RegisterBitWidth;
6030fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   RegisterBitOffset;
6130fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Reserved;
6230fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT64  Address;
6330fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE;
6430fdf1140b8d1ce93f3821d986fa165552023440lgao
6530fdf1140b8d1ce93f3821d986fa165552023440lgao//
6630fdf1140b8d1ce93f3821d986fa165552023440lgao// Generic Address Space Address IDs
6730fdf1140b8d1ce93f3821d986fa165552023440lgao//
6830fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_SYSTEM_MEMORY              0
6930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_SYSTEM_IO                  1
7030fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_PCI_CONFIGURATION_SPACE    2
7130fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER        3
7230fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_SMBUS                      4
7330fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_FUNCTIONAL_FIXED_HARDWARE  0x7F
7430fdf1140b8d1ce93f3821d986fa165552023440lgao
7530fdf1140b8d1ce93f3821d986fa165552023440lgao//
7630fdf1140b8d1ce93f3821d986fa165552023440lgao// ACPI 2.0 table structures
7730fdf1140b8d1ce93f3821d986fa165552023440lgao//
7830fdf1140b8d1ce93f3821d986fa165552023440lgao//
7930fdf1140b8d1ce93f3821d986fa165552023440lgao// Root System Description Pointer Structure
8030fdf1140b8d1ce93f3821d986fa165552023440lgao//
8130fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
8230fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT64  Signature;
8330fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Checksum;
8430fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   OemId[6];
8530fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Revision;
8630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  RsdtAddress;
8730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  Length;
8830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT64  XsdtAddress;
8930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   ExtendedChecksum;
9030fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Reserved[3];
9130fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER;
9230fdf1140b8d1ce93f3821d986fa165552023440lgao
9330fdf1140b8d1ce93f3821d986fa165552023440lgao//
9430fdf1140b8d1ce93f3821d986fa165552023440lgao// RSD_PTR Revision (as defined in ACPI 2.0 spec.)
9530fdf1140b8d1ce93f3821d986fa165552023440lgao//
9630fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02
9730fdf1140b8d1ce93f3821d986fa165552023440lgao
9830fdf1140b8d1ce93f3821d986fa165552023440lgao//
9930fdf1140b8d1ce93f3821d986fa165552023440lgao// Common table header, this prefaces all ACPI tables, including FACS, but
10030fdf1140b8d1ce93f3821d986fa165552023440lgao// excluding the RSD PTR structure
10130fdf1140b8d1ce93f3821d986fa165552023440lgao//
10230fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
10330fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  Signature;
10430fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  Length;
10530fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_COMMON_HEADER;
10630fdf1140b8d1ce93f3821d986fa165552023440lgao
10730fdf1140b8d1ce93f3821d986fa165552023440lgao//
10830fdf1140b8d1ce93f3821d986fa165552023440lgao// Root System Description Table
10930fdf1140b8d1ce93f3821d986fa165552023440lgao// No definition needed as it is a common description table header followed by a
11030fdf1140b8d1ce93f3821d986fa165552023440lgao// variable number of UINT32 table pointers.
11130fdf1140b8d1ce93f3821d986fa165552023440lgao//
11230fdf1140b8d1ce93f3821d986fa165552023440lgao//
11330fdf1140b8d1ce93f3821d986fa165552023440lgao// RSDT Revision (as defined in ACPI 2.0 spec.)
11430fdf1140b8d1ce93f3821d986fa165552023440lgao//
11530fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
11630fdf1140b8d1ce93f3821d986fa165552023440lgao
11730fdf1140b8d1ce93f3821d986fa165552023440lgao//
11830fdf1140b8d1ce93f3821d986fa165552023440lgao// Extended System Description Table
11930fdf1140b8d1ce93f3821d986fa165552023440lgao// No definition needed as it is a common description table header followed by a
12030fdf1140b8d1ce93f3821d986fa165552023440lgao// variable number of UINT64 table pointers.
12130fdf1140b8d1ce93f3821d986fa165552023440lgao//
12230fdf1140b8d1ce93f3821d986fa165552023440lgao//
12330fdf1140b8d1ce93f3821d986fa165552023440lgao// XSDT Revision (as defined in ACPI 2.0 spec.)
12430fdf1140b8d1ce93f3821d986fa165552023440lgao//
12530fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
12630fdf1140b8d1ce93f3821d986fa165552023440lgao
12730fdf1140b8d1ce93f3821d986fa165552023440lgao//
12830fdf1140b8d1ce93f3821d986fa165552023440lgao// Fixed ACPI Description Table Structure (FADT)
12930fdf1140b8d1ce93f3821d986fa165552023440lgao//
13030fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
13130fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_DESCRIPTION_HEADER             Header;
13230fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                                  FirmwareCtrl;
13330fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                                  Dsdt;
13430fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   Reserved0;
13530fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   PreferredPmProfile;
13630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT16                                  SciInt;
13730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                                  SmiCmd;
13830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   AcpiEnable;
13930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   AcpiDisable;
14030fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   S4BiosReq;
14130fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   PstateCnt;
14230fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                                  Pm1aEvtBlk;
14330fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                                  Pm1bEvtBlk;
14430fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                                  Pm1aCntBlk;
14530fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                                  Pm1bCntBlk;
14630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                                  Pm2CntBlk;
14730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                                  PmTmrBlk;
14830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                                  Gpe0Blk;
14930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                                  Gpe1Blk;
15030fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   Pm1EvtLen;
15130fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   Pm1CntLen;
15230fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   Pm2CntLen;
15330fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   PmTmrLen;
15430fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   Gpe0BlkLen;
15530fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   Gpe1BlkLen;
15630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   Gpe1Base;
15730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   CstCnt;
15830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT16                                  PLvl2Lat;
15930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT16                                  PLvl3Lat;
16030fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT16                                  FlushSize;
16130fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT16                                  FlushStride;
16230fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   DutyOffset;
16330fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   DutyWidth;
16430fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   DayAlrm;
16530fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   MonAlrm;
16630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   Century;
16730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT16                                  IaPcBootArch;
16830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   Reserved1;
16930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                                  Flags;
17030fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  ResetReg;
17130fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   ResetValue;
17230fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   Reserved2[3];
17330fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT64                                  XFirmwareCtrl;
17430fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT64                                  XDsdt;
17530fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  XPm1aEvtBlk;
17630fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  XPm1bEvtBlk;
17730fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  XPm1aCntBlk;
17830fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  XPm1bCntBlk;
17930fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  XPm2CntBlk;
18030fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  XPmTmrBlk;
18130fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  XGpe0Blk;
18230fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  XGpe1Blk;
18330fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE;
18430fdf1140b8d1ce93f3821d986fa165552023440lgao
18530fdf1140b8d1ce93f3821d986fa165552023440lgao//
18630fdf1140b8d1ce93f3821d986fa165552023440lgao// FADT Version (as defined in ACPI 2.0 spec.)
18730fdf1140b8d1ce93f3821d986fa165552023440lgao//
18830fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION  0x03
18930fdf1140b8d1ce93f3821d986fa165552023440lgao
19030fdf1140b8d1ce93f3821d986fa165552023440lgao//
19130fdf1140b8d1ce93f3821d986fa165552023440lgao// Fixed ACPI Description Table Boot Architecture Flags
19230fdf1140b8d1ce93f3821d986fa165552023440lgao// All other bits are reserved and must be set to 0.
19330fdf1140b8d1ce93f3821d986fa165552023440lgao//
19430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_LEGACY_DEVICES (1 << 0)
19530fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_8042           (1 << 1)
19630fdf1140b8d1ce93f3821d986fa165552023440lgao
19730fdf1140b8d1ce93f3821d986fa165552023440lgao//
19830fdf1140b8d1ce93f3821d986fa165552023440lgao// Fixed ACPI Description Table Fixed Feature Flags
19930fdf1140b8d1ce93f3821d986fa165552023440lgao// All other bits are reserved and must be set to 0.
20030fdf1140b8d1ce93f3821d986fa165552023440lgao//
20130fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_WBINVD         (1 << 0)
20230fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_WBINVD_FLUSH   (1 << 1)
20330fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_PROC_C1        (1 << 2)
20430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_P_LVL2_UP      (1 << 3)
20530fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_PWR_BUTTON     (1 << 4)
20630fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_SLP_BUTTON     (1 << 5)
20730fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_FIX_RTC        (1 << 6)
20830fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_RTC_S4         (1 << 7)
20930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_TMR_VAL_EXT    (1 << 8)
21030fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_DCK_CAP        (1 << 9)
21130fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_RESET_REG_SUP  (1 << 10)
21230fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_SEALED_CASE    (1 << 11)
21330fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_HEADLESS       (1 << 12)
21430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_CPU_SW_SLP     (1 << 13)
21530fdf1140b8d1ce93f3821d986fa165552023440lgao
21630fdf1140b8d1ce93f3821d986fa165552023440lgao//
21730fdf1140b8d1ce93f3821d986fa165552023440lgao// Firmware ACPI Control Structure
21830fdf1140b8d1ce93f3821d986fa165552023440lgao//
21930fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
22030fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  Signature;
22130fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  Length;
22230fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  HardwareSignature;
22330fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  FirmwareWakingVector;
22430fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  GlobalLock;
22530fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  Flags;
22630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT64  XFirmwareWakingVector;
22730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Version;
22830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Reserved[31];
22930fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;
23030fdf1140b8d1ce93f3821d986fa165552023440lgao
23130fdf1140b8d1ce93f3821d986fa165552023440lgao//
23230fdf1140b8d1ce93f3821d986fa165552023440lgao// FACS Version (as defined in ACPI 2.0 spec.)
23330fdf1140b8d1ce93f3821d986fa165552023440lgao//
23430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION  0x01
23530fdf1140b8d1ce93f3821d986fa165552023440lgao
23630fdf1140b8d1ce93f3821d986fa165552023440lgao//
23730fdf1140b8d1ce93f3821d986fa165552023440lgao// Firmware Control Structure Feature Flags
23830fdf1140b8d1ce93f3821d986fa165552023440lgao// All other bits are reserved and must be set to 0.
23930fdf1140b8d1ce93f3821d986fa165552023440lgao//
24030fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_S4BIOS_F (1 << 0)
24130fdf1140b8d1ce93f3821d986fa165552023440lgao
24230fdf1140b8d1ce93f3821d986fa165552023440lgao//
24330fdf1140b8d1ce93f3821d986fa165552023440lgao// Multiple APIC Description Table header definition.  The rest of the table
24430fdf1140b8d1ce93f3821d986fa165552023440lgao// must be defined in a platform specific manner.
24530fdf1140b8d1ce93f3821d986fa165552023440lgao//
24630fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
24730fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_DESCRIPTION_HEADER Header;
24830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                      LocalApicAddress;
24930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                      Flags;
25030fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;
25130fdf1140b8d1ce93f3821d986fa165552023440lgao
25230fdf1140b8d1ce93f3821d986fa165552023440lgao//
25330fdf1140b8d1ce93f3821d986fa165552023440lgao// MADT Revision (as defined in ACPI 2.0 spec.)
25430fdf1140b8d1ce93f3821d986fa165552023440lgao//
25530fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01
25630fdf1140b8d1ce93f3821d986fa165552023440lgao
25730fdf1140b8d1ce93f3821d986fa165552023440lgao//
25830fdf1140b8d1ce93f3821d986fa165552023440lgao// Multiple APIC Flags
25930fdf1140b8d1ce93f3821d986fa165552023440lgao// All other bits are reserved and must be set to 0.
26030fdf1140b8d1ce93f3821d986fa165552023440lgao//
26130fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_PCAT_COMPAT  (1 << 0)
26230fdf1140b8d1ce93f3821d986fa165552023440lgao
26330fdf1140b8d1ce93f3821d986fa165552023440lgao//
26430fdf1140b8d1ce93f3821d986fa165552023440lgao// Multiple APIC Description Table APIC structure types
26530fdf1140b8d1ce93f3821d986fa165552023440lgao// All other values between 0x09 an 0xFF are reserved and
26630fdf1140b8d1ce93f3821d986fa165552023440lgao// will be ignored by OSPM.
26730fdf1140b8d1ce93f3821d986fa165552023440lgao//
26830fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_PROCESSOR_LOCAL_APIC           0x00
26930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_IO_APIC                        0x01
27030fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_INTERRUPT_SOURCE_OVERRIDE      0x02
27130fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_NON_MASKABLE_INTERRUPT_SOURCE  0x03
27230fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_LOCAL_APIC_NMI                 0x04
27330fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_LOCAL_APIC_ADDRESS_OVERRIDE    0x05
27430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_IO_SAPIC                       0x06
27530fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_PROCESSOR_LOCAL_SAPIC          0x07
27630fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_PLATFORM_INTERRUPT_SOURCES     0x08
27730fdf1140b8d1ce93f3821d986fa165552023440lgao
27830fdf1140b8d1ce93f3821d986fa165552023440lgao//
27930fdf1140b8d1ce93f3821d986fa165552023440lgao// APIC Structure Definitions
28030fdf1140b8d1ce93f3821d986fa165552023440lgao//
28130fdf1140b8d1ce93f3821d986fa165552023440lgao//
28230fdf1140b8d1ce93f3821d986fa165552023440lgao// Processor Local APIC Structure Definition
28330fdf1140b8d1ce93f3821d986fa165552023440lgao//
28430fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
28530fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Type;
28630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Length;
28730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   AcpiProcessorId;
28830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   ApicId;
28930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  Flags;
29030fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_PROCESSOR_LOCAL_APIC_STRUCTURE;
29130fdf1140b8d1ce93f3821d986fa165552023440lgao
29230fdf1140b8d1ce93f3821d986fa165552023440lgao//
29330fdf1140b8d1ce93f3821d986fa165552023440lgao// Local APIC Flags.  All other bits are reserved and must be 0.
29430fdf1140b8d1ce93f3821d986fa165552023440lgao//
29530fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_LOCAL_APIC_ENABLED (1 << 0)
29630fdf1140b8d1ce93f3821d986fa165552023440lgao
29730fdf1140b8d1ce93f3821d986fa165552023440lgao//
29830fdf1140b8d1ce93f3821d986fa165552023440lgao// IO APIC Structure
29930fdf1140b8d1ce93f3821d986fa165552023440lgao//
30030fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
30130fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Type;
30230fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Length;
30330fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   IoApicId;
30430fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Reserved;
30530fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  IoApicAddress;
30630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  GlobalSystemInterruptBase;
30730fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_IO_APIC_STRUCTURE;
30830fdf1140b8d1ce93f3821d986fa165552023440lgao
30930fdf1140b8d1ce93f3821d986fa165552023440lgao//
31030fdf1140b8d1ce93f3821d986fa165552023440lgao// Interrupt Source Override Structure
31130fdf1140b8d1ce93f3821d986fa165552023440lgao//
31230fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
31330fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Type;
31430fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Length;
31530fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Bus;
31630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Source;
31730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  GlobalSystemInterrupt;
31830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT16  Flags;
31930fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
32030fdf1140b8d1ce93f3821d986fa165552023440lgao
32130fdf1140b8d1ce93f3821d986fa165552023440lgao//
32230fdf1140b8d1ce93f3821d986fa165552023440lgao// Non-Maskable Interrupt Source Structure
32330fdf1140b8d1ce93f3821d986fa165552023440lgao//
32430fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
32530fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Type;
32630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Length;
32730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT16  Flags;
32830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  GlobalSystemInterrupt;
32930fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
33030fdf1140b8d1ce93f3821d986fa165552023440lgao
33130fdf1140b8d1ce93f3821d986fa165552023440lgao//
33230fdf1140b8d1ce93f3821d986fa165552023440lgao// Local APIC NMI Structure
33330fdf1140b8d1ce93f3821d986fa165552023440lgao//
33430fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
33530fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Type;
33630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Length;
33730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   AcpiProcessorId;
33830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT16  Flags;
33930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   LocalApicLint;
34030fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_LOCAL_APIC_NMI_STRUCTURE;
34130fdf1140b8d1ce93f3821d986fa165552023440lgao
34230fdf1140b8d1ce93f3821d986fa165552023440lgao//
34330fdf1140b8d1ce93f3821d986fa165552023440lgao// Local APIC Address Override Structure
34430fdf1140b8d1ce93f3821d986fa165552023440lgao//
34530fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
34630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Type;
34730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Length;
34830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT16  Reserved;
34930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT64  LocalApicAddress;
35030fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;
35130fdf1140b8d1ce93f3821d986fa165552023440lgao
35230fdf1140b8d1ce93f3821d986fa165552023440lgao//
35330fdf1140b8d1ce93f3821d986fa165552023440lgao// IO SAPIC Structure
35430fdf1140b8d1ce93f3821d986fa165552023440lgao//
35530fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
35630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Type;
35730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Length;
35830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   IoApicId;
35930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Reserved;
36030fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  GlobalSystemInterruptBase;
36130fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT64  IoSapicAddress;
36230fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_IO_SAPIC_STRUCTURE;
36330fdf1140b8d1ce93f3821d986fa165552023440lgao
36430fdf1140b8d1ce93f3821d986fa165552023440lgao//
36530fdf1140b8d1ce93f3821d986fa165552023440lgao// Local SAPIC Structure
36630fdf1140b8d1ce93f3821d986fa165552023440lgao//
36730fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
36830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Type;
36930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Length;
37030fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   AcpiProcessorId;
37130fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   LocalSapicId;
37230fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   LocalSapicEid;
37330fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Reserved[3];
37430fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  Flags;
37530fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE;
37630fdf1140b8d1ce93f3821d986fa165552023440lgao
37730fdf1140b8d1ce93f3821d986fa165552023440lgao//
37830fdf1140b8d1ce93f3821d986fa165552023440lgao// Platform Interrupt Sources Structure
37930fdf1140b8d1ce93f3821d986fa165552023440lgao//
38030fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
38130fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Type;
38230fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   Length;
38330fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT16  Flags;
38430fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   InterruptType;
38530fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   ProcessorId;
38630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   ProcessorEid;
38730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8   IoSapicVector;
38830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  GlobalSystemInterrupt;
38930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32  Reserved;
39030fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE;
39130fdf1140b8d1ce93f3821d986fa165552023440lgao
39230fdf1140b8d1ce93f3821d986fa165552023440lgao//
39330fdf1140b8d1ce93f3821d986fa165552023440lgao// Smart Battery Description Table (SBST)
39430fdf1140b8d1ce93f3821d986fa165552023440lgao//
39530fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
39630fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_DESCRIPTION_HEADER Header;
39730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                      WarningEnergyLevel;
39830fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                      LowEnergyLevel;
39930fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                      CriticalEnergyLevel;
40030fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_SMART_BATTERY_DESCRIPTION_TABLE;
40130fdf1140b8d1ce93f3821d986fa165552023440lgao
40230fdf1140b8d1ce93f3821d986fa165552023440lgao//
40330fdf1140b8d1ce93f3821d986fa165552023440lgao// SBST Version (as defined in ACPI 2.0 spec.)
40430fdf1140b8d1ce93f3821d986fa165552023440lgao//
40530fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
40630fdf1140b8d1ce93f3821d986fa165552023440lgao
40730fdf1140b8d1ce93f3821d986fa165552023440lgao//
40830fdf1140b8d1ce93f3821d986fa165552023440lgao// Embedded Controller Boot Resources Table (ECDT)
40930fdf1140b8d1ce93f3821d986fa165552023440lgao// The table is followed by a null terminated ASCII string that contains
41030fdf1140b8d1ce93f3821d986fa165552023440lgao// a fully qualified reference to the name space object.
41130fdf1140b8d1ce93f3821d986fa165552023440lgao//
41230fdf1140b8d1ce93f3821d986fa165552023440lgaotypedef struct {
41330fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_DESCRIPTION_HEADER             Header;
41430fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  EcControl;
41530fdf1140b8d1ce93f3821d986fa165552023440lgao  EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  EcData;
41630fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT32                                  Uid;
41730fdf1140b8d1ce93f3821d986fa165552023440lgao  UINT8                                   GpeBit;
41830fdf1140b8d1ce93f3821d986fa165552023440lgao} EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE;
41930fdf1140b8d1ce93f3821d986fa165552023440lgao
42030fdf1140b8d1ce93f3821d986fa165552023440lgao//
42130fdf1140b8d1ce93f3821d986fa165552023440lgao// ECDT Version (as defined in ACPI 2.0 spec.)
42230fdf1140b8d1ce93f3821d986fa165552023440lgao//
42330fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION  0x01
42430fdf1140b8d1ce93f3821d986fa165552023440lgao
42530fdf1140b8d1ce93f3821d986fa165552023440lgao//
42630fdf1140b8d1ce93f3821d986fa165552023440lgao// Known table signatures
42730fdf1140b8d1ce93f3821d986fa165552023440lgao//
42830fdf1140b8d1ce93f3821d986fa165552023440lgao//
42930fdf1140b8d1ce93f3821d986fa165552023440lgao// "RSD PTR " Root System Description Pointer
43030fdf1140b8d1ce93f3821d986fa165552023440lgao//
43130fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE  0x2052545020445352
43230fdf1140b8d1ce93f3821d986fa165552023440lgao
43330fdf1140b8d1ce93f3821d986fa165552023440lgao//
43430fdf1140b8d1ce93f3821d986fa165552023440lgao// "SPIC" Multiple SAPIC Description Table
43530fdf1140b8d1ce93f3821d986fa165552023440lgao//
43630fdf1140b8d1ce93f3821d986fa165552023440lgao// BUGBUG: Don't know where this came from except SR870BN4 uses it.
43730fdf1140b8d1ce93f3821d986fa165552023440lgao// #define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE 0x43495053
43830fdf1140b8d1ce93f3821d986fa165552023440lgao//
43930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE 0x43495041
44030fdf1140b8d1ce93f3821d986fa165552023440lgao
44130fdf1140b8d1ce93f3821d986fa165552023440lgao//
44230fdf1140b8d1ce93f3821d986fa165552023440lgao// "BOOT" MS Simple Boot Spec
44330fdf1140b8d1ce93f3821d986fa165552023440lgao//
44430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE 0x544F4F42
44530fdf1140b8d1ce93f3821d986fa165552023440lgao
44630fdf1140b8d1ce93f3821d986fa165552023440lgao//
44730fdf1140b8d1ce93f3821d986fa165552023440lgao// "DBGP" MS Bebug Port Spec
44830fdf1140b8d1ce93f3821d986fa165552023440lgao//
44930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_DEBUG_PORT_TABLE_SIGNATURE 0x50474244
45030fdf1140b8d1ce93f3821d986fa165552023440lgao
45130fdf1140b8d1ce93f3821d986fa165552023440lgao//
45230fdf1140b8d1ce93f3821d986fa165552023440lgao// "DSDT" Differentiated System Description Table
45330fdf1140b8d1ce93f3821d986fa165552023440lgao//
45430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE  0x54445344
45530fdf1140b8d1ce93f3821d986fa165552023440lgao
45630fdf1140b8d1ce93f3821d986fa165552023440lgao//
45730fdf1140b8d1ce93f3821d986fa165552023440lgao// "ECDT" Embedded Controller Boot Resources Table
45830fdf1140b8d1ce93f3821d986fa165552023440lgao//
45930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE 0x54444345
46030fdf1140b8d1ce93f3821d986fa165552023440lgao
46130fdf1140b8d1ce93f3821d986fa165552023440lgao//
46230fdf1140b8d1ce93f3821d986fa165552023440lgao// "ETDT" Event Timer Description Table
46330fdf1140b8d1ce93f3821d986fa165552023440lgao//
46430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE  0x54445445
46530fdf1140b8d1ce93f3821d986fa165552023440lgao
46630fdf1140b8d1ce93f3821d986fa165552023440lgao//
46730fdf1140b8d1ce93f3821d986fa165552023440lgao// "FACS" Firmware ACPI Control Structure
46830fdf1140b8d1ce93f3821d986fa165552023440lgao//
46930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE  0x53434146
47030fdf1140b8d1ce93f3821d986fa165552023440lgao
47130fdf1140b8d1ce93f3821d986fa165552023440lgao//
47230fdf1140b8d1ce93f3821d986fa165552023440lgao// "FACP" Fixed ACPI Description Table
47330fdf1140b8d1ce93f3821d986fa165552023440lgao//
47430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE 0x50434146
47530fdf1140b8d1ce93f3821d986fa165552023440lgao
47630fdf1140b8d1ce93f3821d986fa165552023440lgao//
47730fdf1140b8d1ce93f3821d986fa165552023440lgao// "APIC" Multiple APIC Description Table
47830fdf1140b8d1ce93f3821d986fa165552023440lgao//
47930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE  0x43495041
48030fdf1140b8d1ce93f3821d986fa165552023440lgao
48130fdf1140b8d1ce93f3821d986fa165552023440lgao//
48230fdf1140b8d1ce93f3821d986fa165552023440lgao// "PSDT" Persistent System Description Table
48330fdf1140b8d1ce93f3821d986fa165552023440lgao//
48430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE  0x54445350
48530fdf1140b8d1ce93f3821d986fa165552023440lgao
48630fdf1140b8d1ce93f3821d986fa165552023440lgao//
48730fdf1140b8d1ce93f3821d986fa165552023440lgao// "RSDT" Root System Description Table
48830fdf1140b8d1ce93f3821d986fa165552023440lgao//
48930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE  0x54445352
49030fdf1140b8d1ce93f3821d986fa165552023440lgao
49130fdf1140b8d1ce93f3821d986fa165552023440lgao//
49230fdf1140b8d1ce93f3821d986fa165552023440lgao// "SBST" Smart Battery Specification Table
49330fdf1140b8d1ce93f3821d986fa165552023440lgao//
49430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE  0x54534253
49530fdf1140b8d1ce93f3821d986fa165552023440lgao
49630fdf1140b8d1ce93f3821d986fa165552023440lgao//
49730fdf1140b8d1ce93f3821d986fa165552023440lgao// "SLIT" System Locality Information Table
49830fdf1140b8d1ce93f3821d986fa165552023440lgao//
49930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE  0x54494C53
50030fdf1140b8d1ce93f3821d986fa165552023440lgao
50130fdf1140b8d1ce93f3821d986fa165552023440lgao//
50230fdf1140b8d1ce93f3821d986fa165552023440lgao// "SPCR" Serial Port Concole Redirection Table
50330fdf1140b8d1ce93f3821d986fa165552023440lgao//
50430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE  0x52435053
50530fdf1140b8d1ce93f3821d986fa165552023440lgao
50630fdf1140b8d1ce93f3821d986fa165552023440lgao//
50730fdf1140b8d1ce93f3821d986fa165552023440lgao// "SRAT" Static Resource Affinity Table
50830fdf1140b8d1ce93f3821d986fa165552023440lgao//
50930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_STATIC_RESOURCE_AFFINITY_TABLE_SIGNATURE 0x54415253
51030fdf1140b8d1ce93f3821d986fa165552023440lgao
51130fdf1140b8d1ce93f3821d986fa165552023440lgao//
51230fdf1140b8d1ce93f3821d986fa165552023440lgao// "SSDT" Secondary System Description Table
51330fdf1140b8d1ce93f3821d986fa165552023440lgao//
51430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445353
51530fdf1140b8d1ce93f3821d986fa165552023440lgao
51630fdf1140b8d1ce93f3821d986fa165552023440lgao//
51730fdf1140b8d1ce93f3821d986fa165552023440lgao// "SPMI" Server Platform Management Interface Table
51830fdf1140b8d1ce93f3821d986fa165552023440lgao//
51930fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_SIGNATURE 0x494D5053
52030fdf1140b8d1ce93f3821d986fa165552023440lgao
52130fdf1140b8d1ce93f3821d986fa165552023440lgao//
52230fdf1140b8d1ce93f3821d986fa165552023440lgao// "XSDT" Extended System Description Table
52330fdf1140b8d1ce93f3821d986fa165552023440lgao//
52430fdf1140b8d1ce93f3821d986fa165552023440lgao#define EFI_ACPI_2_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE  0x54445358
52530fdf1140b8d1ce93f3821d986fa165552023440lgao
52630fdf1140b8d1ce93f3821d986fa165552023440lgao#pragma pack()
52730fdf1140b8d1ce93f3821d986fa165552023440lgao
52830fdf1140b8d1ce93f3821d986fa165552023440lgao#endif
529