月曜日ということで少し早めに出発。
帰りは歩きたくてしかたがなかったらしい。
初めて自転車で朝から出発。
少し寒かったのか、週末の疲れがでたのか熱がでた。
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を使用して作成されています。