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
This commit is contained in:
Stefan Reinauer 2009-03-17 16:41:01 +00:00 committed by Stefan Reinauer
parent 927377febe
commit 5f7d506ae7
2 changed files with 12 additions and 0 deletions

View File

@ -2,6 +2,7 @@
* This file is part of the libpayload project. * This file is part of the libpayload project.
* *
* Copyright (C) 2008 Advanced Micro Devices, Inc. * Copyright (C) 2008 Advanced Micro Devices, Inc.
* Copyright (C) 2009 coresystems GmbH
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * 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). */ /* We only care about a few tags here (maybe more later). */
switch (rec->tag) { 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: case CB_TAG_MEMORY:
cb_parse_memory(ptr, info); cb_parse_memory(ptr, info);
break; break;

View File

@ -128,6 +128,14 @@ struct cb_console {
#define CB_TAG_CONSOLE_SROM 4 #define CB_TAG_CONSOLE_SROM 4
#define CB_TAG_CONSOLE_EHCI 5 #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 #define CB_TAG_CMOS_OPTION_TABLE 0x00c8
struct cb_cmos_option_table { struct cb_cmos_option_table {
u32 tag; u32 tag;