[coreboot-gerrit] Change in coreboot[master]: x86/acpi: Add APEI definitions
Patrick Georgi (Code Review)
gerrit at coreboot.org
Thu Sep 6 12:24:49 CEST 2018
Patrick Georgi has submitted this change and it was merged. ( https://review.coreboot.org/28469 )
Change subject: x86/acpi: Add APEI definitions
......................................................................
x86/acpi: Add APEI definitions
Add ACPI Platform Error Interfaces definitions that will be used
for building a BERT table region in a subsequent patch. Two tables
are defined: the Generic Error Status Block, Generic Error Data
Entry.
For reference, see the ACPI specification 6.2-A tables 381 and 382.
BUG=b:65446699
TEST=inspect BERT region, and dmesg, on full patch stack. Use test
data plus a failing Grunt system.
Change-Id: Ib9f4e506080285a7c3de6a223632c6f70933e66c
Signed-off-by: Marshall Dawson <marshalldawson3rd at gmail.com>
Reviewed-on: https://review.coreboot.org/28469
Tested-by: build bot (Jenkins) <no-reply at coreboot.org>
Reviewed-by: Martin Roth <martinroth at google.com>
---
M src/arch/x86/include/arch/acpi.h
1 file changed, 62 insertions(+), 0 deletions(-)
Approvals:
build bot (Jenkins): Verified
Martin Roth: Looks good to me, approved
diff --git a/src/arch/x86/include/arch/acpi.h b/src/arch/x86/include/arch/acpi.h
index 52245ee..9b2eac0 100644
--- a/src/arch/x86/include/arch/acpi.h
+++ b/src/arch/x86/include/arch/acpi.h
@@ -58,6 +58,8 @@
#include <rules.h>
#include <commonlib/helpers.h>
#include <device/device.h>
+#include <uuid.h>
+#include <cper.h>
#define RSDP_SIG "RSD PTR " /* RSDT pointer signature */
#define ACPI_TABLE_CREATOR "COREBOOT" /* Must be exactly 8 bytes long! */
@@ -642,6 +644,66 @@
u32 error_threshold_win;
} __packed acpi_hest_hen_t;
+/* Generic Error Data Entry (ACPI spec v6.2-A, table 382) */
+typedef struct acpi_hest_generic_data {
+ guid_t section_type;
+ u32 error_severity;
+ u16 revision;
+ u8 validation_bits;
+ u8 flags;
+ u32 data_length;
+ guid_t fru_id;
+ u8 fru_text[20];
+ /* error data */
+} __packed acpi_hest_generic_data_t;
+
+/* Generic Error Data Entry (ACPI spec v6.2-A, table 382) */
+typedef struct acpi_hest_generic_data_v300 {
+ guid_t section_type;
+ u32 error_severity;
+ u16 revision;
+ u8 validation_bits;
+ u8 flags; /* see CPER Section Descriptor, Flags field */
+ u32 data_length;
+ guid_t fru_id;
+ u8 fru_text[20];
+ cper_timestamp_t timestamp;
+ /* error data */
+} __packed acpi_hest_generic_data_v300_t;
+#define HEST_GENERIC_ENTRY_V300 0x300
+
+/* Both Generic Error Status & Generic Error Data Entry, Error Severity field */
+#define ACPI_GENERROR_SEV_RECOVERABLE 0
+#define ACPI_GENERROR_SEV_FATAL 1
+#define ACPI_GENERROR_SEV_CORRECTED 2
+#define ACPI_GENERROR_SEV_NONE 3
+
+/* Generic Error Data Entry, Validation Bits field */
+#define ACPI_GENERROR_VALID_FRUID BIT(0)
+#define ACPI_GENERROR_VALID_FRUID_TEXT BIT(1)
+#define ACPI_GENERROR_VALID_TIMESTAMP BIT(2)
+
+/* Generic Error Status Block (ACPI spec v6.2-A, table 381) */
+typedef struct acpi_generic_error_status {
+ u32 block_status;
+ u32 raw_data_offset; /* must follow any generic entries */
+ u32 raw_data_length;
+ u32 data_length; /* generic data */
+ u32 error_severity;
+ /* Generic Error Data structures, zero or more entries */
+} __packed acpi_generic_error_status_t;
+
+/* Generic Status Block, Block Status values */
+#define GENERIC_ERR_STS_UNCORRECTABLE_VALID BIT(0)
+#define GENERIC_ERR_STS_CORRECTABLE_VALID BIT(1)
+#define GENERIC_ERR_STS_MULT_UNCORRECTABLE BIT(2)
+#define GENERIC_ERR_STS_MULT_CORRECTABLE BIT(3)
+#define GENERIC_ERR_STS_ENTRY_COUNT_SHIFT 4
+#define GENERIC_ERR_STS_ENTRY_COUNT_MAX 0x3ff
+#define GENERIC_ERR_STS_ENTRY_COUNT_MASK \
+ (GENERIC_ERR_STS_ENTRY_COUNT_MAX \
+ << GENERIC_ERR_STS_ENTRY_COUNT_SHIFT)
+
typedef struct acpi_cstate {
u8 ctype;
u16 latency;
--
To view, visit https://review.coreboot.org/28469
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ib9f4e506080285a7c3de6a223632c6f70933e66c
Gerrit-Change-Number: 28469
Gerrit-PatchSet: 3
Gerrit-Owner: Marshall Dawson <marshalldawson3rd at gmail.com>
Gerrit-Reviewer: Marshall Dawson <marshalldawson3rd at gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth at google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi at google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply at coreboot.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180906/32f3be66/attachment.html>
More information about the coreboot-gerrit
mailing list