REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3915
This commit adds a definition type 7 Platform Capabilities Structure
and the struct definition for NFIT Table Structure Types.
The type has been added since ACPI Specification Version 6.2A.
Signed-off-by: Miki Shindo <miki.shindo@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
#define EFI_ACPI_6_2_NFIT_NVDIMM_CONTROL_REGION_STRUCTURE_TYPE 4\r
#define EFI_ACPI_6_2_NFIT_NVDIMM_BLOCK_DATA_WINDOW_REGION_STRUCTURE_TYPE 5\r
#define EFI_ACPI_6_2_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE_TYPE 6\r
#define EFI_ACPI_6_2_NFIT_NVDIMM_CONTROL_REGION_STRUCTURE_TYPE 4\r
#define EFI_ACPI_6_2_NFIT_NVDIMM_BLOCK_DATA_WINDOW_REGION_STRUCTURE_TYPE 5\r
#define EFI_ACPI_6_2_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE_TYPE 6\r
+#define EFI_ACPI_6_2_NFIT_PLATFORM_CAPABILITIES_STRUCTURE_TYPE 7\r
\r
//\r
// Definition for NFIT Structure Header\r
\r
//\r
// Definition for NFIT Structure Header\r
// UINT64 FlushHintAddress[NumberOfFlushHintAddresses];\r
} EFI_ACPI_6_2_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE;\r
\r
// UINT64 FlushHintAddress[NumberOfFlushHintAddresses];\r
} EFI_ACPI_6_2_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE;\r
\r
+//\r
+// Definition for Platform Capabilities Structure\r
+//\r
+typedef struct {\r
+ UINT16 Type;\r
+ UINT16 Length;\r
+ UINT8 HighestValidCapability;\r
+ UINT8 Reserved_5[3];\r
+ UINT32 Capabilities;\r
+ UINT8 Reserved_12[4];\r
+} EFI_ACPI_6_2_NFIT_PLATFORM_CAPABILITIES_STRUCTURE;\r
+\r
///\r
/// Secure DEVices Table (SDEV)\r
///\r
///\r
/// Secure DEVices Table (SDEV)\r
///\r
#define EFI_ACPI_6_3_NFIT_NVDIMM_CONTROL_REGION_STRUCTURE_TYPE 4\r
#define EFI_ACPI_6_3_NFIT_NVDIMM_BLOCK_DATA_WINDOW_REGION_STRUCTURE_TYPE 5\r
#define EFI_ACPI_6_3_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE_TYPE 6\r
#define EFI_ACPI_6_3_NFIT_NVDIMM_CONTROL_REGION_STRUCTURE_TYPE 4\r
#define EFI_ACPI_6_3_NFIT_NVDIMM_BLOCK_DATA_WINDOW_REGION_STRUCTURE_TYPE 5\r
#define EFI_ACPI_6_3_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE_TYPE 6\r
+#define EFI_ACPI_6_3_NFIT_PLATFORM_CAPABILITIES_STRUCTURE_TYPE 7\r
\r
//\r
// Definition for NFIT Structure Header\r
\r
//\r
// Definition for NFIT Structure Header\r
// UINT64 FlushHintAddress[NumberOfFlushHintAddresses];\r
} EFI_ACPI_6_3_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE;\r
\r
// UINT64 FlushHintAddress[NumberOfFlushHintAddresses];\r
} EFI_ACPI_6_3_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE;\r
\r
+//\r
+// Definition for Platform Capabilities Structure\r
+//\r
+typedef struct {\r
+ UINT16 Type;\r
+ UINT16 Length;\r
+ UINT8 HighestValidCapability;\r
+ UINT8 Reserved_5[3];\r
+ UINT32 Capabilities;\r
+ UINT8 Reserved_12[4];\r
+} EFI_ACPI_6_3_NFIT_PLATFORM_CAPABILITIES_STRUCTURE;\r
+\r
///\r
/// Secure DEVices Table (SDEV)\r
///\r
///\r
/// Secure DEVices Table (SDEV)\r
///\r
#define EFI_ACPI_6_4_NFIT_NVDIMM_CONTROL_REGION_STRUCTURE_TYPE 4\r
#define EFI_ACPI_6_4_NFIT_NVDIMM_BLOCK_DATA_WINDOW_REGION_STRUCTURE_TYPE 5\r
#define EFI_ACPI_6_4_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE_TYPE 6\r
#define EFI_ACPI_6_4_NFIT_NVDIMM_CONTROL_REGION_STRUCTURE_TYPE 4\r
#define EFI_ACPI_6_4_NFIT_NVDIMM_BLOCK_DATA_WINDOW_REGION_STRUCTURE_TYPE 5\r
#define EFI_ACPI_6_4_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE_TYPE 6\r
+#define EFI_ACPI_6_4_NFIT_PLATFORM_CAPABILITIES_STRUCTURE_TYPE 7\r
\r
//\r
// Definition for NFIT Structure Header\r
\r
//\r
// Definition for NFIT Structure Header\r
// UINT64 FlushHintAddress[NumberOfFlushHintAddresses];\r
} EFI_ACPI_6_4_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE;\r
\r
// UINT64 FlushHintAddress[NumberOfFlushHintAddresses];\r
} EFI_ACPI_6_4_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE;\r
\r
+//\r
+// Definition for Platform Capabilities Structure\r
+//\r
+typedef struct {\r
+ UINT16 Type;\r
+ UINT16 Length;\r
+ UINT8 HighestValidCapability;\r
+ UINT8 Reserved_5[3];\r
+ UINT32 Capabilities;\r
+ UINT8 Reserved_12[4];\r
+} EFI_ACPI_6_4_NFIT_PLATFORM_CAPABILITIES_STRUCTURE;\r
+\r
///\r
/// Secure DEVices Table (SDEV)\r
///\r
///\r
/// Secure DEVices Table (SDEV)\r
///\r