[OpenBIOS] Sparc64 memory allocation problem
Blue Swirl
blauwirbel at gmail.com
Wed Aug 25 18:23:43 CEST 2010
On Tue, Aug 24, 2010 at 9:50 PM, Mark Cave-Ayland
<mark.cave-ayland at 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 at 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 at 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 at 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 .....À....... at ..
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
More information about the OpenBIOS
mailing list