• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/** @file
2*  Firmware ACPI Control Structure (FACS)
3*
4*  Copyright (c) 2012 - 2014, ARM Limited. All rights reserved.
5*
6*  This program and the accompanying materials
7*  are licensed and made available under the terms and conditions of the BSD License
8*  which accompanies this distribution.  The full text of the license may be found at
9*  http://opensource.org/licenses/bsd-license.php
10*
11*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13*
14**/
15
16#include <IndustryStandard/Acpi.h>
17
18EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs = {
19  EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE, // UINT32  Signature
20  sizeof (EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE),  // UINT32  Length
21  0xA152,                                                 // UINT32  HardwareSignature
22  0,                                                      // UINT32  FirmwareWakingVector
23  0,                                                      // UINT32  GlobalLock
24  0,                                                      // UINT32  Flags
25  0,                                                      // UINT64  XFirmwareWakingVector
26  EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION,   // UINT8   Version;
27    { EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved0[0]
28      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved0[1]
29      EFI_ACPI_RESERVED_BYTE },                           // UINT8   Reserved0[2]
30  0,                                                      // UINT32  OspmFlags  "Platform firmware must
31                                                          //                    initialize this field to zero."
32    { EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[0]
33      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[1]
34      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[2]
35      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[3]
36      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[4]
37      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[5]
38      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[6]
39      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[7]
40      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[8]
41      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[9]
42      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[10]
43      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[11]
44      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[12]
45      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[13]
46      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[14]
47      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[15]
48      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[16]
49      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[17]
50      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[18]
51      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[19]
52      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[20]
53      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[21]
54      EFI_ACPI_RESERVED_BYTE,                             // UINT8   Reserved1[22]
55      EFI_ACPI_RESERVED_BYTE },                           // UINT8   Reserved1[23]
56};
57
58//
59// Reference the table being generated to prevent the optimizer from removing the
60// data structure from the executable
61//
62VOID* CONST ReferenceAcpiTable = &Facs;
63