[coreboot-gerrit] Patch set updated for coreboot: 9684a28 libpayload: cros: add serial number from coreboot table

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Tue Apr 21 11:19:45 CEST 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9881

-gerrit

commit 9684a28bae769fe9c35eb53286840637b21719c4
Author: Stephen Barber <smbarber at chromium.org>
Date:   Wed Mar 11 15:48:08 2015 -0700

    libpayload: cros: add serial number from coreboot table
    
    Add serial number to lib_sysinfo from coreboot table.
    
    BRANCH=none
    BUG=chrome-os-partner:37813
    TEST=ryu boots and /proc/device-tree/firmware/android is populated
    with "compatible", "hardware", and "serialno" properties
    
    Change-Id: I565b332a16b177c51907ffab7976ebd7a665aaaf
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 5535119f5d499b04bdc178c3040241d2872c4e13
    Original-Change-Id: Ie2e222780d1577689a1cbf76ae8514c74fc469f4
    Original-Signed-off-by: Stephen Barber <smbarber at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/259140
    Original-Reviewed-by: Furquan Shaikh <furquan at chromium.org>
---
 payloads/libpayload/include/coreboot_tables.h | 3 +++
 payloads/libpayload/include/sysinfo.h         | 1 +
 payloads/libpayload/libc/coreboot.c           | 3 +++
 3 files changed, 7 insertions(+)

diff --git a/payloads/libpayload/include/coreboot_tables.h b/payloads/libpayload/include/coreboot_tables.h
index c46fbf9..649cc2b 100644
--- a/payloads/libpayload/include/coreboot_tables.h
+++ b/payloads/libpayload/include/coreboot_tables.h
@@ -256,6 +256,9 @@ struct cb_spi_flash {
 	uint32_t erase_cmd;
 };
 
+#define CB_TAG_SERIALNO		0x002a
+#define CB_MAX_SERIALNO_LENGTH	32
+
 #define CB_TAG_CMOS_OPTION_TABLE 0x00c8
 struct cb_cmos_option_table {
 	u32 tag;
diff --git a/payloads/libpayload/include/sysinfo.h b/payloads/libpayload/include/sysinfo.h
index ec8a31c..de8b0fe 100644
--- a/payloads/libpayload/include/sysinfo.h
+++ b/payloads/libpayload/include/sysinfo.h
@@ -91,6 +91,7 @@ struct sysinfo_t {
 	struct cb_gpio gpios[SYSINFO_MAX_GPIOS];
 	int num_macs;
 	struct mac_address macs[SYSINFO_MAX_MACS];
+	char *serialno;
 #endif
 
 	unsigned long *mbtable; /** Pointer to the multiboot table */
diff --git a/payloads/libpayload/libc/coreboot.c b/payloads/libpayload/libc/coreboot.c
index 5999e86..999465c 100644
--- a/payloads/libpayload/libc/coreboot.c
+++ b/payloads/libpayload/libc/coreboot.c
@@ -333,6 +333,9 @@ int cb_parse_header(void *addr, int len, struct sysinfo_t *info)
 		case CB_TAG_MAC_ADDRS:
 			cb_parse_mac_addresses(ptr, info);
 			break;
+		case CB_TAG_SERIALNO:
+			cb_parse_string(ptr, &info->serialno);
+			break;
 #endif
 		case CB_TAG_TIMESTAMPS:
 			cb_parse_tstamp(ptr, info);



More information about the coreboot-gerrit mailing list