Home | History | Annotate | Download | only in Guid
      1 /** @file
      2   Definitions for data structures used in S3 resume.
      3 
      4 Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
      5 
      6 This program and the accompanying materials
      7 are licensed and made available under the terms and conditions
      8 of the BSD License which accompanies this distribution.  The
      9 full text of the license may be found at
     10 http://opensource.org/licenses/bsd-license.php
     11 
     12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     14 
     15 **/
     16 
     17 #ifndef _ACPI_VARIABLE_COMPATIBILITY_H_
     18 #define _ACPI_VARIABLE_COMPATIBILITY_H_
     19 
     20 #define EFI_ACPI_VARIABLE_COMPATIBILITY_GUID \
     21   { \
     22     0xc020489e, 0x6db2, 0x4ef2, {0x9a, 0xa5, 0xca, 0x6, 0xfc, 0x11, 0xd3, 0x6a } \
     23   }
     24 
     25 #define ACPI_GLOBAL_VARIABLE  L"AcpiGlobalVariable"
     26 
     27 extern EFI_GUID gEfiAcpiVariableCompatiblityGuid;
     28 
     29 typedef struct {
     30   BOOLEAN               APState;
     31   BOOLEAN               S3BootPath;
     32   EFI_PHYSICAL_ADDRESS  WakeUpBuffer;
     33   EFI_PHYSICAL_ADDRESS  GdtrProfile;
     34   EFI_PHYSICAL_ADDRESS  IdtrProfile;
     35   EFI_PHYSICAL_ADDRESS  CpuPrivateData;
     36   EFI_PHYSICAL_ADDRESS  StackAddress;
     37   EFI_PHYSICAL_ADDRESS  MicrocodePointerBuffer;
     38   EFI_PHYSICAL_ADDRESS  SmramBase;
     39   EFI_PHYSICAL_ADDRESS  SmmStartImageBase;
     40   UINT32                SmmStartImageSize;
     41   UINT32                NumberOfCpus;
     42 } ACPI_CPU_DATA_COMPATIBILITY;
     43 
     44 typedef struct {
     45   //
     46   // Acpi Related variables
     47   //
     48   EFI_PHYSICAL_ADDRESS  AcpiReservedMemoryBase;
     49   UINT32                AcpiReservedMemorySize;
     50   EFI_PHYSICAL_ADDRESS  S3ReservedLowMemoryBase;
     51   EFI_PHYSICAL_ADDRESS  AcpiBootScriptTable;
     52   EFI_PHYSICAL_ADDRESS  RuntimeScriptTableBase;
     53   EFI_PHYSICAL_ADDRESS  AcpiFacsTable;
     54   UINT64                SystemMemoryLength;
     55   ACPI_CPU_DATA_COMPATIBILITY         AcpiCpuData;
     56   //
     57   // VGA OPROM to support Video Re-POST for Linux S3
     58   //
     59   EFI_PHYSICAL_ADDRESS  VideoOpromAddress;
     60   UINT32                VideoOpromSize;
     61 
     62   //
     63   // S3 Debug extension
     64   //
     65   EFI_PHYSICAL_ADDRESS  S3DebugBufferAddress;
     66   EFI_PHYSICAL_ADDRESS  S3ResumeNvsEntryPoint;
     67 } ACPI_VARIABLE_SET_COMPATIBILITY;
     68 
     69 #endif
     70