diff options
Diffstat (limited to 'src/lib/coreboot_table.c')
-rw-r--r-- | src/lib/coreboot_table.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/lib/coreboot_table.c b/src/lib/coreboot_table.c index abcb0eda11..2b484d4b64 100644 --- a/src/lib/coreboot_table.c +++ b/src/lib/coreboot_table.c @@ -26,6 +26,7 @@ #include <boot/coreboot_tables.h> #include <string.h> #include <version.h> +#include <boardid.h> #include <device/device.h> #include <stdlib.h> #include <cbfs.h> @@ -212,6 +213,19 @@ static inline void lb_vboot_handoff(struct lb_header *header) {} #endif /* CONFIG_VBOOT_VERIFY_FIRMWARE */ #endif /* CONFIG_CHROMEOS */ +static void lb_board_id(struct lb_header *header) +{ +#if CONFIG_BOARD_ID_SUPPORT + struct lb_board_id *bid; + + bid = (struct lb_board_id *)lb_new_record(header); + + bid->tag = LB_TAG_BOARD_ID; + bid->size = sizeof(*bid); + bid->board_id = board_id(); +#endif +} + static void add_cbmem_pointers(struct lb_header *header) { /* @@ -432,6 +446,10 @@ unsigned long write_coreboot_table( /* pass along the vboot_handoff address. */ lb_vboot_handoff(head); #endif + + /* Add board ID if available */ + lb_board_id(head); + add_cbmem_pointers(head); /* Add board-specific table entries, if any. */ |