/** @file Definitions for data structures used in S3 resume. Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _ACPI_VARIABLE_COMPATIBILITY_H_ #define _ACPI_VARIABLE_COMPATIBILITY_H_ #define EFI_ACPI_VARIABLE_COMPATIBILITY_GUID \ { \ 0xc020489e, 0x6db2, 0x4ef2, {0x9a, 0xa5, 0xca, 0x6, 0xfc, 0x11, 0xd3, 0x6a } \ } #define ACPI_GLOBAL_VARIABLE L"AcpiGlobalVariable" extern EFI_GUID gEfiAcpiVariableCompatiblityGuid; 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_COMPATIBILITY; 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_COMPATIBILITY AcpiCpuData; // // VGA OPROM to support Video Re-POST for Linux S3 // EFI_PHYSICAL_ADDRESS VideoOpromAddress; UINT32 VideoOpromSize; // // S3 Debug extension // EFI_PHYSICAL_ADDRESS S3DebugBufferAddress; EFI_PHYSICAL_ADDRESS S3ResumeNvsEntryPoint; } ACPI_VARIABLE_SET_COMPATIBILITY; #endif