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