Add support for high coreboot table to mkelfimage
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4015 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
b743885b43
commit
927377febe
|
@ -79,4 +79,13 @@ struct lb_hwrpb {
|
|||
uint64_t hwrpb;
|
||||
};
|
||||
|
||||
#define LB_TAG_FORWARD 0x0011
|
||||
struct lb_forward {
|
||||
uint32_t tag;
|
||||
uint32_t size;
|
||||
uint64_t forward;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /* LINUXBIOS_TABLES_H */
|
||||
|
|
|
@ -977,6 +977,13 @@ static int find_lb_table(struct param_info *info)
|
|||
/* Then try at address 0xf0000 */
|
||||
head = __find_lb_table((void *)0xf0000, (void *)0x100000);
|
||||
}
|
||||
if (head) {
|
||||
struct lb_forward *forward = (struct lb_forward *)(((char *)head) + head->header_bytes);
|
||||
if (forward->tag == LB_TAG_FORWARD) {
|
||||
head = __find_lb_table(forward->forward,
|
||||
forward->forward + 0x1000);
|
||||
}
|
||||
}
|
||||
if (head) {
|
||||
info->has_linuxbios = 1;
|
||||
info->lb_table = head;
|
||||
|
|
Loading…
Reference in New Issue