/*++

Copyright (c)  1999  - 2014, Intel Corporation. All rights reserved

  SPDX-License-Identifier: BSD-2-Clause-Patent



Module Name:

  Ea815acpiFACS.c


Abstract:

  This file contains the FACS structure definition.

--*/

//
// Statements that include other files
//
#ifdef ECP_FLAG
#include "EDKIIGlueDxe.h"
#else
#include <PiDxe.h>
#endif
#include <IndustryStandard/Acpi50.h>
#include "AcpiTablePlatform.h"

EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE FACS = {
  EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE,
  sizeof (EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE),

  //
  // Hardware Signature will be updated at runtime
  //
  0x00000000,                  //HardwareSignature
  0x00000000,                  //FirmwareWakingVector
  0x00000000,                  //GlobalLock
  0x00000000,                  //Flags
  0x0000000000000000,          //XFirmwareWakingVector
  EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION,
  EFI_ACPI_RESERVED_BYTE,      //Reserved0[3]
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  0x00000000,                  //OspmFlags
  EFI_ACPI_RESERVED_BYTE,      //Reserved1[24]
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE,
  EFI_ACPI_RESERVED_BYTE
};

VOID*
ReferenceAcpiTable (
  VOID
  )
{
  //
  // Reference the table being generated to prevent the optimizer from
  // removing the data structure from the executable
  //
  return (VOID*)&FACS;
}
