[coreboot] r4015 - in trunk/util/mkelfImage: include linux-i386

svn at coreboot.org svn at coreboot.org
Tue Mar 17 16:33:42 CET 2009


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 <stepan at coresystems.de>
Acked-by: Myles Watson <mylesgw at gmail.com>




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;





More information about the coreboot mailing list