diff options
author | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
---|---|---|
committer | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
commit | b7c51c9cf4864df6aabb99a1ae843becd577237c (patch) | |
tree | eebe9b0d0ca03062955223097e57da84dd618b9a /ReferenceCode/Chipset/SystemAgent/Guid/AcpiVariable | |
download | zprj-master.tar.xz |
Diffstat (limited to 'ReferenceCode/Chipset/SystemAgent/Guid/AcpiVariable')
-rw-r--r-- | ReferenceCode/Chipset/SystemAgent/Guid/AcpiVariable/AcpiVariable.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/ReferenceCode/Chipset/SystemAgent/Guid/AcpiVariable/AcpiVariable.h b/ReferenceCode/Chipset/SystemAgent/Guid/AcpiVariable/AcpiVariable.h new file mode 100644 index 0000000..6560e70 --- /dev/null +++ b/ReferenceCode/Chipset/SystemAgent/Guid/AcpiVariable/AcpiVariable.h @@ -0,0 +1,80 @@ +/** @file + GUIDs used for ACPI variables. + +@copyright + Copyright (c) 1999 - 2012 Intel Corporation. All rights reserved + This software and associated documentation (if any) is furnished + under a license and may only be used or copied in accordance + with the terms of the license. Except as permitted by such + license, no part of this software or documentation may be + reproduced, stored in a retrieval system, or transmitted in any + form or by any means without the express written consent of + Intel Corporation. + + This file contains an 'Intel Peripheral Driver' and uniquely + identified as "Intel Reference Module" and is + licensed for Intel CPUs and chipsets under the terms of your + license agreement with Intel or your vendor. This file may + be modified by the user, subject to additional terms of the + license agreement +**/ +#ifndef _ACPI_VARIABLE_H_ +#define _ACPI_VARIABLE_H_ + +/// +/// RC Override: sync from R8HswClientPkg\Guid\AcpiVariable\AcpiVariable.h +/// +#define EFI_ACPI_VARIABLE_GUID \ + { \ + 0xc020489e, 0x6db2, 0x4ef2, 0x9a, 0xa5, 0xca, 0x6, 0xfc, 0x11, 0xd3, 0x6a \ + } + +#define ACPI_GLOBAL_VARIABLE L"AcpiGlobalVariable" + +/// +/// The following structure combine all ACPI related variables into one in order +/// to boost performance +/// +#pragma pack(1) +typedef struct { + UINT16 Limit; + UINTN Base; +} PSEUDO_DESCRIPTOR; +#pragma pack() + +typedef struct { + BOOLEAN APState; + BOOLEAN S3BootPath; + EFI_PHYSICAL_ADDRESS WakeUpBuffer; + EFI_PHYSICAL_ADDRESS GdtrProfile; + EFI_PHYSICAL_ADDRESS IdtrProfile; + EFI_PHYSICAL_ADDRESS CpuPrivateData; + EFI_PHYSICAL_ADDRESS StackAddress; + EFI_PHYSICAL_ADDRESS MicrocodePointerBuffer; + EFI_PHYSICAL_ADDRESS SmramBase; + EFI_PHYSICAL_ADDRESS SmmStartImageBase; + UINT32 SmmStartImageSize; + UINT32 NumberOfCpus; +} ACPI_CPU_DATA; + +/// +/// Acpi Related variables +/// +typedef struct { + EFI_PHYSICAL_ADDRESS AcpiReservedMemoryBase; + UINT32 AcpiReservedMemorySize; + EFI_PHYSICAL_ADDRESS S3ReservedLowMemoryBase; + EFI_PHYSICAL_ADDRESS AcpiBootScriptTable; + EFI_PHYSICAL_ADDRESS RuntimeScriptTableBase; + EFI_PHYSICAL_ADDRESS AcpiFacsTable; + UINT64 SystemMemoryLength; + ACPI_CPU_DATA AcpiCpuData; + EFI_PHYSICAL_ADDRESS VideoOpromAddress; ///< VGA OPROM to support Video Re-POST for Linux S3 + UINT32 VideoOpromSize; ///< VGA OPROM to support Video Re-POST for Linux S3 + EFI_PHYSICAL_ADDRESS S3DebugBufferAddress; ///< S3 Debug extension + EFI_PHYSICAL_ADDRESS S3ResumeNvsEntryPoint; ///< S3 Debug extension +} ACPI_VARIABLE_SET; + +extern EFI_GUID gEfiAcpiVariableGuid; + +#endif |