diff options
author | Stefan Reinauer <stepan@coresystems.de> | 2009-03-17 16:41:01 +0000 |
---|---|---|
committer | Stefan Reinauer <stepan@openbios.org> | 2009-03-17 16:41:01 +0000 |
commit | 5f7d506ae72034af4245c4eabbe6553b5ff68bb0 (patch) | |
tree | c6f01954d0fe337025ba03e93b825a69f3f04f69 | |
parent | 927377febe49f9dbf2dc85283583d85beca2f367 (diff) |
Add high coreboot table support to libpayload
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Myles Watson <mylesgw@gmail.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4016 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r-- | payloads/libpayload/i386/coreboot.c | 4 | ||||
-rw-r--r-- | payloads/libpayload/include/coreboot_tables.h | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/payloads/libpayload/i386/coreboot.c b/payloads/libpayload/i386/coreboot.c index 2a675afbe6..66e02f11b7 100644 --- a/payloads/libpayload/i386/coreboot.c +++ b/payloads/libpayload/i386/coreboot.c @@ -2,6 +2,7 @@ * This file is part of the libpayload project. * * Copyright (C) 2008 Advanced Micro Devices, Inc. + * Copyright (C) 2009 coresystems GmbH * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -125,6 +126,9 @@ static int cb_parse_header(void *addr, int len, struct sysinfo_t *info) /* We only care about a few tags here (maybe more later). */ switch (rec->tag) { + case CB_TAG_FORWARD: + return cb_parse_header((void *)(unsigned long)((struct cb_forward *)rec)->forward, len, info); + continue; case CB_TAG_MEMORY: cb_parse_memory(ptr, info); break; diff --git a/payloads/libpayload/include/coreboot_tables.h b/payloads/libpayload/include/coreboot_tables.h index a289a91c6f..768bb34ec1 100644 --- a/payloads/libpayload/include/coreboot_tables.h +++ b/payloads/libpayload/include/coreboot_tables.h @@ -128,6 +128,14 @@ struct cb_console { #define CB_TAG_CONSOLE_SROM 4 #define CB_TAG_CONSOLE_EHCI 5 +#define CB_TAG_FORWARD 0x00011 + +struct cb_forward { + u32 tag; + u32 size; + u64 forward; +}; + #define CB_TAG_CMOS_OPTION_TABLE 0x00c8 struct cb_cmos_option_table { u32 tag; |