]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/Acpi64.h
MdePkg: Add the Platform Health Assessment Table (PHAT)
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Acpi64.h
index 5864870e2ba60eca0e8b04b7b2ab1217895b4994..cd093003805799541696516e809d0c800137510e 100644 (file)
@@ -2713,6 +2713,80 @@ typedef struct {
   UINT16                        SpinRev;\r
 } EFI_ACPI_6_4_PPTT_STRUCTURE_ID;\r
 \r
+///\r
+/// Platform Health Assessment Table (PHAT) Format\r
+///\r
+typedef struct {\r
+  EFI_ACPI_DESCRIPTION_HEADER   Header;\r
+//UINT8                         PlatformTelemetryRecords[];\r
+} EFI_ACPI_6_4_PLATFORM_HEALTH_ASSESSMENT_TABLE;\r
+\r
+#define EFI_ACPI_6_4_PLATFORM_HEALTH_ASSESSMENT_TABLE_REVISION 0x01\r
+\r
+///\r
+/// PHAT Record Format\r
+///\r
+typedef struct {\r
+  UINT16  PlatformHealthAssessmentRecordType;\r
+  UINT16  RecordLength;\r
+  UINT8   Revision;\r
+//UINT8   Data[];\r
+} EFI_ACPI_6_4_PHAT_RECORD;\r
+\r
+///\r
+/// PHAT Record Type Format\r
+///\r
+#define EFI_ACPI_6_4_PHAT_RECORD_TYPE_FIRMWARE_VERSION_DATA_RECORD  0x0000\r
+#define EFI_ACPI_6_4_PHAT_RECORD_TYPE_FIRMWARE_HEALTH_DATA_RECORD   0x0001\r
+\r
+///\r
+/// PHAT Version Element\r
+///\r
+typedef struct {\r
+  GUID    ComponentId;\r
+  UINT64  VersionValue;\r
+  UINT32  ProducerId;\r
+} EFI_ACPI_6_4_PHAT_VERSION_ELEMENT;\r
+\r
+///\r
+/// PHAT Firmware Version Data Record\r
+///\r
+typedef struct {\r
+  UINT16  PlatformRecordType;\r
+  UINT16  RecordLength;\r
+  UINT8   Revision;\r
+  UINT8   Reserved[3];\r
+  UINT32  RecordCount;\r
+//UINT8   PhatVersionElement[];\r
+} EFI_ACPI_6_4_PHAT_FIRMWARE_VERISON_DATA_RECORD;\r
+\r
+#define EFI_ACPI_6_4_PHAT_FIRMWARE_VERSION_DATA_RECORD_REVISION   0x01\r
+\r
+///\r
+/// Firmware Health Data Record Structure\r
+///\r
+typedef struct {\r
+  UINT16  PlatformRecordType;\r
+  UINT16  RecordLength;\r
+  UINT8   Revision;\r
+  UINT16  Reserved;\r
+  UINT8   AmHealthy;\r
+  GUID    DeviceSignature;\r
+  UINT32  DeviceSpecificDataOffset;\r
+//UINT8   DevicePath[];\r
+//UINT8   DeviceSpecificData[];\r
+} EFI_ACPI_6_4_PHAT_FIRMWARE_HEALTH_DATA_RECORD_STRUCTURE;\r
+\r
+#define EFI_ACPI_6_4_PHAT_FIRMWARE_HEALTH_DATA_RECORD_REVISION  0x01\r
+\r
+///\r
+/// Firmware Health Data Record device health state\r
+///\r
+#define EFI_ACPI_6_4_PHAT_FIRMWARE_HEALTH_DATA_RECORD_ERRORS_FOUND      0x00\r
+#define EFI_ACPI_6_4_PHAT_FIRMWARE_HEALTH_DATA_RECORD_NO_ERRORS_FOUND   0x01\r
+#define EFI_ACPI_6_4_PHAT_FIRMWARE_HEALTH_DATA_RECORD_UNKNOWN           0x02\r
+#define EFI_ACPI_6_4_PHAT_FIRMWARE_HEALTH_DATA_RECORD_ADVISORY          0x03\r
+\r
 //\r
 // Known table signatures\r
 //\r
@@ -2957,6 +3031,11 @@ typedef struct {
 ///\r
 #define EFI_ACPI_6_4_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE  SIGNATURE_32('P', 'C', 'C', 'T')\r
 \r
+///\r
+/// "PHAT" Platform Health Assessment Table\r
+///\r
+#define EFI_ACPI_6_4_PLATFORM_HEALTH_ASSESSMENT_TABLE_SIGNATURE SIGNATURE_32('P', 'H', 'A', 'T')\r
+\r
 ///\r
 /// "SDEI" Software Delegated Exceptions Interface Table\r
 ///\r