On 06/04/13 10:46, Artyom Tarasenko wrote:
Yes! In kadb I get!
FMEM: ofmem_map_page_range ffcb0000 -> 006ea0000 00008000 mode 000000bc .vmunix loaded - 0x7c000 bytes used
Unfortunately it's not as helpful as it became under Solaris 2.6+ :
Especially when someone hasn't use it for the long time. Actually it's pretty good:
kadb> :c OFMEM: ofmem_claim phys=ffffffffffffffff size=00001000 align=00001000 OFMEM: ofmem_claim_virt virt=00000000 size=00001000 align=00001000 OFMEM: ofmem_map_page_range fef65000 -> 006f77000 00001000 mode 000000bc Begin traceback... sp = f0186b20 Called from ffc017cc, fp=f0186b80, args=9 f013f870 f013f874 0 200 0 Called from f013f83c, fp=f0186c08, args=f01e4000 1 f01e2bf0 fd020000 f0186d88 f01e2ff4 Called from f0140a38, fp=f0186c68, args=f01e563c 1cc5 f01e5652 ff000008 ff000008 4400fe1 Called from f0054f44, fp=f0186cc8, args=f0186d8c 22 ffffffff a f0186d8c 22 Called from f0054724, fp=f0186d28, args=f0186d8c 22 5 0 ffffffff 0 Called from f0054494, fp=f0186e18, args=f01e2173 f0186ec0 5 0 f0186e10 0 Called from f0132e7c, fp=f0186e78, args=f01e2173 0 0 0 f0186e98 f0186ec0 Called from f01375e0, fp=f0186ef8, args=f01e43c2 ffd2e31c f01e28f4 0 f01e2b1c ffffffff Called from f0005250, fp=f0186f58, args=400 f01aa000 f9fbe000 0 200 f0178570 Called from ffc11c94, fp=0, args=4000 3ffb78 0 ffc37570 ffc259d0 1 End traceback... fault and calling cmd: trap 9 sp f0186b20 pc f013f870 npc f013f874 stopped at 0: unimp 0x0 kadb> $c PR_BASE() + 0 kadb> f0054f44?ai _writekmsg+0x68: _writekmsg+0x68: call _mpprom_write_nl7 kadb> f0005250?ai _firsthighinstr+0xd8: _firsthighinstr+0xd8: call _early_startup kadb>
Woo-hoo!
Hi Artyom,
I've just posted a patchset to lower the virtual memory allocation range - can you test with that patchset applied, plus my patch in http://www.openfirmware.info/pipermail/openbios/2013-April/007572.html means that you can still load kadb on your image?
If that works, I'll put together a patch to move the alignment rounding up behaviour in core OFMEM, as detailed in the specification.
ATB,
Mark.
Hi Mark,
On Sat, Apr 6, 2013 at 8:03 PM, Mark Cave-Ayland mark.cave-ayland@ilande.co.uk wrote:
On 06/04/13 10:46, Artyom Tarasenko wrote:
Yes! In kadb I get!
I've just posted a patchset to lower the virtual memory allocation range - can you test with that patchset applied, plus my patch in http://www.openfirmware.info/pipermail/openbios/2013-April/007572.html means that you can still load kadb on your image?
Unfortunately not:
OFMEM: ofmem_map_page_range ffdd3000 -> 050800000 000c0000 mode 0000003c OFMEM: mapping altered virt=ffdd3000) OFMEM: ofmem_map_page_range ffe93000 -> 050200000 00001000 mode 0000003c OFMEM: ofmem_map_page_range ffe94000 -> 071000000 00001000 mode 0000003c
OFMEM: ofmem_claim phys=ffffffffffffffff size=00080000 align=00001000 OFMEM: ofmem_claim_virt virt=ffc80000 size=00080000 align=00000000
^^^^ this one
OFMEM: ofmem_map_page_range ffc80000 -> 006f80000 00080000 mode 000000bc OFMEM: ofmem_map_page_range ffe95000 -> d00000000 00001000 mode 0000003c Configuration device id QEMU version 1 machine id 32 OFMEM: ofmem_map_page_range ffe96000 -> 010000000 00001000 mode 0000003c OFMEM: ofmem_map_page_range ffe97000 -> 071100000 00001000 mode 0000003c OFMEM: ofmem_map_page_range ffe98000 -> 071000000 00001000 mode 0000003c OFMEM: ofmem_map_page_range ffe99000 -> 071200000 00002000 mode 0000003c OFMEM: ofmem_map_page_range ffe9b000 -> 071400000 00001000 mode 0000003c OFMEM: ofmem_map_page_range ffe9c000 -> 071900000 00001000 mode 0000003c OFMEM: ofmem_map_page_range ffe9d000 -> 071910000 00001000 mode 0000003c OFMEM: ofmem_map_page_range ffe9e000 -> 071f00000 00001000 mode 0000003c OFMEM: ofmem_map_page_range ffe9f000 -> 071d00000 00011000 mode 0000003c OFMEM: ofmem_map_page_range ffeb0000 -> 071e00000 00011000 mode 0000003c OFMEM: ofmem_map_page_range ffec1000 -> 007fff000 00001000 mode 0000003c OFMEM: ofmem_map_page_range ffec2000 -> 010001000 00001000 mode 0000003c OFMEM: ofmem_map_page_range ffec3000 -> 078400000 00001000 mode 0000003c OFMEM: ofmem_map_page_range ffec4000 -> 078800000 00001000 mode 0000003c OFMEM: ofmem_map_page_range ffec5000 -> 078400000 00001000 mode 0000003c OFMEM: ofmem_map_page_range ffec6000 -> 078c00000 00001000 mode 0000003c CPUs: 1 x FMI,MB86904 UUID: 00000000-0000-0000-0000-000000000000 Welcome to OpenBIOS v1.0 built on Mar 28 2013 13:34 Type 'help' for detailed information
0 > boot disk kadb -kdvs Not a bootable ELF image Loading a.out image... Loaded 7680 bytes entry point is 0x4000 bootpath: /iommu/sbus/espdma/esp/sd@0,0
Jumping to entry point 00004000 for type 00000005... switching to new context: OFMEM: ofmem_claim phys=ffffffffffffffff size=00001000 align=00001000 OFMEM: ofmem_claim_virt virt=00000000 size=00001000 align=00001000 OFMEM: ofmem_map_page_range fefff000 -> 006f7f000 00001000 mode 000000bc OFMEM: ofmem_claim phys=ffffffffffffffff size=00001000 align=00001000 OFMEM: ofmem_claim_virt virt=00000000 size=00001000 align=00001000 OFMEM: ofmem_map_page_range feffe000 -> 006f7e000 00001000 mode 000000bc OFMEM: ofmem_claim phys=ffffffffffffffff size=00001000 align=00001000 OFMEM: ofmem_claim_virt virt=00000000 size=00001000 align=00001000 OFMEM: ofmem_map_page_range feffd000 -> 006f7d000 00001000 mode 000000bc OFMEM: ofmem_claim phys=ffffffffffffffff size=00014000 align=00020000 OFMEM: ofmem_claim_virt virt=00000000 size=00014000 align=00002000 OFMEM: ofmem_map_page_range fefe8000 -> 006f60000 00014000 mode 000000bc Boot Release 4.1.4 (sun4m) #2: Fri Oct 14 11:07:52 PDT 1994 Copyright (c) 1983-1990, Sun Microsystems, Inc. Boot: Romvec version 3. OFMEM: ofmem_claim phys=ffffffffffffffff size=00001000 align=00001000 OFMEM: ofmem_claim_virt virt=00000000 size=00001000 align=00001000 OFMEM: ofmem_map_page_range feffc000 -> 006f7c000 00001000 mode 000000bc root on /iommu/sbus/espdma/esp/sd@0,0 fstype 4.2 Boot: kadb OFMEM: ofmem_claim phys=ffffffffffffffff size=00001000 align=00001000 OFMEM: ofmem_claim_virt virt=00000000 size=00001000 align=00001000 OFMEM: ofmem_map_page_range fefe7000 -> 006f7b000 00001000 mode 000000bc .Size: 121296............................+103120+14200 bytes Statistics: OFMEM: ofmem_claim phys=ffffffffffffffff size=0003c000 align=00040000 OFMEM: ofmem_claim_virt virt=ffc00000 size=0003c000 align=00000000 OFMEM: ofmem_map_page_range ffc00000 -> 006f00000 0003c000 mode 000000bc OFMEM: ofmem_claim phys=ffffffffffffffff size=00001000 align=00001000 OFMEM: ofmem_claim_virt virt=00000000 size=00001000 align=00001000 OFMEM: ofmem_map_page_range fefe6000 -> 006f7a000 00001000 mode 000000bc kadb: kadb: vmunix .Size: 1548288......................................................................................................................................................................................................................................................+463688+225704 bytes OFMEM: ofmem_claim phys=ffffffffffffffff size=00003000 align=00004000 OFMEM: ofmem_claim_virt virt=ffc3c000 size=00003000 align=00000000 OFMEM: ofmem_map_page_range ffc3c000 -> 006f74000 00003000 mode 000000bc OFMEM: ofmem_claim phys=ffffffffffffffff size=00001000 align=00001000 OFMEM: ofmem_claim_virt virt=ffc3f000 size=00001000 align=00000000 OFMEM: ofmem_map_page_range ffc3f000 -> 006f79000 00001000 mode 000000bc .OFMEM: ofmem_claim phys=ffffffffffffffff size=0001c000 align=00020000 OFMEM: ofmem_claim_virt virt=ffc40000 size=0001c000 align=00000000 OFMEM: ofmem_map_page_range ffc40000 -> 006f40000 0001c000 mode 000000bc ................OFMEM: ofmem_claim phys=ffffffffffffffff size=00001000 align=00001000 OFMEM: ofmem_claim_virt virt=ffc5c000 size=00001000 align=00000000 OFMEM: ofmem_map_page_range ffc5c000 -> 006f78000 00001000 mode 000000bc OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc5d000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc5d000 -> 006f5e000 00002000 mode 000000bc ...OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc5f000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc5f000 -> 006f5c000 00002000 mode 000000bc .....OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc61000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc61000 -> 006f3e000 00002000 mode 000000bc ...OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc63000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc63000 -> 006f3c000 00002000 mode 000000bc ..OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc65000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc65000 -> 006efe000 00002000 mode 000000bc ..OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc67000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc67000 -> 006efc000 00002000 mode 000000bc ..OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc69000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc69000 -> 006efa000 00002000 mode 000000bc ..OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc6b000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc6b000 -> 006ef8000 00002000 mode 000000bc ..OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc6d000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc6d000 -> 006ef6000 00002000 mode 000000bc ..OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc6f000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc6f000 -> 006ef4000 00002000 mode 000000bc ..OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc71000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc71000 -> 006ef2000 00002000 mode 000000bc ..OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc73000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc73000 -> 006ef0000 00002000 mode 000000bc ....OFMEM: ofmem_claim phys=ffffffffffffffff size=00003000 align=00004000 OFMEM: ofmem_claim_virt virt=ffc75000 size=00003000 align=00000000 OFMEM: ofmem_map_page_range ffc75000 -> 006eec000 00003000 mode 000000bc ...OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc78000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc78000 -> 006eea000 00002000 mode 000000bc ..OFMEM: ofmem_claim phys=ffffffffffffffff size=00003000 align=00004000 OFMEM: ofmem_claim_virt virt=ffc7a000 size=00003000 align=00000000 OFMEM: ofmem_map_page_range ffc7a000 -> 006ee4000 00003000 mode 000000bc ....OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc7d000 size=00002000 align=00000000 OFMEM: ofmem_map_page_range ffc7d000 -> 006ee8000 00002000 mode 000000bc ..OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc7f000 size=00002000 align=00000000 OFMEM: Non-free virtual memory claimed!
^^^^^ overlaps with this one.
OFMEM: 2if requested 0ffc7f000,00002000. Offending block start 0ffc80000,size00080000 OFMEM: ofmem_map: Bad parameters (006ee2000 FFFFFFFF 00002000) OFMEM: ofmem_map_page_range fffff000 -> 006ee2000 00002000 mode 000000bc ran out of memory for symbol table. halt, power off
Artyom
-- Regards, Artyom Tarasenko
linux/sparc and solaris/sparc under qemu blog: http://tyom.blogspot.com/search/label/qemu