-/** @file \r
+/** @file\r
ACPI 3.0 definitions from the ACPI Specification Revision 3.0b October 10, 2006\r
\r
- Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
- This program and the accompanying materials \r
- are licensed and made available under the terms and conditions of the BSD License \r
- which accompanies this distribution. The full text of the license may be found at \r
- http://opensource.org/licenses/bsd-license.php \r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+ Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
**/\r
\r
#ifndef _ACPI_3_0_H_\r
\r
#include <IndustryStandard/Acpi20.h>\r
\r
+//\r
+// Define for Desriptor\r
+//\r
+#define ACPI_LARGE_EXTENDED_ADDRESS_SPACE_DESCRIPTOR_NAME 0x0B\r
+\r
+#define ACPI_EXTENDED_ADDRESS_SPACE_DESCRIPTOR 0x8B\r
+\r
+//\r
+// Ensure proper structure formats\r
+//\r
+#pragma pack(1)\r
+\r
+///\r
+/// Extended Address Space Descriptor\r
+///\r
+typedef PACKED struct {\r
+ ACPI_LARGE_RESOURCE_HEADER Header;\r
+ UINT8 ResType;\r
+ UINT8 GenFlag;\r
+ UINT8 SpecificFlag;\r
+ UINT8 RevisionId;\r
+ UINT8 Reserved;\r
+ UINT64 AddrSpaceGranularity;\r
+ UINT64 AddrRangeMin;\r
+ UINT64 AddrRangeMax;\r
+ UINT64 AddrTranslationOffset;\r
+ UINT64 AddrLen;\r
+ UINT64 TypeSpecificAttribute;\r
+} EFI_ACPI_EXTENDED_ADDRESS_SPACE_DESCRIPTOR;\r
+\r
+#pragma pack()\r
+\r
+//\r
+// Memory Type Specific Flags\r
+//\r
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_UC 0x0000000000000001\r
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WC 0x0000000000000002\r
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WT 0x0000000000000004\r
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WB 0x0000000000000008\r
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_UCE 0x0000000000000010\r
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_NV 0x0000000000008000\r
+\r
//\r
// Ensure proper structure formats\r
//\r
\r
//\r
// Root System Description Table\r
-// No definition needed as it is a common description table header, the same with \r
+// No definition needed as it is a common description table header, the same with\r
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.\r
//\r
\r
\r
//\r
// Extended System Description Table\r
-// No definition needed as it is a common description table header, the same with \r
+// No definition needed as it is a common description table header, the same with\r
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.\r
//\r
\r
///\r
/// "RSD PTR " Root System Description Pointer\r
///\r
-#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ') \r
+#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')\r
\r
///\r
/// "APIC" Multiple APIC Description Table\r
\r
///\r
/// "CPEP" Corrected Platform Error Polling Table\r
-/// See\r
///\r
#define EFI_ACPI_3_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P')\r
\r
///\r
#define EFI_ACPI_3_0_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T')\r
\r
+///\r
+/// "WSPT" Windows Specific Properties Table\r
+///\r
+#define EFI_ACPI_3_0_WINDOWS_SPECIFIC_PROPERTIES_TABLE_SIGNATURE SIGNATURE_32('W', 'S', 'P', 'T')\r
+\r
///\r
/// "iBFT" iSCSI Boot Firmware Table\r
///\r