diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/cpu/coreboot/tables.c | 8 | ||||
-rw-r--r-- | arch/x86/include/asm/ic/coreboot/sysinfo.h | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/ic/coreboot/tables.h | 7 |
3 files changed, 17 insertions, 0 deletions
diff --git a/arch/x86/cpu/coreboot/tables.c b/arch/x86/cpu/coreboot/tables.c index 5916bd0e1c2..18aa1149a5a 100644 --- a/arch/x86/cpu/coreboot/tables.c +++ b/arch/x86/cpu/coreboot/tables.c @@ -130,6 +130,11 @@ static void cb_parse_vdat(unsigned char *ptr, struct sysinfo_t *info) info->vdat_size = vdat->vdat_size; } +static void cb_parse_tstamp(unsigned char *ptr, struct sysinfo_t *info) +{ + info->tstamp_table = ((struct cb_tstamp *)ptr)->tstamp_tab; +} + static void cb_parse_framebuffer(unsigned char *ptr, struct sysinfo_t *info) { info->framebuffer = (struct cb_framebuffer *)ptr; @@ -237,6 +242,9 @@ static int cb_parse_header(void *addr, int len, struct sysinfo_t *info) case CB_TAG_VDAT: cb_parse_vdat(ptr, info); break; + case CB_TAG_TIMESTAMPS: + cb_parse_tstamp(ptr, info); + break; } ptr += rec->size; diff --git a/arch/x86/include/asm/ic/coreboot/sysinfo.h b/arch/x86/include/asm/ic/coreboot/sysinfo.h index bde093a9659..3cd797fb5e5 100644 --- a/arch/x86/include/asm/ic/coreboot/sysinfo.h +++ b/arch/x86/include/asm/ic/coreboot/sysinfo.h @@ -34,6 +34,7 @@ #include <compiler.h> #include <asm/ic/coreboot/tables.h> #include <fdt.h> +#include <coreboot/timestamp.h> /* Allow a maximum of 16 memory range definitions. */ #define SYSINFO_MAX_MEM_RANGES 16 @@ -80,6 +81,7 @@ struct sysinfo_t { void *vdat_addr; u32 vdat_size; struct fdt_header *sys_fdt; + struct timestamp_table *tstamp_table; }; extern struct sysinfo_t lib_sysinfo; diff --git a/arch/x86/include/asm/ic/coreboot/tables.h b/arch/x86/include/asm/ic/coreboot/tables.h index 27bafa0b0d3..85b12582f5d 100644 --- a/arch/x86/include/asm/ic/coreboot/tables.h +++ b/arch/x86/include/asm/ic/coreboot/tables.h @@ -196,6 +196,13 @@ struct cb_vdat { uint32_t vdat_size; }; +#define CB_TAG_TIMESTAMPS 0x0016 +struct cb_tstamp { + uint32_t tag; + uint32_t size; + void *tstamp_tab; +}; + #define CB_TAG_CMOS_OPTION_TABLE 0x00c8 struct cb_cmos_option_table { u32 tag; |