月曜日ということで少し早めに出発。
帰りは歩きたくてしかたがなかったらしい。
初めて自転車で朝から出発。
少し寒かったのか、週末の疲れがでたのか熱がでた。
machdep.cとかwalnut_start.Sとかいじって、なんとか動かそうとするものの、なにも成果なし。
walnut_start.Sはopenbiosから値を取得しているところが大きな違いで、そこを#ifdefで無効にしてもダメ。
逆に、machdep.cで独自にboard_dataの値を取得していたところを外して、openbiosの部分を有効にしてもダメ。
実は、シリアルのスピードがおかしいのかと思い、FREQでgrepして、かたっぱしからFREQ * 4に変更したがダメ (machdep.cからautoconf.cに一部移っていたところがあった)。
うーん。
。
朝になったら熱は収まったようだ。
とりあえず、様子をみるということで安静に一日を過ごした。
なんとなく、週末の疲れがでたのかなぁ、という結論に達した。
昨日は場あたり的に色々な変更をしたので、一から手順をやり直してみる。
が、なにも変わらず。
結局のところ、下手な考え休むに似たり、という結論に達したので、動いていたころのsourceから少しずつずらしていって、動かなくなる時期を絞りこんでみようかと思う。
これなら素人にもできそうである。
体調は回復したようだ。
今日は、事情があったので自主トレしてきました。
えぇ、もつの自主トレですけどね。
黒ホッピーの入ったグラスを落して割ってしまいました。
ごめんなさい。
例によって寝ているが、来週から少しはましになるのだろうか。
前回失敗に終わったのだが今回はしぶとくねばることに。
しかし、大格闘です。
でも、逆に疲れていたおかげで無視して寝てたというのもあってか何とか成功。
1年と202日のあいだ続けてきたことをやめるというのは、大変なんだな。
自転車を直すために自転車に乗って近くのジャスコにいく。
頭をぶつけないようなアイテムを買いました。
月曜の朝なので例によって不機嫌。
いつもより少し早いし。
あやしい場所を絞るため、LEDデバッグしまくり。
kernel作りまくり。
ファームウェアアップデートしまくり。
成果でないし...
そろそろ疲れてきたんですけど。
とりあえず、20030725-UTCは動いて20030726-UTCは動かぬ。
どう考えても7/25のbus_dmaがらみだな。
泣き叫ぶことはなくなったものの、寝るには時間がかかる。
ていうか、久しぶりに夜みたぞ。
進んだ!
arch/powerpc/ibm4xx/dev/opb.cに405GPrの記述を追加する。opb_get_bus_space_tag()でopb_limitを走査して、適合したものに対してアドレスを返しているらしい。
const struct opb_limit {
int pvr;
bus_addr_t base;
bus_addr_t limit;
} opb_limits[] = {
{ IBM405GP, IBM405GP_UART0_BASE, IBM405GP_UART0_BASE + 0xfff },
{ IBM405GPR, IBM405GP_UART0_BASE, IBM405GP_UART0_BASE + 0xfff },
{ 0, 0, 0 }
};
405GPr 1.2 ROM Monitor (5/25/02)
--------------------- System Info ----------------------
Processor = 405GPr (New mode), PVR: 50910951
CPU speed = 266 MHz
PLB speed = 133 MHz
OPB speed = 66 MHz
EBC speed = 66 MHz
PCI Bus speed = 33 MHz (Async)
VCO speed = 800 MHz
Feedback Clock = CPU
Amount of SDRAM = 64 MBytes
Internal PCI arbiter enabled
--------------------------------------------------------
--- Device Configuration ---
Power-On Test Devices:
000 Enabled System Memory [RAM]
002 Enabled Ethernet [ENET]
003 Enabled PCI Ethernet [PCIENET]
----------------------------
Boot Sources:
001 Enabled System FLASH [FLASH]
002 Enabled Ethernet [ENET]
LOCAL: 192.168.100.61
REMOTE: 192.168.100.37
MAC: 000A8501858E
004 Enabled Serial Port 1 [S1]
----------------------------
Debugger: Disabled
----------------------------
-- FLASH BOOT Update --
Sending bootp request ...
BOOTP failed.
Network boot failed.
Booting from [FLASH] System FLASH ...
+4000000,
00025000-04000000 -> 00334000-04000000 = 3ccc000
Loading pages
Done
Board config data at 0x7e40:
Bad info_block at 0x7c09d9ae:
usr_config_ver = 1.4
rom_sw_ver = 1.2
mem_size = 67108864
mac_address_local = 00:0a:85:01:85:8e
mac_address_pci = 00:0a:85:01:05:8e
processor_speed = 266666666
plb_speed = 133333333
pci_speed = 33333333
Loaded initial symtab at 0x28be74, strtab at 0x2ac8b0, # entries 8296
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
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 1.6U (OPENBLOCKS266) #4: Wed Sep 10 08:58:52 JST 2003
tokuda@r1:/usr/export/s/20030725-12/src/sys/arch/evbppc/compile/OPENBLOCKS266
OpenBlockS266 IBM PowerPC 405GPr
total memory = 65536 KB
avail memory = 58320 KB
using 211 buffers containing 3376 KB of memory
plb0 (root)
cpu0 at plb0: 266MHz 405GPr (Revision 9.81)
Instruction cache size 16384 line size 32
Data cache size 16384 line size 32
PVR: owner 509 core family 1 cache 2 version 5 asic 11
ecc0 at plb0 irq 16: ECC controller
opb0 at plb0
com0 at opb0 addr 0xef600300 irq 0: ns16550a, working fifo
com0: console
com1 at opb0 addr 0xef600400 irq 1: ns16550a, working fifo
emac0 at opb0 addr 0xef600800 irq 9: 405GP EMAC
emac0: interrupting at irqs 9 .. 15
emac0: Ethernet address 00:0a:85:01:85:8e
lxtphy0 at emac0 phy 0: LXT971 10/100 media interface, rev. 2
lxtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
gpio at opb0 addr 0xef600700 not configured
iic0 at opb0 addr 0xef600500 irq 2: 405GP IIC
rtc0 at iic0 addr 0xf0000000
RTC: 2003/09/10 00:13:43
todclock0 at rtc0
wdog0 at opb0: 4 second period
bus_space_map(0x2d83e8[eec00000:eec00007], 0xeec00000, 0x8) failed: EINVAL
panic: Cannot map PCI registers
Stopped in pid 0.1 (swapper) at netbsd:cpu_Debugger+0x10: lwz r0, r1, 0
x14
db> trace
0x00330090: at panic+18c
0x00330150: at pci_machdep_init+80
0x00330160: at pchbmatch+2c
0x00330180: at config_match+4c
0x003301a0: at plb_submatch+c
0x003301b0: at mapply+34
0x003301c0: at config_search+88
0x00330200: at config_found_sm+30
0x00330220: at plb_attach+88
0x00330260: at config_attach+34c
0x003302b0: at config_rootfound+5c
0x003302c0: at cpu_configure+30
0x003302d0: at configure+6c
0x003302e0: at main+37c
0x00330330: at 0x2515c
db>
夜は大変らしい。
メールはこちらへ...[BSD小僧 (tokuda @(at) tokuda .(dot) net)]
この日記は、GNSを使用して作成されています。