263 lines
6.2 KiB
Plaintext
263 lines
6.2 KiB
Plaintext
/** @file
|
|
This file contains a structure definition for the ACPI 6.1 Fixed ACPI
|
|
Description Table (FADT). The contents of this file should only be modified
|
|
for bug fixes, no porting is required.
|
|
|
|
@copyright
|
|
INTEL CONFIDENTIAL
|
|
Copyright 2020 Intel Corporation.
|
|
|
|
The source code contained or described herein and all documents related to the
|
|
source code ("Material") are owned by Intel Corporation or its suppliers or
|
|
licensors. Title to the Material remains with Intel Corporation or its suppliers
|
|
and licensors. The Material may contain trade secrets and proprietary and
|
|
confidential information of Intel Corporation and its suppliers and licensors,
|
|
and is protected by worldwide copyright and trade secret laws and treaty
|
|
provisions. No part of the Material may be used, copied, reproduced, modified,
|
|
published, uploaded, posted, transmitted, distributed, or disclosed in any way
|
|
without Intel's prior express written permission.
|
|
|
|
No license under any patent, copyright, trade secret or other intellectual
|
|
property right is granted to or conferred upon you by disclosure or delivery
|
|
of the Materials, either expressly, by implication, inducement, estoppel or
|
|
otherwise. Any license under such intellectual property rights must be
|
|
express and approved by Intel in writing.
|
|
|
|
Unless otherwise agreed by Intel in writing, you may not remove or alter
|
|
this notice or any other notice embedded in Materials by Intel or
|
|
Intel's suppliers or licensors in any way.
|
|
|
|
This file contains a 'Sample Driver' and is licensed as such under the terms
|
|
of your license agreement with Intel or your vendor. This file may be modified
|
|
by the user, subject to the additional terms of the license agreement.
|
|
|
|
@par Specification Reference:
|
|
**/
|
|
|
|
//
|
|
// Statements that include other files
|
|
//
|
|
|
|
#include "Fadt6.3.h"
|
|
|
|
//
|
|
// Fixed ACPI Description Table
|
|
// Please modify all values in Fadt.h only.
|
|
//
|
|
|
|
EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
|
|
{
|
|
EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
|
|
sizeof (EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE),
|
|
EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,
|
|
|
|
//
|
|
// Checksum will be updated at runtime
|
|
//
|
|
0x00,
|
|
|
|
//
|
|
// It is expected that these values will be updated at runtime
|
|
//
|
|
{ ' ', ' ', ' ', ' ', ' ', ' ' },
|
|
|
|
0,
|
|
EFI_ACPI_OEM_FADT_REVISION,
|
|
0,
|
|
0
|
|
},
|
|
|
|
//
|
|
// These addresses will be updated at runtime
|
|
//
|
|
0x00000000,
|
|
0x00000000,
|
|
|
|
EFI_ACPI_RESERVED_BYTE,
|
|
EFI_ACPI_PREFERRED_PM_PROFILE,
|
|
EFI_ACPI_SCI_INT,
|
|
EFI_ACPI_SMI_CMD,
|
|
FixedPcdGet8 (PcdAcpiEnableSwSmi),
|
|
FixedPcdGet8 (PcdAcpiDisableSwSmi),
|
|
EFI_ACPI_S4_BIOS_REQ,
|
|
EFI_ACPI_PSTATE_CNT,
|
|
|
|
EFI_ACPI_PM1A_EVT_BLK_ADDRESS,
|
|
EFI_ACPI_PM1B_EVT_BLK_ADDRESS,
|
|
EFI_ACPI_PM1A_CNT_BLK_ADDRESS,
|
|
EFI_ACPI_PM1B_CNT_BLK_ADDRESS,
|
|
EFI_ACPI_PM2_CNT_BLK_ADDRESS,
|
|
EFI_ACPI_PM_TMR_BLK_ADDRESS,
|
|
EFI_ACPI_GPE0_BLK_ADDRESS,
|
|
EFI_ACPI_GPE1_BLK_ADDRESS,
|
|
EFI_ACPI_PM1_EVT_LEN,
|
|
EFI_ACPI_PM1_CNT_LEN,
|
|
EFI_ACPI_PM2_CNT_LEN,
|
|
EFI_ACPI_PM_TMR_LEN,
|
|
EFI_ACPI_GPE0_BLK_LEN,
|
|
EFI_ACPI_GPE1_BLK_LEN,
|
|
EFI_ACPI_GPE1_BASE,
|
|
|
|
//
|
|
// Latest OS have C-State capability and CST_CNT SMI doesn't need to be defined.
|
|
// CST_CNT SMI is not handled in BIOS and it can be removed safely.
|
|
//
|
|
EFI_ACPI_CST_CNT,
|
|
EFI_ACPI_P_LVL2_LAT,
|
|
EFI_ACPI_P_LVL3_LAT,
|
|
EFI_ACPI_FLUSH_SIZE,
|
|
EFI_ACPI_FLUSH_STRIDE,
|
|
EFI_ACPI_DUTY_OFFSET,
|
|
EFI_ACPI_DUTY_WIDTH,
|
|
EFI_ACPI_DAY_ALRM,
|
|
EFI_ACPI_MON_ALRM,
|
|
EFI_ACPI_CENTURY,
|
|
EFI_ACPI_IAPC_BOOT_ARCH,
|
|
EFI_ACPI_RESERVED_BYTE,
|
|
EFI_ACPI_FIXED_FEATURE_FLAGS,
|
|
|
|
//
|
|
// Reset Register Block
|
|
//
|
|
{
|
|
EFI_ACPI_RESET_REG_ADDRESS_SPACE_ID,
|
|
EFI_ACPI_RESET_REG_BIT_WIDTH,
|
|
EFI_ACPI_RESET_REG_BIT_OFFSET,
|
|
EFI_ACPI_6_3_BYTE,
|
|
EFI_ACPI_RESET_REG_ADDRESS
|
|
},
|
|
EFI_ACPI_RESET_VALUE,
|
|
0, // ArmBootArch
|
|
EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION,
|
|
|
|
//
|
|
// These addresses will be updated at runtime
|
|
//
|
|
0x0000000000000000, // X_FIRMWARE_CTRL
|
|
0x0000000000000000, // X_DSDT
|
|
|
|
{
|
|
//
|
|
// X_PM1a Event Register Block
|
|
//
|
|
EFI_ACPI_PM1A_EVT_BLK_ADDRESS_SPACE_ID,
|
|
EFI_ACPI_PM1A_EVT_BLK_BIT_WIDTH,
|
|
EFI_ACPI_PM1A_EVT_BLK_BIT_OFFSET,
|
|
EFI_ACPI_6_3_WORD,
|
|
EFI_ACPI_PM1A_EVT_BLK_ADDRESS
|
|
},
|
|
{
|
|
//
|
|
// X_PM1b Event Register Block
|
|
//
|
|
EFI_ACPI_PM1B_EVT_BLK_ADDRESS_SPACE_ID,
|
|
EFI_ACPI_PM1B_EVT_BLK_BIT_WIDTH,
|
|
EFI_ACPI_PM1B_EVT_BLK_BIT_OFFSET,
|
|
EFI_ACPI_6_3_WORD,
|
|
EFI_ACPI_PM1B_EVT_BLK_ADDRESS
|
|
},
|
|
{
|
|
//
|
|
// X_PM1a Control Register Block
|
|
//
|
|
EFI_ACPI_PM1A_CNT_BLK_ADDRESS_SPACE_ID,
|
|
EFI_ACPI_PM1A_CNT_BLK_BIT_WIDTH,
|
|
EFI_ACPI_PM1A_CNT_BLK_BIT_OFFSET,
|
|
EFI_ACPI_6_3_WORD,
|
|
EFI_ACPI_PM1A_CNT_BLK_ADDRESS
|
|
},
|
|
{
|
|
//
|
|
// X_PM1b Control Register Block
|
|
//
|
|
EFI_ACPI_PM1B_CNT_BLK_ADDRESS_SPACE_ID,
|
|
EFI_ACPI_PM1B_CNT_BLK_BIT_WIDTH,
|
|
EFI_ACPI_PM1B_CNT_BLK_BIT_OFFSET,
|
|
EFI_ACPI_6_3_WORD,
|
|
EFI_ACPI_PM1B_CNT_BLK_ADDRESS
|
|
},
|
|
{
|
|
//
|
|
// X_PM2 Control Register Block
|
|
//
|
|
EFI_ACPI_PM2_CNT_BLK_ADDRESS_SPACE_ID,
|
|
EFI_ACPI_PM2_CNT_BLK_BIT_WIDTH,
|
|
EFI_ACPI_PM2_CNT_BLK_BIT_OFFSET,
|
|
EFI_ACPI_6_3_BYTE,
|
|
EFI_ACPI_PM2_CNT_BLK_ADDRESS
|
|
},
|
|
{
|
|
//
|
|
// X_PM Timer Control Register Block
|
|
//
|
|
EFI_ACPI_PM_TMR_BLK_ADDRESS_SPACE_ID,
|
|
EFI_ACPI_PM_TMR_BLK_BIT_WIDTH,
|
|
EFI_ACPI_PM_TMR_BLK_BIT_OFFSET,
|
|
EFI_ACPI_6_3_DWORD,
|
|
EFI_ACPI_PM_TMR_BLK_ADDRESS
|
|
},
|
|
{
|
|
//
|
|
// X_General Purpose Event 0 Register Block
|
|
//
|
|
EFI_ACPI_GPE0_BLK_ADDRESS_SPACE_ID,
|
|
0x0,
|
|
EFI_ACPI_GPE0_BLK_BIT_OFFSET,
|
|
EFI_ACPI_6_3_BYTE,
|
|
EFI_ACPI_GPE0_BLK_ADDRESS
|
|
},
|
|
{
|
|
//
|
|
// X_General Purpose Event 1 Register Block
|
|
//
|
|
EFI_ACPI_GPE1_BLK_ADDRESS_SPACE_ID,
|
|
EFI_ACPI_GPE1_BLK_BIT_WIDTH,
|
|
EFI_ACPI_GPE1_BLK_BIT_OFFSET,
|
|
EFI_ACPI_6_3_BYTE,
|
|
EFI_ACPI_GPE1_BLK_ADDRESS
|
|
},
|
|
{
|
|
//
|
|
// Sleep Control Reg - update in DXE driver
|
|
//
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0
|
|
},
|
|
{
|
|
//
|
|
// Sleep Status Reg - update in DXE driver
|
|
//
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0
|
|
},
|
|
0 // HypervisorVendorIdentity
|
|
};
|
|
|
|
#ifdef __GNUC__
|
|
VOID*
|
|
ReferenceAcpiTable (
|
|
VOID
|
|
)
|
|
|
|
{
|
|
//
|
|
// Reference the table being generated to prevent the optimizer from removing the
|
|
// data structure from the exeutable
|
|
//
|
|
return (VOID*)&Fadt;
|
|
}
|
|
#else
|
|
VOID
|
|
main (
|
|
VOID
|
|
)
|
|
{
|
|
}
|
|
#endif
|