]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/Acpi61.h
MdePkg ACPI: Correct processor struct of PPTT
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Acpi61.h
index dc3153b7e7c83ac1eead92fba1fa1fbf0f377098..4a370c27e01244fbee4b9df70fddb0d0bde1a5f4 100644 (file)
@@ -1,7 +1,7 @@
 /** @file   \r
   ACPI 6.1 definitions from the ACPI Specification Revision 6.1 January, 2016.\r
 \r
-  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>\r
  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
   This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
@@ -2052,7 +2052,9 @@ typedef struct {
 //\r
 // PCCT Subspace type\r
 //\r
-#define EFI_ACPI_6_1_PCCT_SUBSPACE_TYPE_GENERIC  0x00\r
+#define EFI_ACPI_6_1_PCCT_SUBSPACE_TYPE_GENERIC                         0x00\r
+#define EFI_ACPI_6_1_PCCT_SUBSPACE_TYPE_1_HW_REDUCED_COMMUNICATIONS     0x01\r
+#define EFI_ACPI_6_1_PCCT_SUBSPACE_TYPE_2_HW_REDUCED_COMMUNICATIONS     0x02\r
 \r
 ///\r
 /// PCC Subspace Structure Header\r
@@ -2104,6 +2106,50 @@ typedef struct {
   EFI_ACPI_6_1_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS     Status;\r
 } EFI_ACPI_6_1_PCCT_GENERIC_SHARED_MEMORY_REGION_HEADER;\r
 \r
+#define EFI_ACPI_6_1_PCCT_SUBSPACE_DOORBELL_INTERRUPT_FLAGS_POLARITY    BIT0\r
+#define EFI_ACPI_6_1_PCCT_SUBSPACE_DOORBELL_INTERRUPT_FLAGS_MODE        BIT1\r
+\r
+///\r
+/// Type 1 HW-Reduced Communications Subspace Structure\r
+///\r
+typedef struct {\r
+  UINT8                                    Type;\r
+  UINT8                                    Length;\r
+  UINT32                                   DoorbellInterrupt;\r
+  UINT8                                    DoorbellInterruptFlags;\r
+  UINT8                                    Reserved;\r
+  UINT64                                   BaseAddress;\r
+  UINT64                                   AddressLength;\r
+  EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE   DoorbellRegister;\r
+  UINT64                                   DoorbellPreserve;\r
+  UINT64                                   DoorbellWrite;\r
+  UINT32                                   NominalLatency;\r
+  UINT32                                   MaximumPeriodicAccessRate;\r
+  UINT16                                   MinimumRequestTurnaroundTime;\r
+} EFI_ACPI_6_1_PCCT_SUBSPACE_1_HW_REDUCED_COMMUNICATIONS;\r
+\r
+///\r
+/// Type 2 HW-Reduced Communications Subspace Structure\r
+///\r
+typedef struct {\r
+  UINT8                                    Type;\r
+  UINT8                                    Length;\r
+  UINT32                                   DoorbellInterrupt;\r
+  UINT8                                    DoorbellInterruptFlags;\r
+  UINT8                                    Reserved;\r
+  UINT64                                   BaseAddress;\r
+  UINT64                                   AddressLength;\r
+  EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE   DoorbellRegister;\r
+  UINT64                                   DoorbellPreserve;\r
+  UINT64                                   DoorbellWrite;\r
+  UINT32                                   NominalLatency;\r
+  UINT32                                   MaximumPeriodicAccessRate;\r
+  UINT16                                   MinimumRequestTurnaroundTime;\r
+  EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE   DoorbellAckRegister;\r
+  UINT64                                   DoorbellAckPreserve;\r
+  UINT64                                   DoorbellAckWrite;\r
+} EFI_ACPI_6_1_PCCT_SUBSPACE_2_HW_REDUCED_COMMUNICATIONS;\r
+\r
 //\r
 // Known table signatures\r
 //\r
@@ -2284,9 +2330,9 @@ typedef struct {
 #define EFI_ACPI_6_1_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE  SIGNATURE_32('i', 'B', 'F', 'T')\r
 \r
 ///\r
-/// "IORT" Interrupt Source Override\r
+/// "IORT" I/O Remapping Table\r
 ///\r
-#define EFI_ACPI_6_1_INTERRUPT_SOURCE_OVERRIDE_SIGNATURE  SIGNATURE_32('I', 'O', 'R', 'T')\r
+#define EFI_ACPI_6_1_IO_REMAPPING_TABLE_SIGNATURE  SIGNATURE_32('I', 'O', 'R', 'T')\r
 \r
 ///\r
 /// "IVRS" I/O Virtualization Reporting Structure\r