From 3eb9473ea9a949badfe06ae61d2d3fcfa53651c7 Mon Sep 17 00:00:00 2001 From: qwang12 Date: Thu, 28 Jun 2007 07:00:39 +0000 Subject: Add in the 1st version of ECP. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2832 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Guid/AcpiDescription/AcpiDescription.c | 28 +++++ .../Guid/AcpiDescription/AcpiDescription.h | 127 +++++++++++++++++++++ 2 files changed, 155 insertions(+) create mode 100644 EdkCompatibilityPkg/Foundation/Guid/AcpiDescription/AcpiDescription.c create mode 100644 EdkCompatibilityPkg/Foundation/Guid/AcpiDescription/AcpiDescription.h (limited to 'EdkCompatibilityPkg/Foundation/Guid/AcpiDescription') diff --git a/EdkCompatibilityPkg/Foundation/Guid/AcpiDescription/AcpiDescription.c b/EdkCompatibilityPkg/Foundation/Guid/AcpiDescription/AcpiDescription.c new file mode 100644 index 0000000000..f5b04ace50 --- /dev/null +++ b/EdkCompatibilityPkg/Foundation/Guid/AcpiDescription/AcpiDescription.c @@ -0,0 +1,28 @@ +/*++ + +Copyright (c) 2006, Intel Corporation +All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +Module Name: + + AcpiDescription.c + +Abstract: + + + GUIDs used for ACPI Description + +--*/ + +#include "Tiano.h" +#include EFI_GUID_DEFINITION (AcpiDescription) + +EFI_GUID gEfiAcpiDescriptionGuid = EFI_ACPI_DESCRIPTION_GUID; + +EFI_GUID_STRING(&gEfiAcpiDescriptionGuid, "ACPI Description", "ACPI Description GUID"); diff --git a/EdkCompatibilityPkg/Foundation/Guid/AcpiDescription/AcpiDescription.h b/EdkCompatibilityPkg/Foundation/Guid/AcpiDescription/AcpiDescription.h new file mode 100644 index 0000000000..43adf0191b --- /dev/null +++ b/EdkCompatibilityPkg/Foundation/Guid/AcpiDescription/AcpiDescription.h @@ -0,0 +1,127 @@ +/*++ + +Copyright (c) 2006 - 2007, Intel Corporation +All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +Module Name: + + AcpiDescription.h + +Abstract: + + + GUIDs used for ACPI Description + +--*/ + +#ifndef _EFI_ACPI_DESCRIPTION_H_ +#define _EFI_ACPI_DESCRIPTION_H_ + +#define EFI_ACPI_DESCRIPTION_GUID \ + { \ + 0x3c699197, 0x93c, 0x4c69, 0xb0, 0x6b, 0x12, 0x8a, 0xe3, 0x48, 0x1d, 0xc9 \ + } + +typedef struct { + UINT8 AddressSpaceId; + UINT8 RegisterBitWidth; + UINT8 RegisterBitOffset; + UINT8 AccessSize; + UINT64 Address; +} EFI_ACPI_GENERIC_ADDRESS_STRUCTURE; + +#define ACPI_ADDRESS_ID_MEMORY 0 +#define ACPI_ADDRESS_ID_IO 1 +#define ACPI_ADDRESS_ID_PCI 2 +#define ACPI_ADDRESS_ID_EC 3 +#define ACPI_ADDRESS_ID_SMBUS 4 + +#define ACPI_ADDRESS_ACCESS_ANY 0 +#define ACPI_ADDRESS_ACCESS_BYTE 1 +#define ACPI_ADDRESS_ACCESS_WORD 2 +#define ACPI_ADDRESS_ACCESS_DWORD 3 +#define ACPI_ADDRESS_ACCESS_QWORD 4 + +// +// Following structure defines ACPI Description information. +// This information is platform specific, may be consumed by DXE generic driver. +// +#pragma pack(1) +typedef struct _EFI_ACPI_DESCRIPTION { + // + // For Timer + // + EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM_TMR_BLK; + UINT8 PM_TMR_LEN; + UINT8 TMR_VAL_EXT; + + // + // For RTC + // + UINT8 DAY_ALRM; + UINT8 MON_ALRM; + UINT8 CENTURY; + + // + // For Reset + // + EFI_ACPI_GENERIC_ADDRESS_STRUCTURE RESET_REG; + UINT8 RESET_VALUE; + + // + // For Shutdown + // + EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM1a_EVT_BLK; + EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM1b_EVT_BLK; + EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM1a_CNT_BLK; + EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM1b_CNT_BLK; + EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM2_CNT_BLK; + UINT8 PM1_EVT_LEN; + UINT8 PM1_CNT_LEN; + UINT8 PM2_CNT_LEN; + UINT8 SLP_TYPa; + UINT8 SLP_TYPb; + + // + // For sleep + // + UINT8 SLP1_TYPa; + UINT8 SLP1_TYPb; + UINT8 SLP2_TYPa; + UINT8 SLP2_TYPb; + UINT8 SLP3_TYPa; + UINT8 SLP3_TYPb; + UINT8 SLP4_TYPa; + UINT8 SLP4_TYPb; + + // + // GPE + // + EFI_ACPI_GENERIC_ADDRESS_STRUCTURE GPE0_BLK; + EFI_ACPI_GENERIC_ADDRESS_STRUCTURE GPE1_BLK; + UINT8 GPE0_BLK_LEN; + UINT8 GPE1_BLK_LEN; + UINT8 GPE1_BASE; + + // + // IAPC Boot Arch + // + UINT16 IAPC_BOOT_ARCH; + + // + // Flags + // + UINT32 Flags; + +} EFI_ACPI_DESCRIPTION; +#pragma pack() + +extern EFI_GUID gEfiAcpiDescriptionGuid; + +#endif -- cgit v1.2.3