+++ /dev/null
-/** @file\r
-This is an implementation of the ACPI platform driver. Requirements for\r
-this driver are defined in the Tiano ACPI External Product Specification,\r
-revision 0.3.6.\r
-\r
-Copyright (c) 2013-2015 Intel Corporation.\r
-\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-\r
-**/\r
-\r
-#ifndef _ACPI_PLATFORM_H_\r
-#define _ACPI_PLATFORM_H_\r
-\r
-//\r
-// Statements that include other header files\r
-//\r
-\r
-#include <PiDxe.h>\r
-#include <IntelQNCDxe.h>\r
-#include <Platform.h>\r
-#include <PlatformBoards.h>\r
-#include <Ioh.h>\r
-#include <QNCCommonDefinitions.h>\r
-\r
-#include <Protocol/GlobalNvsArea.h>\r
-#include <Protocol/MpService.h>\r
-#include <Protocol/AcpiSystemDescriptionTable.h>\r
-#include <Protocol/FirmwareVolume2.h>\r
-\r
-#include <Library/UefiDriverEntryPoint.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/UefiRuntimeServicesTableLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/IoLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/DxeServicesLib.h>\r
-#include <Library/DevicePathLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/QNCAccessLib.h>\r
-#include <Library/PlatformHelperLib.h>\r
-\r
-#include <IndustryStandard/Acpi.h>\r
-#include <IndustryStandard/HighPrecisionEventTimerTable.h>\r
-#include <IndustryStandard/MemoryMappedConfigurationSpaceAccessTable.h>\r
-\r
-#include "Madt.h"\r
-#include "AcpiPciUpdate.h"\r
-\r
-#pragma pack(1)\r
-typedef struct {\r
- UINT8 StartByte;\r
- UINT32 NameStr;\r
- UINT8 OpCode;\r
- UINT16 Size; // Hardcode to 16bit width because the table we use is fixed size\r
- UINT8 NumEntries;\r
-} EFI_ACPI_NAME_COMMAND;\r
-\r
-typedef struct {\r
- UINT8 PackageOp;\r
- UINT8 PkgLeadByte;\r
- UINT8 NumEntries;\r
- UINT8 DwordPrefix0;\r
- UINT32 CoreFreq;\r
- UINT8 DwordPrefix1;\r
- UINT32 Power;\r
- UINT8 DwordPrefix2;\r
- UINT32 TransLatency;\r
- UINT8 DwordPrefix3;\r
- UINT32 BMLatency;\r
- UINT8 DwordPrefix4;\r
- UINT32 Control;\r
- UINT8 DwordPrefix5;\r
- UINT32 Status;\r
-} EFI_PSS_PACKAGE;\r
-#pragma pack()\r
-\r
-\r
-#define AML_NAME_OP 0x08\r
-#define AML_METHOD_OP 0x14\r
-#define AML_OPREGION_OP 0x80\r
-#define AML_PACKAGE_OP 0x12 // Package operator.\r
-\r
-//\r
-// ACPI table information used to initialize tables.\r
-//\r
-#define EFI_ACPI_OEM_ID "INTEL "\r
-#define EFI_ACPI_OEM_TABLE_ID 0x2020204F4E414954ULL // "TIANO "\r
-#define EFI_ACPI_OEM_REVISION 0x00000002\r
-#define EFI_ACPI_CREATOR_ID 0x5446534D // "MSFT"\r
-#define EFI_ACPI_CREATOR_REVISION 0x01000013\r
-\r
-#define ACPI_COMPATIBLE_1_0 0\r
-#define ACPI_COMPATIBLE_2_0 1\r
-#define ACPI_COMPATIBLE_3_0 2\r
-\r
-\r
-\r
-\r
-//\r
-// Private Driver Data\r
-//\r
-\r
-//\r
-// Define Union of IO APIC & Local APIC structure;\r
-//\r
-\r
-typedef union {\r
- EFI_ACPI_2_0_PROCESSOR_LOCAL_APIC_STRUCTURE AcpiLocalApic;\r
- EFI_ACPI_2_0_IO_APIC_STRUCTURE AcpiIoApic;\r
- struct {\r
- UINT8 Type;\r
- UINT8 Length;\r
- } AcpiApicCommon;\r
-} ACPI_APIC_STRUCTURE_PTR;\r
-\r
-#endif\r