[PATCH] Fix to elfboot checksum problem

SONE Takeshi ts1 at tsn.or.jp
Mon Jun 30 14:15:00 CEST 2003

I think I've at last found a bug in elfboot.c.
Until this fix, I had always needed to disable verify code in
elfboot.c to get it work.
Now it boots ELF kernel with BOOT_IDE perfectly.

One of doubly-linked chain was not initialized.
I think it did not cause problem when memory near address 0 comes
up with zeroes.
But my raminit.inc leaves gabages there so some bogus memory ranges
have been included in checksum.


Index: src/lib/elfboot.c
RCS file: /cvsroot/freebios/freebios/src/lib/elfboot.c,v
retrieving revision 1.15
diff -u -r1.15 elfboot.c
--- src/lib/elfboot.c	10 Oct 2002 22:23:43 -0000	1.15
+++ src/lib/elfboot.c	30 Jun 2003 18:11:26 -0000
@@ -368,6 +368,7 @@
 	int i;
 	memset(head, 0, sizeof(*head));
 	head->next = head->prev = head;
+	head->phdr_next = head->phdr_prev = head;
 	for(i = 0; i < headers; i++) {
 		struct segment *new;
 		/* Ignore data that I don't need to handle */

More information about the coreboot mailing list