On Tue, Aug 24, 2010 at 9:50 PM, Mark Cave-Ayland mark.cave-ayland@siriusit.co.uk wrote:
Blue Swirl wrote:
If you quickly rearrange elf_load.c in this way, does that solve the boot problem for both openBSD and Milax?
I don't think so, OpenBSD crashes again when clearing BSS. Milax is unchanged.
I moved ofmem_claim() call to load_segments().
Hmmm I didn't think that elf_load() should be being called by the openBSD IEEE-1275 bootblock at all (it looks like the source just opens the file as a standard device) - is it?
Yes, I think the problem is with the next stage loader.
Assuming this was the case, I was going to suggest removing lines 495-528 from elf_load.c and then seeing what a CONFIG_DEBUG_OFMEM build returns - at a minimum it should show which regions are being specified by the boot loader, and which are being automatically allocated.
Then the FCode bootblock can't load the next stage loader. I get this: OpenBIOS for Sparc64 OFMEM: ofmem_claim phys=000000001fe80000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_claim_virt virt=00000000ffe00000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_map_page_range 00000000ffe00000 -> 000000001fe80000 0000000000080000 mode 0000000000000076 OFMEM: ofmem_claim phys=000000001ff00000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_claim_virt virt=00000000ffe80000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_map_page_range 00000000ffe80000 -> 000000001ff00000 0000000000080000 mode 0000000000000076 OFMEM: ofmem_claim phys=000000001ff80000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_claim_virt virt=00000000fff00000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_map_page_range 00000000fff00000 -> 000000001ff80000 0000000000080000 mode 0000000000000076 OFMEM: ofmem_claim phys=000001fff0000000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_claim_virt virt=00000000ffd00000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_map_page_range 00000000ffd00000 -> 000001fff0000000 0000000000080000 mode 0000000000000074 OFMEM: ofmem_claim phys=000001fff0080000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_claim_virt virt=00000000ffd80000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_map_page_range 00000000ffd80000 -> 000001fff0080000 0000000000080000 mode 0000000000000074 OFMEM: ofmem_map_page_range 0000000000000000 -> 0000000000000000 0000000020000000 mode 0000000000000036 OFMEM: ofmem_init: no retained magic found, creating OFMEM: ofmem_claim phys=000001ff00800000 size=0000000000800000 align=0000000000000000 OFMEM: ofmem_claim_virt virt=00000000fe000000 size=0000000000800000 align=0000000000000000 OFMEM: ofmem_map_page_range 00000000fe000000 -> 000001ff00800000 0000000000800000 mode 0000000000000076 Configuration device id QEMU version 1 machine id 0 kernel cmdline CPUs: 1 x SUNW,UltraSPARC-IIi UUID: 00000000-0000-0000-0000-000000000000 Welcome to OpenBIOS v1.0 built on Aug 24 2010 20:37 Type 'help' for detailed information Trying cdrom:f... Not a bootable ELF image Not a bootable a.out image
Loading FCode image... Loaded 4893 bytes entry point is 0x4000 OpenBSD IEEE 1275 Bootblock 1.1 .. Jumping to entry point 0000000000800000 for type 0000000000000001... switching to new context: entry point 0x800000 stack 0x00000000ffe02b59 Unhandled Exception 0x0000000000000010 PC = 0x0000000000800000 NPC = 0x0000000000800004 Stopping execution
I used this patch: diff --git a/config/examples/cross-sparc64_config.xml b/config/examples/cross-sparc64_config.xml index d8586f2..aa4629b 100644 --- a/config/examples/cross-sparc64_config.xml +++ b/config/examples/cross-sparc64_config.xml @@ -31,7 +31,7 @@ <option name="CONFIG_SERIAL_PORT" type="integer" value="0"/> <option name="CONFIG_SERIAL_SPEED" type="integer" value="115200"/> <option name="CONFIG_DEBUG_CONSOLE_VGA" type="boolean" value="true"/> - <option name="CONFIG_DEBUG_OFMEM" type="boolean" value="false"/> + <option name="CONFIG_DEBUG_OFMEM" type="boolean" value="true"/>
<!-- Module Configuration --> diff --git a/libopenbios/client.c b/libopenbios/client.c index 9cea0e7..e229030 100644 --- a/libopenbios/client.c +++ b/libopenbios/client.c @@ -19,7 +19,7 @@ #include "libopenbios/of.h"
/* Uncomment to enable debug printout of client interface calls */ -//#define DEBUG_CIF +#define DEBUG_CIF //#define DUMP_IO
/* OF client interface. r3 points to the argument array. On return, diff --git a/libopenbios/elf_load.c b/libopenbios/elf_load.c index de7b21f..189c35b 100644 --- a/libopenbios/elf_load.c +++ b/libopenbios/elf_load.c @@ -473,12 +473,8 @@ void elf_init_program(void) { char *base; - int i; Elf_ehdr *ehdr; - Elf_phdr *phdr; - size_t size, total_size = 0; - char *addr; - cell tmp; + size_t total_size = 0;
/* TODO: manage ELF notes section */ feval("0 state-valid !"); @@ -492,40 +488,6 @@ elf_init_program(void) return; }
- phdr = (Elf_phdr *)(base + ehdr->e_phoff); - - for (i = 0; i < ehdr->e_phnum; i++) { - -#if DEBUG - debug("filesz: %08lX memsz: %08lX p_offset: %08lX " - "p_vaddr %08lX\n", - (unsigned long)phdr[i].p_filesz, (unsigned long)phdr[i].p_memsz, - (unsigned long)phdr[i].p_offset, (unsigned long)phdr[i].p_vaddr ); -#endif - - size = MIN(phdr[i].p_filesz, phdr[i].p_memsz); - if (!size) - continue; -#ifndef CONFIG_SPARC32 - if( ofmem_claim( phdr[i].p_vaddr, phdr[i].p_memsz, 0 ) == -1 ) { - printk("Ignoring failed claim for va %lx memsz %lx!\n", - (unsigned long)phdr[i].p_vaddr, - (unsigned long)phdr[i].p_memsz); - } -#endif - /* Workaround for archs where sizeof(int) != pointer size */ - tmp = phdr[i].p_vaddr; - addr = (char *)tmp; - - memcpy(addr, base + phdr[i].p_offset, size); - - total_size += size; - -#ifdef CONFIG_PPC - flush_icache_range( addr, addr + size ); -#endif - } - // Initialise saved-program-state PUSH(ehdr->e_entry); feval("saved-program-state >sps.entry !");
Without the patch, I get: OpenBIOS for Sparc64 OFMEM: ofmem_claim phys=000000001fe80000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_claim_virt virt=00000000ffe00000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_map_page_range 00000000ffe00000 -> 000000001fe80000 0000000000080000 mode 0000000000000076 OFMEM: ofmem_claim phys=000000001ff00000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_claim_virt virt=00000000ffe80000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_map_page_range 00000000ffe80000 -> 000000001ff00000 0000000000080000 mode 0000000000000076 OFMEM: ofmem_claim phys=000000001ff80000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_claim_virt virt=00000000fff00000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_map_page_range 00000000fff00000 -> 000000001ff80000 0000000000080000 mode 0000000000000076 OFMEM: ofmem_claim phys=000001fff0000000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_claim_virt virt=00000000ffd00000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_map_page_range 00000000ffd00000 -> 000001fff0000000 0000000000080000 mode 0000000000000074 OFMEM: ofmem_claim phys=000001fff0080000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_claim_virt virt=00000000ffd80000 size=0000000000080000 align=0000000000000000 OFMEM: ofmem_map_page_range 00000000ffd80000 -> 000001fff0080000 0000000000080000 mode 0000000000000074 OFMEM: ofmem_map_page_range 0000000000000000 -> 0000000000000000 0000000020000000 mode 0000000000000036 OFMEM: ofmem_init: no retained magic found, creating OFMEM: ofmem_claim phys=000001ff00800000 size=0000000000800000 align=0000000000000000 OFMEM: ofmem_claim_virt virt=00000000fe000000 size=0000000000800000 align=0000000000000000 OFMEM: ofmem_map_page_range 00000000fe000000 -> 000001ff00800000 0000000000800000 mode 0000000000000076 Configuration device id QEMU version 1 machine id 0 kernel cmdline CPUs: 1 x SUNW,UltraSPARC-IIi UUID: 00000000-0000-0000-0000-000000000000 Welcome to OpenBIOS v1.0 built on Aug 24 2010 20:37 Type 'help' for detailed information Trying cdrom:f... Not a bootable ELF image Not a bootable a.out image
Loading FCode image... Loaded 4893 bytes entry point is 0x4000 OpenBSD IEEE 1275 Bootblock 1.1 ..OFMEM: ofmem_map_page_range 0000000000800000 -> 0000000000800000 000000000000e000 mode 0000000000000032 OFMEM: mapping mode altered virt=0000000000800000 old mode=0000000000000036 new mode=0000000000000032
Jumping to entry point 0000000000800000 for type 0000000000000001... switching to new context: entry point 0x800000 stack 0x00000000ffe02b59 finddevice("/chosen") = 0xffe1ddb8 getprop(0xffe1ddb8, "stdin", 0x0080c358, 4) = 4 0x0080c358 ff e8 82 90 __ __ __ __ __ __ __ __ __ __ __ __ ÿè.. getprop(0xffe1ddb8, "stdout", 0x0080c35c, 4) = 4 0x0080c35c ff e8 84 30 __ __ __ __ __ __ __ __ __ __ __ __ ÿè.0 getprop(0xffe1ddb8, "mmu", 0x0080c148, 4) = 4 0x0080c148 ff e8 80 f8 __ __ __ __ __ __ __ __ __ __ __ __ ÿè.ø getprop(0xffe1ddb8, "memory", 0x0080c14c, 4) = 4 0x0080c14c ff e8 88 38 __ __ __ __ __ __ __ __ __ __ __ __ ÿè.8
OpenBSD BOOT 1.2
finddevice("/chosen") = 0xffe1ddb8 getprop(0xffe1ddb8, "bootpath", 0x0080cc50, 128) = 128 0x0080cc50 63 64 72 6f 6d 3a 66 00 00 00 00 00 00 00 00 00 cdrom:f......... 0x0080cc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x0080cc70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x0080cc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x0080cc90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x0080cca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x0080ccb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x0080ccc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ getprop(0xffe1ddb8, "bootargs", 0xffe03098, 512) = 512 0xffe03098 00 00 00 00 ff d0 c5 a0 00 00 00 00 00 00 00 10 ....ÿÐÅ ........ 0xffe030a8 00 00 00 00 ff e0 28 e9 00 00 00 00 00 80 02 bc ....ÿà(é.......¼ 0xffe030b8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe030c8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe030d8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe030e8 00 00 00 00 ff f2 34 00 00 00 00 00 ff db 04 10 ....ÿò4.....ÿÛ.. 0xffe030f8 00 00 00 00 ff f2 34 00 00 00 00 00 00 00 00 00 ....ÿò4......... 0xffe03108 00 00 00 00 00 00 00 00 00 00 00 00 ff db 0f e0 ............ÿÛ.à 0xffe03118 00 00 00 00 ff db 16 58 00 00 00 00 00 00 00 00 ....ÿÛ.X........ 0xffe03128 00 00 00 00 ff e1 dd b8 00 00 00 00 00 80 ae b0 ....ÿáݸ......®° 0xffe03138 00 00 00 00 00 80 c1 4c 00 00 00 00 00 00 00 04 ......ÁL........ 0xffe03148 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 08 ÿÿÿÿÿÿÿÿ........ 0xffe03158 00 00 00 00 ff e0 29 e9 00 00 00 00 00 80 07 00 ....ÿà)é........ 0xffe03168 00 00 00 00 ff e0 29 e9 00 00 00 00 00 80 06 10 ....ÿà)é........ 0xffe03178 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe03188 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe03198 00 00 00 00 00 80 ad d8 00 00 00 00 00 00 00 04 ......Ø........ 0xffe031a8 00 00 00 00 00 00 00 01 00 00 00 00 ff e1 dd b8 ............ÿáݸ 0xffe031b8 00 00 00 00 00 80 ae b0 00 00 00 00 00 80 c1 4c ......®°......ÁL 0xffe031c8 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 04 ................ 0xffe031d8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe031e8 ff ff ff ff ff e1 dd b8 00 00 00 00 00 00 00 20 ÿÿÿÿÿáݸ....... 0xffe031f8 00 00 00 00 ff f5 17 f0 00 00 00 00 ff da fc 00 ....ÿõ.ð....ÿÚü. 0xffe03208 00 00 00 00 ff db 38 00 00 00 00 00 00 00 00 25 ....ÿÛ8........% 0xffe03218 00 00 00 00 00 00 00 10 00 00 00 00 ff f5 18 60 ............ÿõ.` 0xffe03228 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 ................ 0xffe03238 00 00 00 00 ff db 08 00 00 00 00 00 ff f5 1a b8 ....ÿÛ......ÿõ.¸ 0xffe03248 00 00 00 00 00 00 00 30 00 00 00 00 00 00 00 01 .......0........ 0xffe03258 00 00 00 00 ff e0 2a a9 00 00 00 00 00 80 00 40 ....ÿà*©.......@ 0xffe03268 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe03278 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe03288 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Trying bsd... finddevice("bsd") = 0xffffffffffffffff finddevice("cdrom:f") = 0xffe30098 getprop(0xffe30098, "name", 0xffe02b38, 512) = 512 0xffe02b38 63 64 72 6f 6d 00 00 b8 00 00 00 00 ff e0 2d 10 cdrom..¸....ÿà-. 0xffe02b48 00 00 00 00 ff d0 c5 a0 00 00 00 00 00 00 00 02 ....ÿÐÅ ........ 0xffe02b58 00 00 00 00 ff e0 23 99 00 00 00 00 00 80 03 b8 ....ÿà#........¸ 0xffe02b68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe02b78 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 ................ 0xffe02b88 00 00 00 00 00 00 00 01 00 00 00 00 00 80 7f 80 ................ 0xffe02b98 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe02ba8 00 00 00 00 00 00 00 00 00 00 00 00 ff d0 c5 a0 ............ÿÐÅ 0xffe02bb8 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 03 ................ 0xffe02bc8 00 00 00 00 00 00 00 01 00 00 00 00 00 80 7f 80 ................ 0xffe02bd8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe02be8 00 00 00 00 00 00 00 00 00 00 00 00 ff d0 c5 a0 ............ÿÐÅ 0xffe02bf8 00 00 00 00 ff e0 2d 18 00 00 00 00 00 80 c0 00 ....ÿà-.......À. 0xffe02c08 00 00 00 00 00 00 00 01 00 00 00 00 ff ff ff ff ............ÿÿÿÿ 0xffe02c18 00 00 00 00 ff d0 c5 a0 00 00 00 00 00 00 02 00 ....ÿÐÅ ........ 0xffe02c28 00 00 00 00 ff e0 24 69 00 00 00 00 00 80 03 b8 ....ÿà$i.......¸ 0xffe02c38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe02c48 00 00 00 00 00 80 ad f0 00 00 00 00 00 00 00 03 ......ð........ 0xffe02c58 00 00 00 00 00 00 00 01 00 00 00 00 ff e8 84 30 ............ÿè.0 0xffe02c68 00 00 00 00 00 00 00 00 00 00 00 00 ff f2 34 00 ............ÿò4. 0xffe02c78 00 00 00 00 ff e0 2f b8 00 00 00 00 ff da fc 00 ....ÿà/¸....ÿÚü. 0xffe02c88 00 00 00 00 ff db 38 00 00 00 00 00 00 00 00 25 ....ÿÛ8........% 0xffe02c98 00 00 00 00 00 00 00 10 00 00 00 00 ff f5 1b 40 ............ÿõ.@ 0xffe02ca8 00 00 00 00 ff e8 84 30 00 00 00 00 ff e0 2e 27 ....ÿè.0....ÿà.' 0xffe02cb8 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 ................ 0xffe02cc8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 ................ 0xffe02cd8 00 00 00 00 ff e0 25 69 00 00 00 00 00 80 0b b0 ....ÿà%i.......° 0xffe02ce8 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 ................ 0xffe02cf8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 ................ 0xffe02d08 00 00 00 00 ff e0 25 69 00 00 00 00 00 80 0b 94 ....ÿà%i........ 0xffe02d18 00 00 00 00 00 80 ad f0 00 00 00 00 00 00 00 03 ......ð........ 0xffe02d28 00 00 00 00 00 00 00 01 00 00 00 00 ff e8 84 30 ............ÿè.0 getprop(0xffe30098, "device_type", 0xffe02b38, 512) = 512 0xffe02b38 62 6c 6f 63 6b 00 00 b8 00 00 00 00 ff e0 2d 10 block..¸....ÿà-. 0xffe02b48 00 00 00 00 ff d0 c5 a0 00 00 00 00 00 00 00 02 ....ÿÐÅ ........ 0xffe02b58 00 00 00 00 ff e0 23 99 00 00 00 00 00 80 03 b8 ....ÿà#........¸ 0xffe02b68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe02b78 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 ................ 0xffe02b88 00 00 00 00 00 00 00 01 00 00 00 00 00 80 7f 80 ................ 0xffe02b98 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe02ba8 00 00 00 00 00 00 00 00 00 00 00 00 ff d0 c5 a0 ............ÿÐÅ 0xffe02bb8 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 03 ................ 0xffe02bc8 00 00 00 00 00 00 00 01 00 00 00 00 00 80 7f 80 ................ 0xffe02bd8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe02be8 00 00 00 00 00 00 00 00 00 00 00 00 ff d0 c5 a0 ............ÿÐÅ 0xffe02bf8 00 00 00 00 ff e0 2d 18 00 00 00 00 00 80 c0 00 ....ÿà-.......À. 0xffe02c08 00 00 00 00 00 00 00 01 00 00 00 00 ff ff ff ff ............ÿÿÿÿ 0xffe02c18 00 00 00 00 ff d0 c5 a0 00 00 00 00 00 00 02 00 ....ÿÐÅ ........ 0xffe02c28 00 00 00 00 ff e0 24 69 00 00 00 00 00 80 03 b8 ....ÿà$i.......¸ 0xffe02c38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0xffe02c48 00 00 00 00 00 80 ad f0 00 00 00 00 00 00 00 03 ......ð........ 0xffe02c58 00 00 00 00 00 00 00 01 00 00 00 00 ff e8 84 30 ............ÿè.0 0xffe02c68 00 00 00 00 00 00 00 00 00 00 00 00 ff f2 34 00 ............ÿò4. 0xffe02c78 00 00 00 00 ff e0 2f b8 00 00 00 00 ff da fc 00 ....ÿà/¸....ÿÚü. 0xffe02c88 00 00 00 00 ff db 38 00 00 00 00 00 00 00 00 25 ....ÿÛ8........% 0xffe02c98 00 00 00 00 00 00 00 10 00 00 00 00 ff f5 1b 40 ............ÿõ.@ 0xffe02ca8 00 00 00 00 ff e8 84 30 00 00 00 00 ff e0 2e 27 ....ÿè.0....ÿà.' 0xffe02cb8 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 ................ 0xffe02cc8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 ................ 0xffe02cd8 00 00 00 00 ff e0 25 69 00 00 00 00 00 80 0b b0 ....ÿà%i.......° 0xffe02ce8 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 ................ 0xffe02cf8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 ................ 0xffe02d08 00 00 00 00 ff e0 25 69 00 00 00 00 00 80 0b 94 ....ÿà%i........ 0xffe02d18 00 00 00 00 00 80 ad f0 00 00 00 00 00 00 00 03 ......ð........ 0xffe02d28 00 00 00 00 00 00 00 01 00 00 00 00 ff e8 84 30 ............ÿè.0 open("cdrom:f") = 0xffe897a0 of_client_interface: call-method 80aec8 ffe880f8 2000 2000 call-method claim ([4] -- [2]) OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=0000000000002000 align=0000000000002000 handle_calls return: 0 20000000 of_client_interface: call-method 80aec8 ffe88838 2000 2000 call-method claim ([4] -- [3]) OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000002000 align=0000000000002000 handle_calls return: 0 0 0 of_client_interface: call-method 80aed0 ffe880f8 ffffffffffffffff 2000 20000000 0 0 call-method map ([7] -- [1]) OFMEM: ofmem_map_page_range 0000000020000000 -> 0000000000000000 0000000000002000 mode 0000000000000032 handle_calls return: 0 of_client_interface: call-method 80aec8 ffe880f8 2000 4000 call-method claim ([4] -- [2]) OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=0000000000004000 align=0000000000002000 handle_calls return: 0 20002000 of_client_interface: call-method 80aec8 ffe88838 2000 4000 call-method claim ([4] -- [3]) OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000004000 align=0000000000002000 handle_calls return: 0 0 2000 of_client_interface: call-method 80aed0 ffe880f8 ffffffffffffffff 4000 20002000 0 2000 call-method map ([7] -- [1]) OFMEM: ofmem_map_page_range 0000000020002000 -> 0000000000002000 0000000000004000 mode 0000000000000032 handle_calls return: 0 of_client_interface: call-method 80aec8 ffe880f8 2000 4000 call-method claim ([4] -- [2]) OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=0000000000004000 align=0000000000002000 handle_calls return: 0 20006000 of_client_interface: call-method 80aec8 ffe88838 2000 4000 call-method claim ([4] -- [3]) OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000004000 align=0000000000002000 handle_calls return: 0 0 6000 of_client_interface: call-method 80aed0 ffe880f8 ffffffffffffffff 4000 20006000 0 6000 call-method map ([7] -- [1]) OFMEM: ofmem_map_page_range 0000000020006000 -> 0000000000006000 0000000000004000 mode 0000000000000032 handle_calls return: 0 of_client_interface: call-method 80aec8 ffe880f8 2000 4000 call-method claim ([4] -- [2]) OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=0000000000004000 align=0000000000002000 handle_calls return: 0 2000a000 of_client_interface: call-method 80aec8 ffe88838 2000 4000 call-method claim ([4] -- [3]) OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000004000 align=0000000000002000 handle_calls return: 0 0 a000 of_client_interface: call-method 80aed0 ffe880f8 ffffffffffffffff 4000 2000a000 0 a000 call-method map ([7] -- [1]) OFMEM: ofmem_map_page_range 000000002000a000 -> 000000000000a000 0000000000004000 mode 0000000000000032 handle_calls return: 0 of_client_interface: call-method 80aec8 ffe880f8 2000 4000 call-method claim ([4] -- [2]) OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=0000000000004000 align=0000000000002000 handle_calls return: 0 2000e000 of_client_interface: call-method 80aec8 ffe88838 2000 4000 call-method claim ([4] -- [3]) OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000004000 align=0000000000002000 handle_calls return: 0 0 e000 of_client_interface: call-method 80aed0 ffe880f8 ffffffffffffffff 4000 2000e000 0 e000 call-method map ([7] -- [1]) OFMEM: ofmem_map_page_range 000000002000e000 -> 000000000000e000 0000000000004000 mode 0000000000000032 handle_calls return: 0 of_client_interface: call-method 80aec8 ffe880f8 2000 2000 call-method claim ([4] -- [2]) OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=0000000000002000 align=0000000000002000 handle_calls return: 0 20012000 of_client_interface: call-method 80aec8 ffe88838 2000 2000 call-method claim ([4] -- [3]) OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000002000 align=0000000000002000 handle_calls return: 0 0 12000 of_client_interface: call-method 80aed0 ffe880f8 ffffffffffffffff 2000 20012000 0 12000 call-method map ([7] -- [1]) OFMEM: ofmem_map_page_range 0000000020012000 -> 0000000000012000 0000000000002000 mode 0000000000000032 handle_calls return: 0 of_client_interface: call-method 80aec8 ffe880f8 2000 a000 call-method claim ([4] -- [2]) OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=000000000000a000 align=0000000000002000 handle_calls return: 0 20014000 of_client_interface: call-method 80aec8 ffe88838 2000 a000 call-method claim ([4] -- [3]) OFMEM: ofmem_claim phys=ffffffffffffffff size=000000000000a000 align=0000000000002000 handle_calls return: 0 0 14000 of_client_interface: call-method 80aed0 ffe880f8 ffffffffffffffff a000 20014000 0 14000 call-method map ([7] -- [1]) OFMEM: ofmem_map_page_range 0000000020014000 -> 0000000000014000 000000000000a000 mode 0000000000000032 handle_calls return: 0 Booting cdrom:f/bsd 2590536@0x1000000of_client_interface: call-method 80aec8 ffe880f8 0 278748 1000000 call-method claim ([5] -- [2]) OFMEM: ofmem_claim_virt virt=0000000001000000 size=0000000000278748 align=0000000000000000 handle_calls return: 0 1000000 of_client_interface: call-method 80aec8 ffe88838 400000 278748 call-method claim ([4] -- [3]) OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000278748 align=0000000000400000 handle_calls return: 0 0 400000 of_client_interface: call-method 80aed0 ffe880f8 ffffffffffffffff 278748 1000000 0 400000 call-method map ([7] -- [1]) OFMEM: ofmem_map: Bad parameters (0000000000400000 0000000001000000 0000000000278748) OFMEM: ofmem_map_page_range 0000000001000000 -> 0000000000400000 0000000000279000 mode 0000000000000032 OFMEM: mapping altered virt=0000000001000000) handle_calls return: 0 of_client_interface: call-method 80aec8 ffe880f8 2000 4000 call-method claim ([4] -- [2]) OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=0000000000004000 align=0000000000002000 handle_calls return: 0 2001e000 of_client_interface: call-method 80aec8 ffe88838 2000 4000 call-method claim ([4] -- [3]) OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000004000 align=0000000000002000 handle_calls return: 0 0 1e000 of_client_interface: call-method 80aed0 ffe880f8 ffffffffffffffff 4000 2001e000 0 1e000 call-method map ([7] -- [1]) OFMEM: ofmem_map_page_range 000000002001e000 -> 000000000001e000 0000000000004000 mode 0000000000000032 handle_calls return: 0 +3236576@0x1800000of_client_interface: call-method 80aec8 ffe880f8 0 400000 1800000 call-method claim ([5] -- [2]) OFMEM: ofmem_claim_virt virt=0000000001800000 size=0000000000400000 align=0000000000000000 handle_calls return: 0 1800000 of_client_interface: call-method 80aec8 ffe88838 400000 400000 call-method claim ([4] -- [3]) OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000400000 align=0000000000400000 handle_calls return: 0 0 c00000 of_client_interface: call-method 80aed0 ffe880f8 ffffffffffffffff 400000 1800000 0 c00000 call-method map ([7] -- [1]) OFMEM: ofmem_map_page_range 0000000001800000 -> 0000000000c00000 0000000000400000 mode 0000000000000032 OFMEM: mapping altered virt=0000000001800000) handle_calls return: 0 +957728@0x1b162e0 of_client_interface: call-method 80aec8 ffe880f8 2000 2000 call-method claim ([4] -- [2]) OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=0000000000002000 align=0000000000002000 handle_calls return: 0 20022000 of_client_interface: call-method 80aec8 ffe88838 2000 2000 call-method claim ([4] -- [3]) OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000002000 align=0000000000002000 handle_calls return: 0 0 22000 of_client_interface: call-method 80aed0 ffe880f8 ffffffffffffffff 2000 20022000 0 22000 call-method map ([7] -- [1]) OFMEM: ofmem_map_page_range 0000000020022000 -> 0000000000022000 0000000000002000 mode 0000000000000032 handle_calls return: 0 of_client_interface: call-method 80aec8 ffe880f8 2000 1e4 call-method claim ([4] -- [2]) OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=00000000000001e4 align=0000000000002000 handle_calls return: 0 20024000 of_client_interface: call-method 80aec8 ffe88838 2000 1e4 call-method claim ([4] -- [3]) OFMEM: ofmem_claim phys=ffffffffffffffff size=00000000000001e4 align=0000000000002000 handle_calls return: 0 0 24000 of_client_interface: call-method 80aed0 ffe880f8 ffffffffffffffff 1e4 20024000 0 24000 call-method map ([7] -- [1]) OFMEM: ofmem_map: Bad parameters (0000000000024000 0000000020024000 00000000000001E4) OFMEM: ofmem_map_page_range 0000000020024000 -> 0000000000024000 0000000000001000 mode 0000000000000032 handle_calls return: 0 symbols @ 0x200241c0 36 start=0x1000000 close(0xffe897a0) service close: possible argument error (1 -1) of_client_interface: chain 800000 12b0 1000000 ffe02e88 18 CHAINservice chain: possible argument error (0 5) of_client_interface return: finddevice("/chosen") = 0xffe1ddb8 getprop(0xffe1ddb8, "stdin", 0x01b14fc0, 4) = 4 0x01b14fc0 ff e8 82 90 __ __ __ __ __ __ __ __ __ __ __ __ ÿè.. finddevice("/chosen") = 0xffe1ddb8 getprop(0xffe1ddb8, "stdout", 0x01b14fc4, 4) = 4 0x01b14fc4 ff e8 84 30 __ __ __ __ __ __ __ __ __ __ __ __ ÿè.0 finddevice("/virtual-memory") = 0xffe29b88 getprop(0xffe29b88, "available", 0x01b5b9a0, 128) = 128 0x01b5b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 ................ 0x01b5b9b0 00 00 00 00 00 80 d2 b0 00 00 00 00 00 7f 2d 50 ......Ò°......-P 0x01b5b9c0 00 00 00 00 01 27 87 48 00 00 00 00 00 58 78 b8 .....'.H.....Xx¸ 0x01b5b9d0 00 00 00 00 01 c0 00 00 00 00 00 00 1e 40 00 00 .....À.......@.. 0x01b5b9e0 00 00 00 00 20 02 41 e4 00 00 00 00 dd fd be 1c .... .Aä....Ýý¾. 0x01b5b9f0 00 00 00 00 fe 80 00 00 00 00 00 00 01 50 00 00 ....þ........P.. 0x01b5ba00 00 00 00 00 ff f8 00 00 ff ff ff ff 00 07 ff ff ....ÿø..ÿÿÿÿ..ÿÿ 0x01b5ba10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ finddevice("/chosen") = 0xffe1ddb8 getprop(0xffe1ddb8, "mmu", 0x01b14fb8, 4) = 4 0x01b14fb8 ff e8 80 f8 __ __ __ __ __ __ __ __ __ __ __ __ ÿè.ø of_client_interface: call-method 126c7f0 ffe880f8 0 8000 e0006000 call-method claim ([5] -- [2]) OFMEM: ofmem_claim_virt virt=00000000e0006000 size=0000000000008000 align=0000000000000000 handle_calls return: 0 e0006000 finddevice("/") = 0xffe1d720 getprop(0xffe1d720, "name", 0xffe02b08, 80) = 80 0xffe02b08 4f 70 65 6e 42 69 6f 73 54 65 61 6d 2c 4f 70 65 OpenBiosTeam,Ope 0xffe02b18 6e 42 49 4f 53 00 b9 a0 00 00 00 00 00 00 00 a8 nBIOS.¹ .......¨ 0xffe02b28 00 00 00 00 ff e0 23 c9 00 00 00 00 01 1c 12 14 ....ÿà#É........ 0xffe02b38 00 00 00 00 ff e0 23 c9 00 00 00 00 01 1c 11 d0 ....ÿà#É.......Ð 0xffe02b48 00 00 00 00 ff e0 23 c9 00 00 00 00 01 1c 11 68 ....ÿà#É.......h finddevice("/chosen") = 0xffe1ddb8 getprop(0xffe1ddb8, "memory", 0x01b14fbc, 4) = 4 0x01b14fbc ff e8 88 38 __ __ __ __ __ __ __ __ __ __ __ __ ÿè.8 test("test-method") = -1 prom_get_msgbuf: test failed of_client_interface: call-method 126c7f0 ffe88838 0 8000 0 0 call-method claim ([6] -- [3]) OFMEM: ofmem_claim phys=0000000000000000 size=0000000000008000 align=0000000000000000 OFMEM: Non-free physical memory claimed! handle_calls return: 0 ffffffff ffffffff prom_get_msgbuf: allocated new buf at ffffffff prom_get_msgbuf: claiming new buf at ffffffff of_client_interface: call-method 11e2db0 ffe880f8 ffffffffffffffff 8000 e0006000 0 ffffffff call-method map ([7] -- [1]) OFMEM: ofmem_map: Bad parameters (00000000FFFFFFFF 00000000E0006000 0000000000008000) OFMEM: ofmem_map_page_range 00000000e0006000 -> 00000000fffff000 0000000000008000 mode 0000000000000032 handle_calls return: 0 Unhandled Exception 0x0000000000000032 PC = 0x0000000001080bc4 NPC = 0x0000000001080bc8 Stopping execution