Add timestamp table pointer to the coreboot table.
This change exports the timestamp table pointer through coreboot table to make it possible for u-boot to add timestamps to the table. Inclusion of cbmem.h allows to drop external declarations in coreboot_table.c. Change-Id: Ia070198cee7a6ffdaeece03d9d15bd91e033b6d1 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: http://review.coreboot.org/716 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
parent
b93f74bb07
commit
2e43867a20
|
@ -30,6 +30,7 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <cbfs.h>
|
#include <cbfs.h>
|
||||||
|
#include <cbmem.h>
|
||||||
#if CONFIG_USE_OPTION_TABLE
|
#if CONFIG_USE_OPTION_TABLE
|
||||||
#include <option_table.h>
|
#include <option_table.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -178,6 +179,23 @@ static void lb_framebuffer(struct lb_header *header)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if CONFIG_COLLECT_TIMESTAMPS
|
||||||
|
static void lb_tsamp(struct lb_header *header)
|
||||||
|
{
|
||||||
|
struct lb_tstamp *tstamp;
|
||||||
|
void *tstamp_table = cbmem_find(CBMEM_ID_TIMESTAMP);
|
||||||
|
|
||||||
|
if (!tstamp_table)
|
||||||
|
return;
|
||||||
|
|
||||||
|
tstamp = (struct lb_tstamp *)lb_new_record(header);
|
||||||
|
tstamp->tag = LB_TAG_TIMESTAMPS;
|
||||||
|
tstamp->size = sizeof(*tstamp);
|
||||||
|
tstamp->tstamp_tab = tstamp_table;
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static struct lb_mainboard *lb_mainboard(struct lb_header *header)
|
static struct lb_mainboard *lb_mainboard(struct lb_header *header)
|
||||||
{
|
{
|
||||||
struct lb_record *rec;
|
struct lb_record *rec;
|
||||||
|
@ -517,10 +535,6 @@ static void add_lb_reserved(struct lb_memory *mem)
|
||||||
lb_add_rsvd_range, mem);
|
lb_add_rsvd_range, mem);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES
|
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
unsigned long write_coreboot_table(
|
unsigned long write_coreboot_table(
|
||||||
unsigned long low_table_start, unsigned long low_table_end,
|
unsigned long low_table_start, unsigned long low_table_end,
|
||||||
unsigned long rom_table_start, unsigned long rom_table_end)
|
unsigned long rom_table_start, unsigned long rom_table_end)
|
||||||
|
@ -623,6 +637,9 @@ unsigned long write_coreboot_table(
|
||||||
/* Record our framebuffer */
|
/* Record our framebuffer */
|
||||||
lb_framebuffer(head);
|
lb_framebuffer(head);
|
||||||
|
|
||||||
|
#if CONFIG_COLLECT_TIMESTAMPS
|
||||||
|
lb_tsamp(head);
|
||||||
|
#endif
|
||||||
/* Remember where my valid memory ranges are */
|
/* Remember where my valid memory ranges are */
|
||||||
return lb_table_fini(head, 1);
|
return lb_table_fini(head, 1);
|
||||||
|
|
||||||
|
|
|
@ -195,6 +195,14 @@ struct lb_framebuffer {
|
||||||
uint8_t reserved_mask_size;
|
uint8_t reserved_mask_size;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define LB_TAG_TIMESTAMPS 0x0016
|
||||||
|
struct lb_tstamp {
|
||||||
|
uint32_t tag;
|
||||||
|
uint32_t size;
|
||||||
|
|
||||||
|
void *tstamp_tab;
|
||||||
|
};
|
||||||
|
|
||||||
/* The following structures are for the cmos definitions table */
|
/* The following structures are for the cmos definitions table */
|
||||||
#define LB_TAG_CMOS_OPTION_TABLE 200
|
#define LB_TAG_CMOS_OPTION_TABLE 200
|
||||||
/* cmos header record */
|
/* cmos header record */
|
||||||
|
|
Loading…
Reference in New Issue