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 /MiscFramework/Guid/AcpiVariable | |
download | zprj-master.tar.xz |
Diffstat (limited to 'MiscFramework/Guid/AcpiVariable')
-rw-r--r-- | MiscFramework/Guid/AcpiVariable/AcpiVariable.c | 35 | ||||
-rw-r--r-- | MiscFramework/Guid/AcpiVariable/AcpiVariable.h | 84 |
2 files changed, 119 insertions, 0 deletions
diff --git a/MiscFramework/Guid/AcpiVariable/AcpiVariable.c b/MiscFramework/Guid/AcpiVariable/AcpiVariable.c new file mode 100644 index 0000000..a181f41 --- /dev/null +++ b/MiscFramework/Guid/AcpiVariable/AcpiVariable.c @@ -0,0 +1,35 @@ +/*++ + This file contains an 'Intel Peripheral Driver' 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 +--*/ +/*++ + +Copyright (c) 1999 - 2003 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. + + +Module Name: + + AcpiVariable.c + +Abstract: + + GUIDs used for ACPI variables. + +--*/ + +#include "Tiano.h" +#include EFI_GUID_DEFINITION (AcpiVariable) + +EFI_GUID gEfiAcpiVariableGuid = EFI_ACPI_VARIABLE_GUID; + +EFI_GUID_STRING(&gEfiAcpiVariableGuid, "ACPI Variable", "ACPI 2.0 Variable GUID"); diff --git a/MiscFramework/Guid/AcpiVariable/AcpiVariable.h b/MiscFramework/Guid/AcpiVariable/AcpiVariable.h new file mode 100644 index 0000000..44cb5c3 --- /dev/null +++ b/MiscFramework/Guid/AcpiVariable/AcpiVariable.h @@ -0,0 +1,84 @@ +// +// This file contains an 'Intel Peripheral Driver' 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 +// +/*++ + +Copyright (c) 1999 - 2003 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. + + +Module Name: + + AcpiVariable.h + +Abstract: + + GUIDs used for ACPI variables. + +--*/ + +#ifndef _ACPI_VARIABLE_H_ +#define _ACPI_VARIABLE_H_ + +#define EFI_ACPI_VARIABLE_GUID \ + { \ + 0xaf9ffd67, 0xec10, 0x488a, 0x9d, 0xfc, 0x6c, 0xbf, 0x5e, 0xe2, 0x2c, 0x2e \ + } + +#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; + UINT32 ApInitDone; +} ACPI_CPU_DATA; + +typedef struct { + // + // Acpi Related variables + // + 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; +} ACPI_VARIABLE_SET; + +extern EFI_GUID gEfiAcpiVariableGuid; + +#endif |