[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

NetBSD 4.99.4 on InterLink MP-C303



佐野幸彦です。

とても久しぶりに、MP-C303 で NetBSD を動作させてみたのですが、はまった点が
2つありました。

(1) hpcboot.exe が、netbsd.gz の読み込みで誤動作する場合があります。

プログレスバーが最後まで行かず、

[progress] 9
load link 1906, zero clear link 1

と表示された辺りで止まります。(Windows は動いてます)
netbsd.gz ではなく netbsd を使えば正常に動作します。

(2) hpcboot.exe から kernel へジャンプした後、ハングします。

以下のメールで指摘されている通り、

  X-Ml-Count: 4695
  Message-Id: <200207011005.g61A5x819343@bicky-holiday.enami.but-b.or.jp>
  Date: Mon, 1 Jul 2002 19:05:59 JST
  From: enami tsugutomo <enami@but-b.or.jp>
  Subject: Re: InterLink MP-C304へのインストール

options VR_FIND_DRAMLIM=0x03800000 を GENERIC に追加した kernel でブートでき
ました。

で、幾つか質問があるのですが。

[1] Video って MQ200 なんでしょうか。

hpcboot.exe に値を入れるのは難しそうでしたので、
sys/arch/hpcmips/hpcmips/machdep.c を

*** machdep.c.ORIG      Sun Apr  9 10:18:14 2006
--- machdep.c   Mon Nov 27 11:32:17 2006
***************
*** 320,325 ****
--- 320,329 ----
                if (bootinfo->platid_machine != 0) {
                        platid.dw.dw1 = bootinfo->platid_machine;
                }
+ bootinfo->fb_addr       = (void *)0xb0800000;
+ bootinfo->fb_width      = 1024;
+ bootinfo->fb_height     = 600;
+ bootinfo->fb_line_bytes = bootinfo->fb_width * 16 / 8;
        }
        /* copy boot parameter for kloader */
  #ifdef KLOADER

とし、コントロールパネルの『インターリンクオリジナル設定』で、
『解像度を1024x600ドットにする。』にチェックを入れ、ブートしてみましたが、
1024 x 240 ぐらいが描画されます。

http://yukihiko.sano-ya.org/netbsd/hpcmips/photo/mp-c303.png

な感じです。
更に、シリアルコンソールでログを取ってみますと

mqvideo0 at pci0 dev 18 function 0: MQ200 Rev.02 video controller
mqvideo0: framebuffer address: 0xb0800000
GC00R: 010330c9
GC01R: 00004800
GC02R: 0400453e
GC03R: 02ff4325
GC04R: 04a04418
(延々続いて)
IN00R: 00ffd700
IN01R: 00000000
IN02R: 00000000
IN03R: 0000ea04
  PLL1: 82.944MHz(0x0ef2082a, 12.288MHzx243/ 36)
  PLL2: disable
  PLL3: 65.024MHz(0x00fd0b20, 12.288MHzx254/ 48)
   MEM: 82.944MHz(PLL1)
    GE: 65.024MHz(PLL3)
   GC1: 65.024MHz(PLL3/1/1), LCD
   GC2: disable
trap: TLB miss (load or instr. fetch) in kernel mode
status=0x2, cause=0x408, epc=0x8029be58, vaddr=0
pid=0 cmd=swapper usp=0x0 ksp=0x803bd8a8
Stopped in pid 0.1 (swapper) at netbsd:memcpy+0x1e8:    lwr     t3,a1,-4
db>

となっています。

http://yukihiko.sano-ya.org/netbsd/hpcmips/log/mq200.log

に全部のログがあります。

bootinfo 構造体の意味もよくわからずにやったのでアレですが、1024x600 時の
fb_addr は 0xb0800000 で良いような気がします。

[2] PC カードは使えませんか。

NEC VRC4173 PC-Card Unit (CardBus bridge, revision 0x01) at pci0 dev 1 function 0 not configured
NEC VRC4173 PC-Card Unit (CardBus bridge, revision 0x01) at pci0 dev 2 function 0 not configured

と出ましたので、GENERIC の

  #vrc4173cardu* at pci? dev ? function ? # VRC4173 CARDU
  #pcmcia*        at vrc4173cardu?

この行を有効にしてコンパイルしてみましたが、コンパイルエラーになりました。

うーん、まだまだ道は険しいですか。