Author: stepan
Date: 2009-03-17 16:33:41 +0100 (Tue, 17 Mar 2009)
New Revision: 4015

Modified:
   trunk/util/mkelfImage/include/linuxbios_tables.h
   trunk/util/mkelfImage/linux-i386/convert_params.c
Log:

Add support for high coreboot table to mkelfimage

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




Modified: trunk/util/mkelfImage/include/linuxbios_tables.h
===================================================================
--- trunk/util/mkelfImage/include/linuxbios_tables.h    2009-03-17 15:15:15 UTC 
(rev 4014)
+++ trunk/util/mkelfImage/include/linuxbios_tables.h    2009-03-17 15:33:41 UTC 
(rev 4015)
@@ -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 */

Modified: trunk/util/mkelfImage/linux-i386/convert_params.c
===================================================================
--- trunk/util/mkelfImage/linux-i386/convert_params.c   2009-03-17 15:15:15 UTC 
(rev 4014)
+++ trunk/util/mkelfImage/linux-i386/convert_params.c   2009-03-17 15:33:41 UTC 
(rev 4015)
@@ -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