Update libpayloads understanding of the coreboot tables.

Give it somewhere to put the new info in sysinfo, and tell it how to parse
the new tables which it doesn't yet understand.

Change-Id: I01d3318138696e6407553c27c1814f79e3fbc4f8
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: http://review.coreboot.org/1718
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
Gabe Black
2012-03-11 01:57:53 -08:00
committed by Stefan Reinauer
parent 1fc3461792
commit d3890cc16d
4 changed files with 176 additions and 0 deletions

View File

@ -32,6 +32,10 @@
/* Allow a maximum of 16 memory range definitions. */
#define SYSINFO_MAX_MEM_RANGES 16
/* Allow a maximum of 8 GPIOs */
#define SYSINFO_MAX_GPIOS 8
#include <coreboot_tables.h>
struct cb_serial;
@ -53,15 +57,43 @@ struct sysinfo_t {
u32 cmos_range_start;
u32 cmos_range_end;
u32 cmos_checksum_location;
#if CONFIG_CHROMEOS
u32 vbnv_start;
u32 vbnv_size;
#endif
char *version;
char *extra_version;
char *build;
char *compile_time;
char *compile_by;
char *compile_host;
char *compile_domain;
char *compiler;
char *linker;
char *assembler;
char *cb_version;
struct cb_framebuffer *framebuffer;
#if CONFIG_CHROMEOS
int num_gpios;
struct cb_gpio gpios[SYSINFO_MAX_GPIOS];
#endif
unsigned long *mbtable; /** Pointer to the multiboot table */
struct cb_header *header;
struct cb_mainboard *mainboard;
#if CONFIG_CHROMEOS
void *vdat_addr;
u32 vdat_size;
#endif
void *tstamp_table;
void *cbmem_cons;
void *mrc_cache;
};
extern struct sysinfo_t lib_sysinfo;