[coreboot-gerrit] Change in coreboot[master]: libpayload: Minor board ID / RAM code cleanups

Julius Werner (Code Review) gerrit at coreboot.org
Tue Dec 5 22:51:21 CET 2017


Julius Werner has uploaded this change for review. ( https://review.coreboot.org/22742


Change subject: libpayload: Minor board ID / RAM code cleanups
......................................................................

libpayload: Minor board ID / RAM code cleanups

This patch mirrors recent cleanups in coreboot regarding the strapping
ID entries in the coreboot table.

Change-Id: Ia5c3728daf2cb317f8e2bc72c6f1714d6cb4d080
Signed-off-by: Julius Werner <jwerner at chromium.org>
---
M payloads/libpayload/include/coreboot_tables.h
M payloads/libpayload/include/sysinfo.h
M payloads/libpayload/libc/coreboot.c
3 files changed, 14 insertions(+), 21 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/42/22742/1

diff --git a/payloads/libpayload/include/coreboot_tables.h b/payloads/libpayload/include/coreboot_tables.h
index 842f206..5bc56d0 100644
--- a/payloads/libpayload/include/coreboot_tables.h
+++ b/payloads/libpayload/include/coreboot_tables.h
@@ -225,14 +225,6 @@
 	uint64_t cbmem_tab;
 };
 
-#define CB_TAG_BOARD_ID		0x0025
-struct cb_board_id {
-	uint32_t tag;
-	uint32_t size;
-	/* Board ID as retrieved from the board revision GPIOs. */
-	uint32_t board_id;
-};
-
 #define CB_TAG_X86_ROM_MTRR	0x0021
 struct cb_x86_rom_mtrr {
 	uint32_t tag;
@@ -244,11 +236,13 @@
 	uint32_t index;
 };
 
+
+#define CB_TAG_BOARD_ID		0x0025
 #define CB_TAG_RAM_CODE		0x0028
-struct cb_ram_code {
+struct cb_strapping_id {
 	uint32_t tag;
 	uint32_t size;
-	uint32_t ram_code;
+	uint32_t id_code;
 };
 
 #define CB_TAG_SPI_FLASH	0x0029
diff --git a/payloads/libpayload/include/sysinfo.h b/payloads/libpayload/include/sysinfo.h
index 2e5a837..b46d4b1 100644
--- a/payloads/libpayload/include/sysinfo.h
+++ b/payloads/libpayload/include/sysinfo.h
@@ -108,8 +108,11 @@
 	void		*cbmem_cons;
 	void		*mrc_cache;
 	void		*acpi_gnvs;
+
+#define UNDEFINED_STRAPPING_ID (~0)
 	u32		board_id;
 	u32		ram_code;
+
 	void		*wifi_calibration;
 	uint64_t	ramoops_buffer;
 	uint32_t	ramoops_buffer_size;
diff --git a/payloads/libpayload/libc/coreboot.c b/payloads/libpayload/libc/coreboot.c
index 10b801c..1efde9a 100644
--- a/payloads/libpayload/libc/coreboot.c
+++ b/payloads/libpayload/libc/coreboot.c
@@ -147,14 +147,14 @@
 
 static void cb_parse_board_id(unsigned char *ptr, struct sysinfo_t *info)
 {
-	struct cb_board_id *const cbbid = (struct cb_board_id *)ptr;
-	info->board_id = cbbid->board_id;
+	struct cb_strapping_id *const cbbid = (struct cb_strapping_id *)ptr;
+	info->board_id = cbbid->id_code;
 }
 
 static void cb_parse_ram_code(unsigned char *ptr, struct sysinfo_t *info)
 {
-	struct cb_ram_code *const ram_code = (struct cb_ram_code *)ptr;
-	info->ram_code = ram_code->ram_code;
+	struct cb_strapping_id *const ram_code = (struct cb_strapping_id *)ptr;
+	info->ram_code = ram_code->id_code;
 }
 
 #if IS_ENABLED(CONFIG_LP_NVRAM)
@@ -277,13 +277,9 @@
 
 	info->header = header;
 
-	/*
-	 * Board straps represented by numerical values are small numbers.
-	 * Preset them to an invalid value in case the firmware does not
-	 * supply the info.
-	 */
-	info->board_id = ~0;
-	info->ram_code = ~0;
+	/* Initialize IDs as undefined in case they don't show up in table. */
+	info->board_id = UNDEFINED_STRAPPING_ID;
+	info->ram_code = UNDEFINED_STRAPPING_ID;
 
 	/* Now, walk the tables. */
 	ptr += header->header_bytes;

-- 
To view, visit https://review.coreboot.org/22742
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia5c3728daf2cb317f8e2bc72c6f1714d6cb4d080
Gerrit-Change-Number: 22742
Gerrit-PatchSet: 1
Gerrit-Owner: Julius Werner <jwerner at chromium.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20171205/d4beb99c/attachment.html>


More information about the coreboot-gerrit mailing list