Hi,
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.

-- 
Takeshi



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 */
_______________________________________________
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios

Reply via email to