NetBSD/gigalandisk への道

NetBSD/gigalandisk の可能性を探る日記です。嘘です。
一昨日買って、昨日ほげほげして今のところこんな感じ。多分 setttb() した時にコケてるんじゃないかと思っております。Copyright が表示できてから晒せよって感じですかね。まあ、シリアル出力はできるよ位に考えてください。
そーいや RedBoot の load コマンドの -b オプションって指定したアドレスにロードしてくれないんですかね。0x00012000 を指定しているのに 0xa0008000 にロードされてるんですけど。0xa0004000 のMMU アドレス変換テーブルを見る限りでは VA:0x00012000→PA:0xa0012000 になる筈なんだけど、オプションの意味を取り違えてるのかなぁ。まあ、いいけど。

+
RedBoot(tm) bootstrap and debug environment [ROM]
Red Hat certified release, version 1.90 - built 13:59:48, Jun  3 2005

Platform: IQ80321 (XScale) 
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00000000-0x08000000, 0x00010ba8-0x07ff4000 available
== Executing boot script in 1.000 seconds - enter ^C to abort
RedBoot> load hda1:/initrd -r -v -b 0x00800000 -m disk
e2fs_open: e2fs_inode_lookup failed
Can't load 'hda1:/initrd': Can't open file
RedBoot> load hda1:/zImage -r -v -b 0x00012000 -m disk
Raw file loaded 0x00012000-0x002fece3, assumed entry at 0x00012000
RedBoot> exec -c "root=/dev/hda2 initrd=0xa0800000,8M rw console=ttyS0,115200 mem=128M@0xa0000000"
Using base address 0x00012000 and length 0x002ecce4

NetBSD/gigalandisk booting ...
i80321: SBDR = 0xa0000000 SBR0 = 0x80000014 SBR1 = 0x80000014
i80321: BANK0 = 0x08000000 BANK1 = 0x00000000
initarm: Configuring system ...
physmemory: 32768 pages at 0xa0000000 -> 0xa7ffffff
Allocating page tables
freestart = 0xa0009000, free_pages = 503 (0x000001f7)
IRQ stack: p0xa01f0000 v0xc01f0000
ABT stack: p0xa01ef000 v0xc01ef000
UND stack: p0xa01ee000 v0xc01ee000
SVC stack: p0xa01ec000 v0xc01ec000
Creating L1 page table at 0xa01fc000
Mapping kernel
pmap_map_chunk: pa=0xa0200000 va=0xc0200000 size=0x6e000 resid=0x6e000 prot=0x3 cache=1
LLLLLLPPPPPPPPPPPPPP
pmap_map_chunk: pa=0xa026e000 va=0xc026e000 size=0xa4000 resid=0xa4000 prot=0x3 cache=1
PPLLLLLLLLLLPP
Constructing L2 page tables
pmap_map_chunk: pa=0xa01f0000 va=0xc01f0000 size=0x1000 resid=0x1000 prot=0x3 cache=1
P
pmap_map_chunk: pa=0xa01ef000 va=0xc01ef000 size=0x1000 resid=0x1000 prot=0x3 cache=1
P
pmap_map_chunk: pa=0xa01ee000 va=0xc01ee000 size=0x1000 resid=0x1000 prot=0x3 cache=1
P
pmap_map_chunk: pa=0xa01ec000 va=0xc01ec000 size=0x2000 resid=0x2000 prot=0x3 cache=1
PP
pmap_map_chunk: pa=0xa01fc000 va=0xc01fc000 size=0x4000 resid=0x4000 prot=0x3 cache=2
PPPP
pmap_map_chunk: pa=0xa01fb000 va=0xc01fb000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xa01fa000 va=0xc01fa000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xa01f9000 va=0xc01f9000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xa01f8000 va=0xc01f8000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xa01f7000 va=0xc01f7000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xa01f6000 va=0xc01f6000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xa01f5000 va=0xc01f5000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xa01f4000 va=0xc01f4000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xa01f3000 va=0xc01f3000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xa01f2000 va=0xc01f2000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
devmap: fe800000 -> fe8fffff @ fe800000
pmap_map_chunk: pa=0xfe800000 va=0xfe800000 size=0x100000 resid=0x100000 prot=0x3 cache=0
S
devmap: 90000000 -> 9000ffff @ fe400000
pmap_map_chunk: pa=0x90000000 va=0xfe400000 size=0x10000 resid=0x10000 prot=0x3 cache=0
L
devmap: ffffe000 -> fffff6ff @ fe410000
pmap_map_chunk: pa=0xffffe000 va=0xfe410000 size=0x1700 resid=0x2000 prot=0x3 cache=0
PP
freestart = 0xa0312000, free_pages = 31982 (0x7cee)
switching to new L1 page table  @0xa01fc000...