ACPICA: ACPI 6.4: add support for PHAT table

ACPICA commit de805b6a355c01f3aff4044a4ba60e9845b7668c

This table displays health information about the platform firmware. For
full definition, see the ACPI specification.

Link: https://github.com/acpica/acpica/commit/de805b6a
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Erik Kaneda 2021-04-06 14:30:23 -07:00 committed by Rafael J. Wysocki
parent a2befbb2c3
commit 9f40033734

View file

@ -36,6 +36,7 @@
#define ACPI_SIG_NFIT "NFIT" /* NVDIMM Firmware Interface Table */
#define ACPI_SIG_PCCT "PCCT" /* Platform Communications Channel Table */
#define ACPI_SIG_PDTT "PDTT" /* Platform Debug Trigger Table */
#define ACPI_SIG_PHAT "PHAT" /* Platform Health Assessment Table */
#define ACPI_SIG_PMTT "PMTT" /* Platform Memory Topology Table */
#define ACPI_SIG_PPTT "PPTT" /* Processor Properties Topology Table */
#define ACPI_SIG_RASF "RASF" /* RAS Feature table */
@ -1401,6 +1402,66 @@ struct acpi_pdtt_channel {
#define ACPI_PDTT_WAIT_COMPLETION (1<<1)
#define ACPI_PDTT_TRIGGER_ORDER (1<<2)
/*******************************************************************************
*
* PHAT - Platform Health Assessment Table (ACPI 6.4)
* Version 1
*
******************************************************************************/
struct acpi_table_phat {
struct acpi_table_header header; /* Common ACPI table header */
};
/* Common header for PHAT subtables that follow main table */
struct acpi_phat_header {
u16 type;
u16 length;
u8 revision;
};
/* Values for Type field above */
#define ACPI_PHAT_TYPE_FW_VERSION_DATA 0
#define ACPI_PHAT_TYPE_FW_HEALTH_DATA 1
#define ACPI_PHAT_TYPE_RESERVED 2 /* 0x02-0xFFFF are reserved */
/*
* PHAT subtables, correspond to Type in struct acpi_phat_header
*/
/* 0: Firmware Version Data Record */
struct acpi_phat_version_data {
struct acpi_phat_header header;
u8 reserved[3];
u32 element_count;
};
struct acpi_phat_version_element {
u8 guid[16];
u64 version_value;
u32 producer_id;
};
/* 1: Firmware Health Data Record */
struct acpi_phat_health_data {
struct acpi_phat_header header;
u8 reserved[2];
u8 health;
u8 device_guid[16];
u32 device_specific_offset; /* Zero if no Device-specific data */
};
/* Values for Health field above */
#define ACPI_PHAT_ERRORS_FOUND 0
#define ACPI_PHAT_NO_ERRORS 1
#define ACPI_PHAT_UNKNOWN_ERRORS 2
#define ACPI_PHAT_ADVISORY 3
/*******************************************************************************
*
* PMTT - Platform Memory Topology Table (ACPI 5.0)