aboutsummaryrefslogtreecommitdiff
path: root/payloads/libpayload/include/sysinfo.h
diff options
context:
space:
mode:
authorTim Wawrzynczak <twawrzynczak@chromium.org>2020-10-09 17:07:45 -0600
committerTim Wawrzynczak <twawrzynczak@chromium.org>2020-10-30 15:25:28 +0000
commite1a7a26f5e8bcc95d94ae9aec8df5b5226a77f56 (patch)
treea7b07715b84e2f9936b4b34c1a26776320a42ef8 /payloads/libpayload/include/sysinfo.h
parentc70505acee27c7efad4eaa6d18542f794ff98298 (diff)
lib/libpayload: Replace strapping_ids with new board configuration entry
There are currently 3 different strapping ID entries in the coreboot table, which adds overhead. The new fw_config field is also desired in the coreboot table, which is another kind of strapping id. Therefore, this patch deprecates the 3 current strapping ID entries (board ID, RAM code, and SKU ID), and adds a new entry ("board_config") which provides board ID, RAM code, SKU ID, as well as FW_CONFIG together. Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Change-Id: I1ecec847ee77b72233587c1ad7f124e2027470bf Reviewed-on: https://review.coreboot.org/c/coreboot/+/46605 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'payloads/libpayload/include/sysinfo.h')
-rw-r--r--payloads/libpayload/include/sysinfo.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/payloads/libpayload/include/sysinfo.h b/payloads/libpayload/include/sysinfo.h
index a3f61e7ffa..dd739abab4 100644
--- a/payloads/libpayload/include/sysinfo.h
+++ b/payloads/libpayload/include/sysinfo.h
@@ -107,11 +107,18 @@ struct sysinfo_t {
uintptr_t mrc_cache;
uintptr_t acpi_gnvs;
-#define UNDEFINED_STRAPPING_ID (~0)
+#define UNDEFINED_STRAPPING_ID (~0)
+#define UNDEFINED_FW_CONFIG ~((uint64_t)0)
u32 board_id;
u32 ram_code;
u32 sku_id;
+ /*
+ * A payload using this field is responsible for ensuring it checks its
+ * value against UNDEFINED_FW_CONFIG before using it.
+ */
+ u64 fw_config;
+
uintptr_t wifi_calibration;
uint64_t ramoops_buffer;
uint32_t ramoops_buffer_size;