No subject
Sun Dec 9 17:34:17 CET 2012
that it is declared valid. If I examine code at 0x400000 it seems to be
correct, meaning that it did copy the code over there.
The processor never gets up there though. From tracing through the image it
seems that the adjustment for Linuxbios' image in high memory is all messed
up.
After editing loglevel.h to allow "spew" level printks, the following is
visible (I could see it throught the bochs debugger, but this just verifies
that I'm not totally crazy. :-)
Loaded segments
verified segments
closed down stream
Jumping to boot code at 0x400000
entry = 0x00400000
lb_start = 0x00004000
lb_size = 0x0004e2d0
adjust = 0x3fbadd30
buffer = 0x3fb63a60
elf_boot_notes = 0x0000bc40
adjusted_boot_notes = 0x3fbb9970
now adjust and buffer are both waaaaaaaaaaaaaay beyond normal memory space...
Is this normal or did I just fail to initialize something correctly?
the objdump output for the natsemi.elf is also attached. From what I can tell
it's nothing unusual.
Regards,
Andrew
--Boundary-00=_TbT49FrWBdLVpdd
Content-Type: text/plain;
charset="us-ascii";
name="linuxbios.dump"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="linuxbios.dump"
LinuxBIOS-1.0.0 Sun Nov 24 14:12:38 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 Sun Nov 24 14:12:38 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: 0x00009720
/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 f2ff
Welcome to elfboot, the open sourced starter.
January 2002, Eric Biederman.
Version 1.2
37:init_bytes() - zkernel_start:0x000c0000 zkernel_mask:0x0000ffff
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
registers just before 'cld' instruction:
eax 0x3fbb9970 1069259120
ecx 0x80 128
edx 0x4d650 317008
ebx 0x3fb65360 1068913504
esp 0x115a4 0x115a4
ebp 0x115ac 0x115ac
esi 0x400000 4194304
edi 0x115d8 71128
eip 0x8748 0x8748
eflags 0x7 7
cs 0x10 16
ss 0x18 24
ds 0x18 24
es 0x18 24
fs 0x18 24
gs 0x18 24
registers just before 'rep movsl'
eax 0x3fbae9b0 1069214128
ecx 0x13594 79252
edx 0x4d650 317008
ebx 0x3fb65360 1068913504
esp 0x11580 0x11580
ebp 0x115ac 0x115ac
esi 0x4000 16384
edi 0x3fbb29b0 1069230512
eip 0x877c 0x877c
eflags 0x2 2
cs 0x10 16
ss 0x18 24
ds 0x18 24
es 0x18 24
fs 0x18 24
gs 0x18 24
registers after 'rep movsl'
eax 0x3fbae9b0 1069214128
ecx 0x0 0
edx 0x4d650 317008
ebx 0x3fb65360 1068913504
esp 0x11580 0x11580
ebp 0x115ac 0x115ac
esi 0x51650 333392
edi 0x3fc00000 1069547520
eip 0x877e 0x877e
eflags 0x2 2
cs 0x10 16
ss 0x18 24
ds 0x18 24
es 0x18 24
fs 0x18 24
gs 0x18 24
--Boundary-00=_TbT49FrWBdLVpdd
Content-Type: text/plain;
charset="us-ascii";
name="natsemi.objdump"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="natsemi.objdump"
../natsemi.elf: file format elf32-i386
../natsemi.elf
architecture: i386, flags 0x00000002:
EXEC_P
start address 0x00400000
Program Header:
LOAD off 0x00000060 vaddr 0x00400000 paddr 0x00400000 align 2**5
filesz 0x00007209 memsz 0x0000b560 flags rwx
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00006109 00400000 00400000 00000060 2**2
CONTENTS, ALLOC, LOAD, CODE
1 .rodata 00000fbe 00406120 00406120 00006180 2**5
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .data 00000129 004070e0 004070e0 00007140 2**5
CONTENTS, ALLOC, LOAD, DATA
3 .bss 00004340 00407220 00407220 00007280 2**5
ALLOC
4 .comment 000000d0 00000000 00000000 00007280 2**0
CONTENTS, READONLY
--Boundary-00=_TbT49FrWBdLVpdd
Content-Type: text/plain;
charset="us-ascii";
name="config"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="config"
target orasis-v1
mainboard dauphin/orasis-v1
option HAVE_PIRQ_TABLE=1
option SERIAL_CONSOLE=1
option INBUF_COPY=1
option DEFAULT_CONSOLE_LOGLEVEL=15
#option SERIAL_POST=1
option DEBUG=1
option USE_GENERIC_ROM=1
option ROM_SIZE=262144
option NO_KEYBOARD=0
keyboard pc80
option USE_ELF_BOOT=1
#option BOOT_IDE=1
#option BOOT_FLOPPY=1
#option BOOT_TFTP=1
option BOOT_ROM=1
#option IDE_OFFSET=0x7e00
option IDE_OFFSET=0x0
option IDE_DELAY=1
dir src/pc80/ide
# Path to your kernel (vmlinux)
linux /home/andrew/linuxbios/linux
# Kernel command line parameters
commandline root=/dev/hda2 console=ttyS0,9600 single
option RAMTEST=0
payload ../natsemi.elf
option PAYLOAD_SIZE=196608
--Boundary-00=_TbT49FrWBdLVpdd--
More information about the coreboot
mailing list