ページ

2013年4月1日月曜日

NetBSD / WANDBOARD

そういえばまだ書いてませんでしたね。
いちおうブートはしております。

## Booting kernel from Legacy Image at 11000000 ...
   Image Name:   NetBSD/ 6.99.19
   Image Type:   ARM NetBSD Kernel Image (gzip compressed)
   Data Size:    1341990 Bytes =  1.3 MB
   Load Address: 10100000
   Entry Point:  10100000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Transferring control to NetBSD stage-2 loader (at address 10100000) ...
@ABDFGHIJK
uboot arg = 0x276006a0, 0, 0x27824ac7, 0x27600b39

NetBSD/evbarm (wandboard) booting ...
initarm: Configuring system, CLIDR=1110000003 CTR=0x83338003
arm32_bootmem_init: memstart=0x10000000, memsize=0x40000000, kernelstart=0x10100000
arm32_bootmem_init: kernelend=0x103f4000
arm32_bootmem_init: adding 261132 free pages: [0x103f4000..0x4fffffff] (VA 0x803f4000)
arm32_bootmem_init: adding 256 free pages: [0x10000000..0x100fffff] (VA 0x80000000)
arm32_kernel_vm_init: 2 L2 pages are needed to map 0x41f000 kernel bytes
arm32_kernel_vm_init: allocating page tables for vectoradd_pages: adding pv 0x803d5b68 (pa 0x103f4000, va 0x803f4000, 4 pages) at tail
add_pages: appending pv 0x803d5cec (0x103f8000..0x103f8fff) to 0x103f4000..0x103f7fff
 kerneladd_pages: appending pv 0x803d5d14 (0x103f9000..0x103f9fff) to 0x103f4000..0x103f8fff
add_pages: appending pv 0x803d5d28 (0x103fa000..0x103fafff) to 0x103f4000..0x103f9fff
 vmadd_pages: appending pv 0x803d5d3c (0x103fb000..0x103fbfff) to 0x103f4000..0x103fafff
add_pages: appending pv 0x803d5d50 (0x103fc000..0x103fcfff) to 0x103f4000..0x103fbfff
add_pages: appending pv 0x803d5d64 (0x103fd000..0x103fdfff) to 0x103f4000..0x103fcfff
add_pages: appending pv 0x803d5d78 (0x103fe000..0x103fefff) to 0x103f4000..0x103fdfff
add_pages: appending pv 0x803d5d8c (0x103ff000..0x103fffff) to 0x103f4000..0x103fefff
add_pages: appending pv 0x803d5da0 (0x10400000..0x10400fff) to 0x103f4000..0x103fffff
add_pages: appending pv 0x803d5db4 (0x10401000..0x10401fff) to 0x103f4000..0x10400fff
add_pages: appending pv 0x803d5dc8 (0x10402000..0x10402fff) to 0x103f4000..0x10401fff
add_pages: appending pv 0x803d6024 (0x10403000..0x10403fff) to 0x103f4000..0x10402fff
add_pages: appending pv 0x803d6038 (0x10404000..0x10404fff) to 0x103f4000..0x10403fff
add_pages: appending pv 0x803d604c (0x10405000..0x10405fff) to 0x103f4000..0x10404fff
add_pages: appending pv 0x803d6060 (0x10406000..0x10406fff) to 0x103f4000..0x10405fff
add_pages: appending pv 0x803d5ffc (0x10407000..0x10408fff) to 0x103f4000..0x10406fff
add_pages: appending pv 0x803d6010 (0x10409000..0x1040afff) to 0x103f4000..0x10408fff
add_pages: appending pv 0x803d5bdc (0x1040b000..0x1040efff) to 0x103f4000..0x1040afff
Creating L1 page table at 0x103f4000
arm32_kernel_vm_init: adding L2 pt (VA 0x803f8000, PA 0x103f8000) for VA 0xffff0000
 (vectors)arm32_kernel_vm_init: adding L2 pt (VA 0x803f9000, PA 0x103f9000) for VA 0x80000000 (kernel)
arm32_kernel_vm_init: adding L2 pt (VA 0x803fa000, PA 0x103fa000) for VA 0x80400000 (kernel)
arm32_kernel_vm_init: adding L2 pt (VA 0x803fb000, PA 0x103fb000) for VA 0xc0000000 (vm)
arm32_kernel_vm_init: adding L2 pt (VA 0x803fc000, PA 0x103fc000) for VA 0xc0400000 (vm)
arm32_kernel_vm_init: adding L2 pt (VA 0x803fd000, PA 0x103fd000) for VA 0xc0800000 (vm)
arm32_kernel_vm_init: adding L2 pt (VA 0x803fe000, PA 0x103fe000) for VA 0xc0c00000 (vm)
arm32_kernel_vm_init: adding L2 pt (VA 0x803ff000, PA 0x103ff000) for VA 0xc1000000 (vm)
arm32_kernel_vm_init: adding L2 pt (VA 0x80400000, PA 0x10400000) for VA 0xc1400000 (vm)
arm32_kernel_vm_init: adding L2 pt (VA 0x80401000, PA 0x10401000) for VA 0xc1800000 (vm)
arm32_kernel_vm_init: adding L2 pt (VA 0x80402000, PA 0x10402000) for VA 0xc1c00000 (vm)
Mapping kernel
arm32_kernel_vm_init: adding chunk for kernel text 0x10100000..0x1033dfff (VA 0x80100000)
add_pages: adding pv 0x803d5b54 (pa 0x10100000, va 0x80100000, 574 pages) before pa 0x103f4000
arm32_kernel_vm_init: adding chunk for kernel data/bss 0x1033e000..0x103f3fff (VA 0x8033e000)
add_pages: appending pv 0x803d5bb4 (0x1033e000..0x103f3fff) to 0x10100000..0x1033dfff
add_pages: merging pv 0x803d5b68 (0x103f4000..0x1040efff) to 0x10100000..0x103f3fff
Listing Chunks
arm32_kernel_vm_init: pv 0x803d5b54: chunk VA 0x80100000..0x8040efff (PA 0x10100000, prot 3, cache 1)

Mapping Chunks
arm32_kernel_vm_init: mapping last chunk VA 0x80000000..0xbfffffff (PA 0x10000000, prot 3, cache 1)
pmap_map_chunk: pa=0x10000000 va=0x80000000 size=0x40000000 resid=0x40000000 prot=0x3 cache=1
sSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsS
devmap: 02000000 -> 020fffff @ ff000000
pmap_map_chunk: pa=0x2000000 va=0xff000000 size=0x100000 resid=0x100000 prot=0x3 cache=0
S
devmap: 00a00000 -> 00afffff @ ff100000
pmap_map_chunk: pa=0xa00000 va=0xff100000 size=0x100000 resid=0x100000 prot=0x3 cache=0
S
                             Physical              Virtual        Num
                       Starting    Ending    Starting    Ending   Pages
               SDRAM: 0x10000000 0x4fffffff 0x80000000 0xbfffffff 262144
        text section: 0x10100000 0x1033dfff 0x80100000 0x8033dfff 574
        data section: 0x10340000 0x103d5440 0x80340000 0x803d5440 150
         bss section: 0x103d5440 0x103f3f70 0x803d5440 0x803f3f70 31
   L1 page directory: 0x103f4000 0x103f7fff 0x803f4000 0x803f7fff 4
   ABT stack (CPU 0): 0x10403000 0x10403fff 0x80403000 0x80403fff 1
   FIQ stack (CPU 0): 0x10404000 0x10404fff 0x80404000 0x80404fff 1
   IRQ stack (CPU 0): 0x10405000 0x10405fff 0x80405000 0x80405fff 1
   UND stack (CPU 0): 0x10406000 0x10406fff 0x80406000 0x80406fff 1
  IDLE stack (CPU 0): 0x10407000 0x10408fff 0x80407000 0x80408fff 2
           SVC stack: 0x10409000 0x1040afff 0x80409000 0x8040afff 2
      Message Buffer: 0x1040b000 0x1040efff 0x8040b000 0x8040efff 4
   Exception Vectors: 0x1040f000 0x1040ffff 0xffff0000 0xffff0fff 1
         Free Memory: 0x10410000 0x4fffffff                       261104
         Free Memory: 0x10000000 0x100fffff                       256
switching to new L1 page table @0x103f4000...TTBR0=0x103f405b OK
nfreeblocks = 2, free_pages = 261360 (0x3fcf0)
bootstrap done.
init subsystems: stacks vectors undefined page pmap_physload pmap [ Kernel symbol table missing! ]
done.
Loaded initial symtab at 0x80344738, strtab at 0x8036a064, # entries 9537
pmap_postinit: Allocated 35 static L1 descriptor tables
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 6.99.19 (WANDBOARD) #67: Mon Apr  1 19:48:55 JST 2013
        kenichi@hogehoge:/home/kenichi/netbsd/tnf/obj/sys/arch/evbarm/compile/WANDBOARD
total memory = 1024 MB
avail memory = 1001 MB
timecounter: Timecounters tick every 10.000 msec
cprng kernel: WARNING insufficient entropy at creation.
mainbus0 (root)
cpu0 at mainbus0 core 0: 1 GHz Cortex-A9 r3p10 (Cortex V7A core)
cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu0: isar: [0]=0x101111 [1]=0x13112111 [2]=0x21232041 [3]=0x11112131, [4]=0x11142, [5]=0
cpu0: mmfr: [0]=0x100103 [1]=0x20000000 [2]=0x1230000 [3]=0x102111
cpu0: pfr: [0]=0x1231 [1]=0x11
cpu0: 32KB/32B 4-way L1 Instruction cache
cpu0: 32KB/32B 4-way write-back-locking-C L1 Data cache
cpu0: 512KB/32B 16-way write-back-locking-D L2 Unified cache
vfp0 at cpu0: NEON MPE (VFP 3.0+)
armperiph0 at mainbus0
arml2cc0 at armperiph0: ARM PL310 r3p2 L2 Cache Controller (disabled)
arml2cc0: cache enabled
armgic0 at armperiph0: Generic Interrupt Controller, 160 sources (149 valid)
armgic0: 32 Priorities, 128 SPIs, 5 PPIs, 16 SGIs
a9tmr0 at armperiph0: A9 Global 64-bit Timer (792 MHz)
a9tmr0: interrupting on irq 27
a9wdt0 at armperiph0: A9 Watchdog Timer, default period is 12 seconds
axi0 at mainbus0: Advanced eXtensible Interface
imxuart0 at axi0 addr 0x2020000 intr 58
imxuart0: console
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "a9tmr0" frequency 792000000 Hz quality 500
cprng sysctl: WARNING insufficient entropy at creation.
boot device: 
root device:

進捗としましては 2nd CPU をおこすところで躓いております。
起すタイミングと起してからどうするかってのはどのへんを見ればいいんですかね?
とりあえず matt さんのコードは PA==VA なのしか考えてないのでいやんなるぅ。

0 件のコメント:

コメントを投稿