summaryrefslogtreecommitdiff
path: root/src/Kconfig
diff options
context:
space:
mode:
authorMarshall Dawson <marshalldawson3rd@gmail.com>2018-09-04 12:32:56 -0600
committerMartin Roth <martinroth@google.com>2018-09-07 14:50:02 +0000
commit991467da4d42fd5c66a1bb693d5ecaacd651204a (patch)
tree4ea0a089b702e8626820e8f551d2a7d7fcd83d3f /src/Kconfig
parent03b99772f748c227d3d30e191fd409e363380726 (diff)
downloadcoreboot-991467da4d42fd5c66a1bb693d5ecaacd651204a.tar.xz
arch/x86: Add BERT region support functions
Add code for generating the region pointed to in an ACPI Boot Error Record Table. The BERT region must be reported as Reserved to the OSPM, so this code calls out to a system-specific region locator. cbmem is reported as type 16 and is not usable for the BERT region. Events reported via BERT are Generic Error Data, and are constructed as follows (see ACPI and UEFI specs for reference): * Each event begins with a Generic Error Status Block, which may contain zero or more Generic Data Entries * Each Generic Data Entry is identifiable by its Section Type field, and the data structures associated are also in the UEFI spec. * The GUIDs are listed in the Section Type field of the CPER Section Descriptor structure. BERT doesn't use this structure but simply uses its GUIDs. * Data structures used in the Generic Data Entry are named as Error Sections in the UEFI spec. * Some sections may optionally include a variable number of additional structures, e.g. an IA32/X64 processor error can report error information as well as machine contexts. It is worth noting that the Linux kernel (as of v4.4) does not attempt to parse IA32/X64 sections, and opts to hexdump them instead. BUG=b:65446699 TEST=inspect BERT region, and dmesg, on full patch stack. Use test data plus a failing Grunt system. Change-Id: I54826981639b5647a8ca33b8b55ff097681402b9 Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com> Reviewed-on: https://review.coreboot.org/28470 Reviewed-by: Martin Roth <martinroth@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/Kconfig')
-rw-r--r--src/Kconfig6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Kconfig b/src/Kconfig
index bce3e32884..ca75c0b4f0 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -586,6 +586,12 @@ config ACPI_NHLT
help
Build support for NHLT (non HD Audio) ACPI table generation.
+config ACPI_BERT
+ bool
+ depends on HAVE_ACPI_TABLES
+ help
+ Build an ACPI Boot Error Record Table.
+
#These Options are here to avoid "undefined" warnings.
#The actual selection and help texts are in the following menu.