summaryrefslogtreecommitdiff
path: root/payloads/libpayload
diff options
context:
space:
mode:
authorMathias Krause <mathias.krause@secunet.com>2011-10-20 14:06:26 +0200
committerStefan Reinauer <stefan.reinauer@coreboot.org>2011-11-03 19:02:55 +0100
commit08052011433af37c02ce7db86af56db7154e4d98 (patch)
treeca320634490825ae491b76998cea0cc0c1e0adb1 /payloads/libpayload
parentd35906173ddef192d89532719fbdae29ed232f70 (diff)
downloadcoreboot-08052011433af37c02ce7db86af56db7154e4d98.tar.xz
libpayload: Put coreboot version into lib_sysinfo
Change-Id: I22319efe90e475c66b9556f734a7a5e54f7c59bc Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com> Reviewed-on: http://review.coreboot.org/394 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'payloads/libpayload')
-rw-r--r--payloads/libpayload/arch/i386/coreboot.c9
-rw-r--r--payloads/libpayload/include/sysinfo.h2
2 files changed, 11 insertions, 0 deletions
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 */