Adding device aliases helped a bit, now the system attempts to load a kernel!
qemu-system-sparc -L . -kernel /dev/null -nographic boot arg = 0x0
00000000-08000000 RAM 128 MB Checksum invalid (ba854bc8)! forth started. initializing memory...done Initializing SBus devices... Initializing SCSI...done Initializing SCSI devices...done Welcome to OpenBIOS v1.0RC1 built on May 4 2006 21:21 Type 'help' for detailed information
[sparc] Booting file 'cdrom' with parameters '<NULL>'
opening iommu
opening SBus opening drive 2 ob_sd_read_blocks ffd9fe38 block=0 n=1 ob_sd_read_blocks ffd9f6f8 block=2 n=1 ob_sd_read_blocks ffd90560 block=2 n=2 ob_sd_read_blocks ffd6e018 block=128 n=1 ob_sd_read_blocks ffd6e018 block=16 n=1 ob_sd_read_blocks ffd92560 block=128 n=16 ob_sd_read_blocks ffd92560 block=16 n=16 ob_sd_read_blocks ffd92560 block=0 n=16 ob_sd_read_blocks ffd92560 block=512 n=16 ob_sd_read_blocks ffd90d60 block=64 n=4 ob_sd_read_blocks ffd90d60 block=68 n=4 ob_sd_read_blocks ffd90d60 block=72 n=4 ob_sd_read_blocks ffd90d60 block=76 n=4 ob_sd_read_blocks ffd90d60 block=80 n=4 ob_sd_read_blocks ffd90d60 block=84 n=4 ob_sd_read_blocks ffd90d60 block=88 n=4 ob_sd_read_blocks ffd90d60 block=92 n=4 ob_sd_read_blocks ffd90d60 block=96 n=4 ob_sd_read_blocks ffd90d60 block=100 n=4 ob_sd_read_blocks ffd90d60 block=104 n=4 ob_sd_read_blocks ffd90d60 block=108 n=4 ob_sd_read_blocks ffd90d60 block=112 n=4 ob_sd_read_blocks ffd90d60 block=116 n=4 ob_sd_read_blocks ffd90d60 block=120 n=4 ob_sd_read_blocks ffd90d60 block=124 n=4 Unknown filesystem type ob_sd_read_blocks ffd6e018 block=0 n=1 Not a bootable ELF image
Because IO is unimplemented, the ELF image is not right.
Now the device tree is flawless, including correct SCSI device names: 2 > show-devs -2c3700 / -2c35e4 /aliases -2c3540 /openprom (BootROM) -2c3398 /openprom/client-services -2c32ec /options -2c3274 /chosen -2c3190 /builtin -2c30ec /builtin/console -2be2fc /packages -2be008 /packages/client-iface -2bd37c /packages/disk-label -2bcef0 /packages/cmdline -2bb050 /packages/deblocker -2bad04 /packages/misc-files -2baa30 /packages/pc-parts -2bcad8 /memory -2bca34 /STP1012PGA (cpu) -2bc918 /iommu@0,10000000 -2bc7ac /iommu@0,10000000/sbus@0,10001000 (hierarchical) -2bc59c /iommu@0,10000000/sbus@0,10001000/SUNW,CS4231@3,c000000 (serial) -2bc47c /iommu@0,10000000/sbus@0,10001000/SUNW,bpp@4,c800000 -2bc3c0 /iommu@0,10000000/sbus@0,10001000/SUNW,tcx@2,800000 (display) -2bc0bc /iommu@0,10000000/sbus@0,10001000/espdma@4,8400000 -2ba8e8 /iommu@0,10000000/sbus@0,10001000/espdma@4,8400000/esp@4,8800000 (scsi) -2ba704 /iommu@0,10000000/sbus@0,10001000/espdma@4,8400000/esp@4,8800000/sd@0,0 (block) -2ba3f0 /iommu@0,10000000/sbus@0,10001000/espdma@4,8400000/esp@4,8800000/sd@2,0 (block) -2bbfe4 /iommu@0,10000000/sbus@0,10001000/ledma@4,8400010 -2bbeec /iommu@0,10000000/sbus@0,10001000/ledma@4,8400010/le@4,8c00000 (network) -2bbdec /iommu@0,10000000/sbus@0,10001000/xxxpower-management@4,a000000 -2bbd48 /obio (hierarchical) -2bbba8 /obio/SUNW,fdtwo@0,400000 (block) -2bbac8 /obio/auxio@0,900000 -2bba30 /obio/counter@0,d00000 -2bb98c /obio/eeprom@0,200000 -2bb8d4 /obio/interrupt@0,e00000 -2bb82c /obio/power@0,910000 -2bb774 /obio/slavioconfig@0,800000 -2bb6d4 /obio/zs@0,0 (serial) -2bb5a4 /obio/zs@0,100000 (serial) ok
I think the next step is to make real disk I/O (which needs DVMA allocation).
_________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
* Blue Swirl blueswir1@hotmail.com [060504 21:44]:
Adding device aliases helped a bit, now the system attempts to load a kernel!
Very cool! You're making really good progress! I've commited your patch to r4 in svn.
qemu-system-sparc -L . -kernel /dev/null -nographic boot arg = 0x0
Checksum invalid (ba854bc8)!
Can you check what the checksum really is
Not a bootable ELF image
Because IO is unimplemented, the ELF image is not right.
You seem to have some stuff in there that looks pretty complete..
Now the device tree is flawless, including correct SCSI device names: 2 > show-devs -2c3700 /
I think the next step is to make real disk I/O (which needs DVMA allocation).
what's dvma?
Stefan
Very cool! You're making really good progress! I've commited your patch to r4 in svn.
A small fix is needed: diff -ru openbios-ref-7/Makefile openbios-patch-7/Makefile --- openbios-ref-7/Makefile 2006-05-05 15:17:52.000000000 +0000 +++ openbios-patch-7/Makefile 2006-05-05 15:30:32.000000000 +0000 @@ -23,7 +23,7 @@ @mkdir -p $(ODIR)/target/arch/ppc/pearpc @mkdir -p $(ODIR)/target/arch/ppc/mol @mkdir -p $(ODIR)/target/arch/x86/xbox - @mkdir -p $(ODIR)/target/sparc32/libgcc + @mkdir -p $(ODIR)/target/arch/sparc32/libgcc @mkdir -p $(ODIR)/target/kernel @mkdir -p $(ODIR)/target/modules @mkdir -p $(ODIR)/target/fs/grubfs
Can you check what the checksum really is
Cross-compiled one: bootstrap.dict checksum: edc794c9 openbios.dict checksum: 9eaebc2f final checksum: 0cbd08a4 runtime error: Checksum invalid (b3854895)!
Native one: bootstrap.dict checksum: edc794c9 openbios.dict checksum: 9eaebc2d final checksum: 0cbd0aa7 runtime error: Checksum invalid (b3854a98)!
what's dvma?
HW devices access memory using device virtual memory addresses (DVMA), which I/O MMU (iommu) translates to physical addresses by using a translation page table.
_________________________________________________________________ Don't just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/
* Blue Swirl blueswir1@hotmail.com [060505 18:04]:
A small fix is needed:
@mkdir -p $(ODIR)/target/sparc32/libgcc
@mkdir -p $(ODIR)/target/arch/sparc32/libgcc
fixed.
Can you check what the checksum really is
Cross-compiled one: bootstrap.dict checksum: edc794c9 openbios.dict checksum: 9eaebc2f final checksum: 0cbd08a4 runtime error: Checksum invalid (b3854895)!
Native one: bootstrap.dict checksum: edc794c9 openbios.dict checksum: 9eaebc2d final checksum: 0cbd0aa7 runtime error: Checksum invalid (b3854a98)!
Weird,.. maybe some signedness problem...
Stefan