Add support for high coreboot table to mkelfimage

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>


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;
