booting elf from ROM

Andrew Kohlsmith akohlsmith-linuxbios at benshaw.com
Tue Nov 19 19:31:01 CET 2002


> I've managed to get all the way to jmp_to_elf_entry(), but I have run in to
> a snag in the assembly code which copies LinuxBIOS in to high memory and
> then attempts to continue execution up there.

Just a reply to myself...  I just discovered that bochs can give me the serial 
output without a serial port.  Attached is what is coming out the serial 
console.

Regards,
Andrew
-------------- next part --------------
LinuxBIOS-1.0.0 Tue Nov 19 00:01:59 EST 2002 starting...
Ram1
OOps, can't write to PAM registers properly
After 0x0000000 nop...
Before 0x4000000 nop...
After 0x4000000 nop...
After 0x54...
After 0x00...
Before 0x4000000 nop...
After 0x4000000 nop...
After 0x4000000 nop...
Before 0x4000000 nop...
After 0x4000000 nop...
After 0x0000000 nop...
Before 0x4000000 nop...
After 0x4000000 nop...
After 0x54...
After 0x00...
Before 0x4000000 nop...
After 0x4000000 nop...
After 0x4000000 nop...
First DRAM setup done
Ram2
Ram3
Ram Enable 1
Ram Enable 2
Ram Enable 3
Ram Enable 4
Ram Enable 5
Ram4
Ram5
Ram6
Copying LinuxBIOS to ram.
Jumping to LinuxBIOS.
LinuxBIOS-1.0.0 Tue Nov 19 00:01:59 EST 2002 booting...
Finding PCI configuration type.
Scanning PCI bus...PCI: pci_scan_bus for bus 0
PCI: pci_scan_bus returning with max=00
done
Allocating PCI resources...
ASSIGN RESOURCES, bus 0
ASSIGNED RESOURCES, bus 0
done.
Enabling PCI resourcess...done.
Initializing PCI devices...
PCI devices initialized
totalram: 1020M
Initializing CPU #0
Enabling cache...done.

Max cpuid index    : 1
Vendor ID          : GenuineIntel
Processor Type     : 0x00
Processor Family   : 0x05
Processor Model    : 0x01
Processor Mask     : 0x00
Processor Stepping : 0x03
Feature flags      : 0x00800111

done.
CPU #0 Initialized
intel_mainboard_fixup()
Testing SMI
SMI disabled
Enabling extended BIOS access...done.
Checking IRQ routing tables.../home/andrew/linuxbios/freebios/src/arch/i386/lib/pirq_routing.c:    24:check_pirq_routing_table() - irq_routing_table located at: 0x00008480
/home/andrew/linuxbios/freebios/src/arch/i386/lib/pirq_routing.c:    31:check_pirq_routing_table() - checksum is: 0x63 but should be: 0xa6
/home/andrew/linuxbios/freebios/src/arch/i386/lib/pirq_routing.c:    49:check_pirq_routing_table() - checksum error in irq routing table
done.
Copying IRQ routing tables to 0xf0000...done.
Wrote linuxbios table at: 00000500 - 00000644  checksum f20c

Welcome to elfboot, the open sourced starter.
January 2002, Eric Biederman.
Version 1.2

    37:init_bytes() - zkernel_start:0x000c0000  zkernel_mask:0x0000007f
Found ELF candiate at offset 0
New segment addr 0x400000 size 0xb560 offset 0x60 filesize 0x7209
(cleaned up) New segment addr 0x400000 size 0xb560 offset 0x60 filesize 0x7209
Loading Segment: addr: 0x0000000000400000 memsz: 0x000000000000b560 filesz: 0x0000000000007209
Clearing Segment: addr: 0x0000000000407209 memsz: 0x0000000000004357
Jumping to boot code at 0x400000


More information about the coreboot mailing list