2 This is an implementation of the ACPI platform driver. Requirements for
3 this driver are defined in the Tiano ACPI External Product Specification,
6 Copyright (c) 2013-2015 Intel Corporation.
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
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.
19 #ifndef _ACPI_PLATFORM_H_
20 #define _ACPI_PLATFORM_H_
23 // Statements that include other header files
27 #include <IntelQNCDxe.h>
29 #include <PlatformBoards.h>
31 #include <QNCCommonDefinitions.h>
33 #include <Protocol/GlobalNvsArea.h>
34 #include <Protocol/MpService.h>
35 #include <Protocol/AcpiSystemDescriptionTable.h>
36 #include <Protocol/FirmwareVolume2.h>
38 #include <Library/UefiDriverEntryPoint.h>
39 #include <Library/UefiBootServicesTableLib.h>
40 #include <Library/UefiRuntimeServicesTableLib.h>
41 #include <Library/DebugLib.h>
42 #include <Library/BaseMemoryLib.h>
43 #include <Library/IoLib.h>
44 #include <Library/PcdLib.h>
45 #include <Library/UefiLib.h>
46 #include <Library/DxeServicesLib.h>
47 #include <Library/DevicePathLib.h>
48 #include <Library/MemoryAllocationLib.h>
49 #include <Library/QNCAccessLib.h>
50 #include <Library/PlatformHelperLib.h>
52 #include <IndustryStandard/Acpi.h>
53 #include <IndustryStandard/HighPrecisionEventTimerTable.h>
54 #include <IndustryStandard/MemoryMappedConfigurationSpaceAccessTable.h>
57 #include "AcpiPciUpdate.h"
64 UINT16 Size
; // Hardcode to 16bit width because the table we use is fixed size
66 } EFI_ACPI_NAME_COMMAND
;
88 #define AML_NAME_OP 0x08
89 #define AML_METHOD_OP 0x14
90 #define AML_OPREGION_OP 0x80
91 #define AML_PACKAGE_OP 0x12 // Package operator.
94 // ACPI table information used to initialize tables.
96 #define EFI_ACPI_OEM_ID "INTEL "
97 #define EFI_ACPI_OEM_TABLE_ID 0x2020204F4E414954ULL // "TIANO "
98 #define EFI_ACPI_OEM_REVISION 0x00000002
99 #define EFI_ACPI_CREATOR_ID 0x5446534D // "MSFT"
100 #define EFI_ACPI_CREATOR_REVISION 0x01000013
102 #define ACPI_COMPATIBLE_1_0 0
103 #define ACPI_COMPATIBLE_2_0 1
104 #define ACPI_COMPATIBLE_3_0 2
110 // Private Driver Data
114 // Define Union of IO APIC & Local APIC structure;
118 EFI_ACPI_2_0_PROCESSOR_LOCAL_APIC_STRUCTURE AcpiLocalApic
;
119 EFI_ACPI_2_0_IO_APIC_STRUCTURE AcpiIoApic
;
124 } ACPI_APIC_STRUCTURE_PTR
;