Author: stepan Date: 2009-03-17 17:41:01 +0100 (Tue, 17 Mar 2009) New Revision: 4016
Modified: trunk/payloads/libpayload/i386/coreboot.c trunk/payloads/libpayload/include/coreboot_tables.h Log: Add high coreboot table support to libpayload
Signed-off-by: Stefan Reinauer stepan@coresystems.de Acked-by: Myles Watson mylesgw@gmail.com
Modified: trunk/payloads/libpayload/i386/coreboot.c =================================================================== --- trunk/payloads/libpayload/i386/coreboot.c 2009-03-17 15:33:41 UTC (rev 4015) +++ trunk/payloads/libpayload/i386/coreboot.c 2009-03-17 16:41:01 UTC (rev 4016) @@ -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 @@
/* 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;
Modified: trunk/payloads/libpayload/include/coreboot_tables.h =================================================================== --- trunk/payloads/libpayload/include/coreboot_tables.h 2009-03-17 15:33:41 UTC (rev 4015) +++ trunk/payloads/libpayload/include/coreboot_tables.h 2009-03-17 16:41:01 UTC (rev 4016) @@ -128,6 +128,14 @@ #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;