From 08052011433af37c02ce7db86af56db7154e4d98 Mon Sep 17 00:00:00 2001 From: Mathias Krause Date: Thu, 20 Oct 2011 14:06:26 +0200 Subject: libpayload: Put coreboot version into lib_sysinfo Change-Id: I22319efe90e475c66b9556f734a7a5e54f7c59bc Signed-off-by: Patrick Georgi Reviewed-on: http://review.coreboot.org/394 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- payloads/libpayload/arch/i386/coreboot.c | 9 +++++++++ payloads/libpayload/include/sysinfo.h | 2 ++ 2 files changed, 11 insertions(+) (limited to 'payloads/libpayload') diff --git a/payloads/libpayload/arch/i386/coreboot.c b/payloads/libpayload/arch/i386/coreboot.c index bdef4e85d3..365445ed65 100644 --- a/payloads/libpayload/arch/i386/coreboot.c +++ b/payloads/libpayload/arch/i386/coreboot.c @@ -82,6 +82,12 @@ static void cb_parse_serial(unsigned char *ptr, struct sysinfo_t *info) info->ser_ioport = ser->baseaddr; } +static void cb_parse_version(unsigned char *ptr, struct sysinfo_t *info) +{ + struct cb_string *ver = (struct cb_string *)ptr; + info->cb_version = (char *)ver->string; +} + #ifdef CONFIG_NVRAM static void cb_parse_optiontable(unsigned char *ptr, struct sysinfo_t *info) { @@ -148,6 +154,9 @@ static int cb_parse_header(void *addr, int len, struct sysinfo_t *info) case CB_TAG_SERIAL: cb_parse_serial(ptr, info); break; + case CB_TAG_VERSION: + cb_parse_version(ptr, info); + break; #ifdef CONFIG_NVRAM case CB_TAG_CMOS_OPTION_TABLE: cb_parse_optiontable(ptr, info); diff --git a/payloads/libpayload/include/sysinfo.h b/payloads/libpayload/include/sysinfo.h index e357704995..c1d2002279 100644 --- a/payloads/libpayload/include/sysinfo.h +++ b/payloads/libpayload/include/sysinfo.h @@ -51,6 +51,8 @@ struct sysinfo_t { u32 cmos_range_end; u32 cmos_checksum_location; + char *cb_version; + struct cb_framebuffer *framebuffer; unsigned long *mbtable; /** Pointer to the multiboot table */ -- cgit v1.2.3