Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Porting NetBSD to the Nintendo 3DS
On 11/28/24 14:05, Paul Walker wrote:
I'm going to start by writing firmware to load a NetBSD kernel.
I got the kernel loaded. Now I just need to resolve an issue with
uvm_km_bootstrap panicking with "could not reserve space for kernel".
Does anyone know what's causing this?
The following is the boot log:
[ 1.0000000] arm32_bootmem_init: memstart=0x20000000, memsize=0x8000000
[ 1.0000000] arm32_bootmem_init: kernelstart=0x20008000,
kernelend=0x20283000
[ 1.0000000] arm32_bootmem_init: kernel phys start 0x20008000 end
0x20283000
[ 1.0000000] arm32_bootmem_init: adding 32125 free pages:
[0x20283000..0x27ffffff] (VA 0x20283000)
[ 1.0000000] arm32_bootmem_init: adding 8 free pages:
[0x20000000..0x20007fff] (VA 0x20000000)
[ 1.0000000] arm32_kernel_vm_init: 1 L2 pages are needed to map
0x2ab000 kernel bytes
[ 1.0000000] arm32_kernel_vm_init: allocating page tables for
vectoradd_pages: adding pv 0x20273ed4 (pa 0x20283000, va 0x20283000, 1
pages) at tail
[ 1.0000000] kernel l1ptadd_pages: appending pv 0x2027562c
(0x20284000..0x20287fff) to 0x20283000..0x20283fff
[ 1.0000000] add_pages: appending pv 0x20273fd0
(0x20288000..0x20288fff) to 0x20283000..0x20287fff
[ 1.0000000] vmadd_pages: appending pv 0x20273fe4
(0x20289000..0x20289fff) to 0x20283000..0x20288fff
[ 1.0000000] add_pages: appending pv 0x20273ff8
(0x2028a000..0x2028afff) to 0x20283000..0x20289fff
[ 1.0000000] add_pages: appending pv 0x2027400c
(0x2028b000..0x2028bfff) to 0x20283000..0x2028afff
[ 1.0000000] add_pages: appending pv 0x20274020
(0x2028c000..0x2028cfff) to 0x20283000..0x2028bfff
[ 1.0000000] add_pages: appending pv 0x20274034
(0x2028d000..0x2028dfff) to 0x20283000..0x2028cfff
[ 1.0000000] add_pages: appending pv 0x20274048
(0x2028e000..0x2028efff) to 0x20283000..0x2028dfff
[ 1.0000000] add_pages: appending pv 0x2027405c
(0x2028f000..0x2028ffff) to 0x20283000..0x2028efff
[ 1.0000000] add_pages: appending pv 0x20274070
(0x20290000..0x20290fff) to 0x20283000..0x2028ffff
[ 1.0000000] arm32_kernel_vm_init: allocating stacks
[ 1.0000000] add_pages: appending pv 0x20274e44
(0x20291000..0x20291fff) to 0x20283000..0x20290fff
[ 1.0000000] add_pages: appending pv 0x20274e30
(0x20292000..0x20292fff) to 0x20283000..0x20291fff
[ 1.0000000] add_pages: appending pv 0x20274e1c
(0x20293000..0x20293fff) to 0x20283000..0x20292fff
[ 1.0000000] add_pages: appending pv 0x20274e08
(0x20294000..0x20294fff) to 0x20283000..0x20293fff
[ 1.0000000] add_pages: appending pv 0x20274df4
(0x20295000..0x20296fff) to 0x20283000..0x20294fff
[ 1.0000000] add_pages: appending pv 0x20274e58
(0x20297000..0x20298fff) to 0x20283000..0x20296fff
[ 1.0000000] add_pages: appending pv 0x20273b50
(0x20299000..0x2029cfff) to 0x20283000..0x20298fff
[ 1.0000000] vectorCreating L1 page table at 0x20284000/0x20284000
[ 1.0000000] arm32_kernel_vm_init: adding L2 pt (VA 0x20283000, PA
0x20283000) for VA 0xffff0000 (vectors)
[ 1.0000000] arm32_kernel_vm_init: kernel_base 20000000
KERNEL_L2PT_KERNEL_NUM 1
[ 1.0000000] arm32_kernel_vm_init: adding L2 pt (VA 0x20288000, PA
0x20288000) for VA 0x20000000 (kernel)
[ 1.0000000] arm32_kernel_vm_init: kernel_vm_base 20008000
KERNEL_L2PT_VMDATA_NUM 8
[ 1.0000000] arm32_kernel_vm_init: adding L2 pt (VA 0x20289000, PA
0x20289000) for VA 0x20008000 (vm)
[ 1.0000000] arm32_kernel_vm_init: adding L2 pt (VA 0x2028a000, PA
0x2028a000) for VA 0x20408000 (vm)
[ 1.0000000] arm32_kernel_vm_init: adding L2 pt (VA 0x2028b000, PA
0x2028b000) for VA 0x20808000 (vm)
[ 1.0000000] arm32_kernel_vm_init: adding L2 pt (VA 0x2028c000, PA
0x2028c000) for VA 0x20c08000 (vm)
[ 1.0000000] arm32_kernel_vm_init: adding L2 pt (VA 0x2028d000, PA
0x2028d000) for VA 0x21008000 (vm)
[ 1.0000000] arm32_kernel_vm_init: adding L2 pt (VA 0x2028e000, PA
0x2028e000) for VA 0x21408000 (vm)
[ 1.0000000] arm32_kernel_vm_init: adding L2 pt (VA 0x2028f000, PA
0x2028f000) for VA 0x21808000 (vm)
[ 1.0000000] arm32_kernel_vm_init: adding L2 pt (VA 0x20290000, PA
0x20290000) for VA 0x21c08000 (vm)
[ 1.0000000] Mapping kernel
[ 1.0000000] arm32_kernel_vm_init: adding chunk for kernel text
0x20008000..0x2018efff (VA 0x20008000)
[ 1.0000000] add_pages: adding pv 0x20273ec0 (pa 0x20008000, va
0x20008000, 391 pages) before pa 0x20283000
[ 1.0000000] arm32_kernel_vm_init: adding chunk for kernel data/bss
0x2018f000..0x20282fff (VA 0x2018f000)
[ 1.0000000] add_pages: adding pv 0x20273eac (pa 0x2018f000, va
0x2018f000, 244 pages) before pa 0x20283000
[ 1.0000000] Listing Chunks
[ 1.0000000] arm32_kernel_vm_init: pv 0x20273ec0: chunk VA
0x20008000..0x2018efff (PA 0x20008000, prot 5, cache 1)
[ 1.0000000] arm32_kernel_vm_init: pv 0x20273eac: chunk VA
0x2018f000..0x20282fff (PA 0x2018f000, prot 3, cache 1)
[ 1.0000000] arm32_kernel_vm_init: pv 0x20273ed4: chunk VA
0x20283000..0x2029cfff (PA 0x20283000, prot 3, cache 1)
[ 1.0000000] Mapping Chunks
[ 1.0000000] arm32_kernel_vm_init: mapping chunk VA
0x20008000..0x2018efff (PA 0x20008000, prot 5, cache 1)
[ 1.0000000] PPPPPPPPLLLLLLLLLLLLLLLLLLLLLLLPPPPPPPPPPPPPPP
[ 1.0000000] arm32_kernel_vm_init: mapping chunk VA
0x2018f000..0x20282fff (PA 0x2018f000, prot 3, cache 1)
[ 1.0000000] PLLLLLLLLLLLLLLLPPP
[ 1.0000000] arm32_kernel_vm_init: mapping last chunk VA
0x20283000..0x2029cfff (PA 0x20283000, prot 3, cache 1)
[ 1.0000000] PPPPPPPPPPPPPPPPPPPPPPPPPP
[ 1.0000000] S
[ 1.0000000] SSSSSS
[ 1.0000000]
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
[ 1.0000000] S
[ 1.0000000] Physical
Virtual Num
[ 1.0000000] Starting Ending Starting
Ending Pages
[ 1.0000000] text section: 0x20008000 0x2018efff 0x20008000
0x2018efff 391
[ 1.0000000] data section: 0x201d0000 0x20272f08 0x201d0000
0x20272f08 163
[ 1.0000000] bss section: 0x20272f08 0x20282d68 0x20272f08
0x20282d68 17
[ 1.0000000] L1 page directory: 0x20284000 0x20287fff 0x20284000
0x20287fff 4
[ 1.0000000] ABT stack (CPU 0): 0x20291000 0x20291fff 0x20291000
0x20291fff 1
[ 1.0000000] FIQ stack (CPU 0): 0x20292000 0x20292fff 0x20292000
0x20292fff 1
[ 1.0000000] IRQ stack (CPU 0): 0x20293000 0x20293fff 0x20293000
0x20293fff 1
[ 1.0000000] UND stack (CPU 0): 0x20294000 0x20294fff 0x20294000
0x20294fff 1
[ 1.0000000] IDLE stack (CPU 0): 0x20295000 0x20296fff 0x20295000
0x20296fff 2
[ 1.0000000] SVC stack: 0x20297000 0x20298fff 0x20297000
0x20298fff 2
[ 1.0000000] Message Buffer: 0x20299000 0x2029cfff 0x20299000
0x2029cfff 4
[ 1.0000000] Exception Vectors: 0x2029d000 0x2029dfff 0xffff0000
0xffff0fff 1
[ 1.0000000] Free Memory: 0x2029e000 0x27ffffff
32098
[ 1.0000000] Free Memory: 0x20000000 0x20007fff
8
[ 1.0000000] TTBR0=0x2028c000 TTBR1=0x1fff4002 TTBCR=0 CONTEXTIDR=0
[ 1.0000000] switching to new L1 page table @0x20284000...
[ 1.0000000] ttb (TTBR0=0x20284000) OK
[ 1.0000000] nfreeblocks = 2, free_pages = 32106 (0x7d6a)
[ 1.0000000] bootstrap done.
[ 1.0000000] vectors 0xffff0000
[ 1.0000000] init subsystems: stacks vectors undefined vfp page
pmap_physload
[ 1.0000000] block 0 start 2029e000 end 28000000... loading in
freelist 0
[ 1.0000000] block 1 start 20000000 end 20008000... loading in
freelist 0
[ 1.0000000] pmap kpm locks l1pt cache(l1pt) specials pools [ Kernel
symbol table missing! ]
[ 1.0000000] done.
[ 1.0000000] panic: uvm_km_bootstrap: could not reserve space for kernel
[ 1.0000000] cpu0: Begin traceback...
[ 1.0000000] 0x20298e74: 20035ed4
[ 1.0000000] 0x20298e94: 200f0c5c
[ 1.0000000] 0x20298eac: 200f0d2c
[ 1.0000000] 0x20298f2c: 20081d50
[ 1.0000000] 0x20298f4c: 20081874
[ 1.0000000] 0x20298f9c: 2016e96c
[ 1.0000000] 0x20298fac: 20008670
[ 1.0000000] cpu0: End traceback...
[ 1.0000000] Fatal kernel mode prefetch abort at 0x00000000
[ 1.0000000] trapframe: 0x20298c88, spsr=600001d3
[ 1.0000000] r0 =ffffffff, r1 =ffffffff, r2 =00000001, r3 =201d0088
[ 1.0000000] r4 =00000000, r5 =201d02a8, r6 =20274bc4, r7 =20298cf8
[ 1.0000000] r8 =201d0400, r9 =20274bd8, r10=20298ee0, r11=20298cf4
[ 1.0000000] r12=20298cf8, ssp=20298cd8, slr=2000ddb4, pc =00000000
Home |
Main Index |
Thread Index |
Old Index