On Mon, 5 Jul 2004 [EMAIL PROTECTED] wrote: > I am trying to use LinuxBIOS V2 + Filo to boot local Linux on hard disk > (EPIA 800 board). > > I found that LinuxBIOS executes an infinite loop in dumpnorth() function > of freebios2/src/northbridge/via/vt8601/raminit.c . > > The function is: > void > dumpnorth(device_t north) > { > uint8_t r, c; > for(r = 0; r < 256; r += 16) { > print_debug_hex8(r); > print_debug(":"); > for(c = 0; c < 16; c++) { > print_debug_hex8(pci_read_config8(north, r+c)); > print_debug(" "); > } > print_debug("\r\n"); > } > } > > Since r is an unsigned char, it will never reach 256. To fix the problem, > I simply added a line at the end of the loop: if( r >= 240 ) break;
thanks for the fix, did you do something like this: void dumpnorth(device_t north) { uint8_t r, c; for(r = 0; ; r += 16) { print_debug_hex8(r); print_debug(":"); for(c = 0; c < 16; c++) { print_debug_hex8(pci_read_config8(north, r+c)); print_debug(" "); } print_debug("\r\n"); if (r >= 240) break; } } (r and c are u8 because we're trying to use bytes whereever possible; this is rommcc-compiled) Let me know if this works and I'll commit it. > > ******************************************************************* > By the way, I am still working on filo. In my machine, after elfboot > passing control to filo, LinuxBIOS Fallback restarts again. Following is > a piece of screenshot: > ...... > Loading Segment: addr: 0x0000000000100000 memsz: 0x00000000000240e0 > filesz: 0x000000000000a048 > Clearing Segment: addr: 0x000000000010a048 memsz: 0x000000000001a098 > Loading Segment: addr: 0x00000000001240e0 memsz: 0x0000000000000048 > filesz: 0x0000000000000048 > Jumping to boot code at 0x107d28 > .8(=ąsio˙. This looks like baud rate troubles in part. also, what does readelf -a of the filo show? your start address seems odd. David, what do you think? ron _______________________________________________ Linuxbios mailing list [EMAIL PROTECTED] http://www.clustermatic.org/mailman/listinfo/linuxbios