See patch

-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: [email protected]http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866

Add support for high coreboot table to mkelfimage

Signed-off-by: Stefan Reinauer <[email protected]>


Index: mkelfImage/include/linuxbios_tables.h
===================================================================
--- mkelfImage/include/linuxbios_tables.h       (revision 4013)
+++ mkelfImage/include/linuxbios_tables.h       (working copy)
@@ -79,4 +79,13 @@
        uint64_t hwrpb;
 };
 
+#define LB_TAG_FORWARD 0x0011
+struct lb_forward {
+       uint32_t tag;
+       uint32_t size;
+       uint64_t forward;
+};
+
+
+
 #endif /* LINUXBIOS_TABLES_H */
Index: mkelfImage/linux-i386/convert_params.c
===================================================================
--- mkelfImage/linux-i386/convert_params.c      (revision 4013)
+++ mkelfImage/linux-i386/convert_params.c      (working copy)
@@ -978,6 +978,13 @@
                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;
                return 1;
-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to