summaryrefslogtreecommitdiffstats
path: root/src/commonlib
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2022-03-03 22:28:27 +0100
committerFelix Held <felix-coreboot@felixheld.de>2022-03-09 14:21:01 +0000
commit2e7e2d978bb2cc29b8b0335d46b3ed90ed36bbcc (patch)
tree8a22a8eac3c14bcfa9645e0ff267b619defa8ae7 /src/commonlib
parent63c6d814ce0511d95d4f3ce57bce64743bc084d8 (diff)
downloadcoreboot-2e7e2d978bb2cc29b8b0335d46b3ed90ed36bbcc.tar.gz
coreboot-2e7e2d978bb2cc29b8b0335d46b3ed90ed36bbcc.tar.bz2
coreboot-2e7e2d978bb2cc29b8b0335d46b3ed90ed36bbcc.zip
coreboot_tables.c: Expose the ACPI RSDP
The ACPI RSDP can only be found in: - legacy BIOS region - via UEFI service On some systems like ARM that legacy BIOS region is not an option, so to avoid needing UEFI it makes sense to expose the RSDP via a coreboot table entry. This also adds the respective unit test. Change-Id: I591312a2c48f0cbbb03b2787e4b365e9c932afff Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/62573 Reviewed-by: Lance Zhao Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/commonlib')
-rw-r--r--src/commonlib/include/commonlib/coreboot_tables.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/commonlib/include/commonlib/coreboot_tables.h b/src/commonlib/include/commonlib/coreboot_tables.h
index 91da8e01fa4e..01b12f3a4874 100644
--- a/src/commonlib/include/commonlib/coreboot_tables.h
+++ b/src/commonlib/include/commonlib/coreboot_tables.h
@@ -85,6 +85,7 @@ enum {
LB_TAG_BOARD_CONFIG = 0x0040,
LB_TAG_ACPI_CNVS = 0x0041,
LB_TAG_TYPE_C_INFO = 0x0042,
+ LB_TAG_ACPI_RSDP = 0x0043,
/* The following options are CMOS-related */
LB_TAG_CMOS_OPTION_TABLE = 0x00c8,
LB_TAG_OPTION = 0x00c9,
@@ -574,4 +575,15 @@ struct lb_tpm_physical_presence {
uint8_t tpm_version; /* 1: TPM1.2, 2: TPM2.0 */
uint8_t ppi_version; /* BCD encoded */
} __packed;
+
+
+/*
+ * Handoff the ACPI RSDP
+ */
+struct lb_acpi_rsdp {
+ uint32_t tag;
+ uint32_t size;
+ struct lb_uint64 rsdp_pointer; /* Address of the ACPI RSDP */
+};
+
#endif