[160]  初代XaのPCI-PCIブリッジについて
投稿者:m-tomi さん   2002-10-30 23:30:39
こんばんは、GRIFFONさん。いつもXa/U1の改造で参考にさせてもらっていますtomiと申します。
過去ログのG450とCHANPONの動作、pcichip /u によるレジスタアドレスとデータ値変更を拝見しました。
CHANPON3でも同様のことが出来ないか?と思いトライしようと思っています。
が、各レジスタアドレスの内容、データ値の意味が判らず、困っています。参考になる文献等あれば教えていただけないでしょうか。
まりもさんのPCIIRQA、KODAKAさんのPCI-Cバスブリッジのレジスタ解析結果等、参考にしていますが、判らず、宜しくお願いします。
  1.  まりも さん   2002-10-31 20:26:30
     もうすっかり忘れているんですが、初代XaってPCI-PCIブリッジ配下のデバイスのIRQが全然割り当てられないんでしたっけか。各デバイスのレジスタ3ChがIRQなんですが、片っ端から試せば1/4の確率で当たります(^^;)。なおSCSIからのBOOTは不可能です。
  2. m-tomi さん   2002-10-31 23:56:06
    まりもさん、ありがとう御座います。
    >まりもさんのPCIIRQA
    すみません。間違っていました。正確にはPCIIRQRでした。
    >SCSIからのBOOTは不可能です。
    GRIFFONさんは、PCI-PCIブリッジを、Bus0、Dev9に割り当て3ChにIPQを設定しCHANPONのSCSIを動作し、Windows2000にてウオームブートされています。同様のことはできないものでしょうか。勉強途中で間違ってるかもしれませんが、教えて下さい。
  3.  まりも さん   2002-11-01 20:44:55
    別のブートデバイスから起動させるのであって、
    BIOSが見えないCHANPONのSCSIからの起動ができる
    ようになるわけではないようですよ。
  4. 雷獣王GRIFFON さん   2002-11-02 16:20:51
    どうも初めまして〜.
    自分も手元に CHANPON3 があればやってた鴨しれないです.(^^;

    >各レジスタアドレスの内容、データ値の意味が判らず、困っています。参考になる文献等あれば教えていただけないでしょうか。
    ここらへんのことなんですが,かな〜り前になるので何をどうしたかすっかり忘れてしまったというかメモがあったはずなんですが行方不明でして・・・.

    CHANPON1 の各デバイス部分は,まず MS-DOS を起動し,次に AUTOEXEC.bat で Intelsat を使って全てのデバイスを自力でたたき起こし,そこから HSB を使ってウォームブートを使って Windows 2000 のドライブを起動してます.
    ウォームブートすると自力でたたき起こしたデバイスもそのまま起きっぱななので,「Windows 2000 が起動する時点」では見えるかと思いますが,「MS-DOS が起動する時点」では,Intelsat で設定し終わるまでは見えません.

    ▼まりもさん:
    >初代XaってPCI-PCIブリッジ配下のデバイスのIRQが全然割り当てられないんでしたっけか。
    もうぜんぜん見えません.
    ただ,ブリッジには IRQ 振ってたような・・・?
    # もう過去のことなのですっかりこーんと抜け落ちてます.(TT
  5. 雷獣王GRIFFON さん   2002-11-02 16:28:39
    メモ有ったーーー!!

    -------------------
    まず起動後PCI-to-PCIブリッジは見えますのでここのレジスタ19hと1Ahに01hを
    設定するとブリッジ先のデバイスが見えてきます。

    PCI-to-PCIブリッジ設定箇所

    PCI-PCIブリッジ認識
    19h=01h
    1Ah=01h

    I/Oアドレスの設定
    1Ch=61h
    1Dh=61h

    Memoryアドレスの設定
    20h=00h
    21h=20h
    22h=00h
    23h=20h
    24h=F1h
    25h=FFh

    ブリッジ制御
    3Eh=03h

    コマンド
    04h=47h
    05h=01h

    PCI-to-PCIブリッジの設定はこれだけです。

    次に使用するデバイスの割り込み番号(IRQ)の設定を各デバイスのレジスタ3Ch
    にIRQ番号を設定します。参考にXa/C10Wでの設定はこのようにしました。
    SCSI=IRQ3 LAN=IRQ5 USB=IRQ=6
    各デバイスのその他の設定はWindowsのPnPが起動時にやってくれます。

    最後にCバスブリッジ割り込みルーティングの設定ですがCAHNPONの割り込み
    DIP-SW設定がA=SCSI B=LAN C=USB PCIスロット外側に挿した場合で説明します。
    60h=80h 空
    61h=03h SCSI(A)
    62h=05h LAN (B)
    63h=06h USB (C)
    内側スロットの場合60hから順番に設定して63hは80hです。

    以上、あくまで標準的な設定だとこの様になるだけで、機種によってはこのリソース設定
    では動作しない場合がありますので、CHANPONが動作する他機種の設定値を参考にしてやって
    みてください。

    1.68版の/EDITで変更する場合最初Host Bridgeが表示されますがこれは
    変更しませんので、Dキーを何回か押してPCI-PCI Bridge(PCI-to-PCIブリッジ)
    を表示させここの19hと1Ahを01hに変更し残りのレジスタも設定します。

    次にDキーを何回か押してBridge Device(Cバスブリッジ)を表示させて
    割り込みルーティングの設定をします。前回書いた設定値はChanpon以外に他の
    PCIボードが無い場合で普通初代XaですとGAを挿しますよね、それでGAをPCI
    スロット内側に挿した場合レジスタ60hにIRQ番号(例 03とか)がPCIスロット外側
    の場合は61hに出てきますが、外側スロットの場合設定が煩雑になるので省略します。(笑)
    GAが使っているIRQは使えないので,他のIRQ(05h 06h 10hとか)を使い61h=SCSI 62h=LAN
    63h=USBと言う具合に設定しますが、これはChanpon割り込み線の設定次第ですので
    全てAの設定なら61h=SCSI=LAN=USBに、SCSI=A LAN=USB=Bなら61h=SCSI 62h=LAN=USBに
    なります。

    最後は各デバイスのIRQ設定ですが、/EDIT上でBus番号の変更が出来ないため一端
    Intelsatを終了させてIntelsat.cfgなるファイルをでっち上げて中に
    [BUSNUM]:01
    を書きます。これをIntelsat.exe同じディレクトリに置き再度実行すれば今度はBus番号1
    のデバイスが見えてきます。Bus番号0(前に見えてた奴)は見えません。
    ここでBridge Device(Cバスブリッジ)に設定したIRQ番号を3ChにDキーでデバイスを
    変えながら設定します。

    あと使ったことは無いですがベクターにフリーのPCIコンフィグレーション表示書き換え
    ツールPCICHIPなんてのもあります。
    -------------------

    たぶん前回のここのログ飛んだときには書いていた予感.
  6. m-tomi さん   2002-11-03 00:14:01
    初めまして、GRIFFONさん、ご返事ありがとう御座います。
    PCI-to-PCIブリッジ設定、配下のデバイス設定について詳細な内容を教えていただき、大変参考になります。感謝感激です(^-^。ありがとう御座います。
    勉強不足で内容の理解度は十分ではありませんが、各内容を順次試していきます(この連休の間に)。
    ちなみに、私のXaは、U1です。

    >HSB を使ってウォームブートを使って Windows 2000 のドライブを起動してます.
    Windows 2000 のドライブとは、内臓HDDのドライブのことでしょうか。もし、そうならば、SCSIからのBOOTは不可能ですね?

    >「MS-DOS が起動する時点」では,Intelsat で設定し終わるまでは見えません.
    MS-DOSでみれば、SCSIのドライブは認識されるのでしょうか。

    >たぶん前回のここのログ飛んだときには書いていた予感.
    拝見したGRIFFONさんのログ「Marox G450 PCI と CHANPON を同時使用する」では、pcichipによる設定でした。
    試しに上記設定を入力すると、DECのPCI-to-PCIブリッジが見えました。配下のデバイスは上記を参考に試してみます。何とか見えれば、先ほどの質問の件を確認してみます。

    intelsat,pciirqr,redpci等でトライしますが、勉強不足で・・・・・・・・。 又、教えて下さい。
  7. 雷獣王GRIFFON さん   2002-11-03 03:23:11
    >Windows 2000 のドライブとは、内臓HDDのドライブのことでしょうか。
    そうです.
    (Xa初代なら内蔵HDDインターフェイス,Xt初代なら AHA-2940N)

    >もし、そうならば、SCSIからのBOOTは不可能ですね?
    そうなりますね.そんなこんなでうちの CHANPON1 の SCSI 部分は使われておりません.(^^;
    # CHANPON1 を使うことそのものが目的なので無問題

    もしかしたら,MS-DOS レベルで CHANPON1 デバイス群をたたき起こせばあらかじめインストールしてある Windows 2000 を CHANPON1 SCSI で起動できるかもしれませんが・・・.
    そのためには CHANPON1 デバイス群をたたき起こすための MS-DOS が必要になりますね.
    以前は洒落でフロッピーディスクでたたき起こしていたときもありましたが.(笑)

    >MS-DOSでみれば、SCSIのドライブは認識されるのでしょうか。
    あー,これどうなんでしょう?
    検証したこと無いからわかりません.
    # 起動させるのが面倒なので勘弁

    >又、教えて下さい。
    暇なときに.(笑)

    それではがんばってくださいね〜.
  8.  まりも さん   2002-11-03 14:17:14
    >あー,これどうなんでしょう?
    CHANPON-SCSIのBIOSが不在かつ初期化されてないのでDISK BIOSがそれをフックしません。つまりDOSからSCSIドライブは見えませんです、はい。
    見えない=そこから起動もできない ということになります。

    HSBによるリブートは、完全なリセットかまたは固定ディスク起動以降に遡っての再起動しかできません。これの中間時点、つまりPnPによるリソース設定終了からDISK BIOS展開の間の時点に遡っての再起動ができればいいんですけどね。
  9. m-tomi さん   2002-11-04 00:05:11
    GRIFFONさん、まりもさん、有難う御座います。

    >見えない=そこから起動もできない
    GRIFFONさんのデータとintelsat,pcichip等にてPCI-to-PCIブリッジ、配下のデバイス(SCSI)を設定出来そうですが、SCSIドライブは、認識できませんので、ブートは無理のようですね。

    >PnPによるリソース設定終了からDISK BIOS展開の間の時点に遡っての再起動ができればいいんですけどね。
    知識不足ですみませんが、可能なんでしょうか。もし可能ならばトライしたいんですが、難しいんでしょうね。

    SCSIブートは無理なので、勉強を兼ねてWindowsでデバイスが使えないかトライしてみます。
    ちなみに、CHANPON3のDEC,PCI-PCI Bridge制御は、3Eh=02hであり、配下のデバイスは、SCSIとUSB/SOUNDになっていました。CHANPONとは異なっており、勉強になります。

    何分試行錯誤なので、これからも、ご教授願います。
  10.  まりも さん   2002-11-04 01:58:24
    >可能なんでしょうか
    いえ、通常考えられる方法(ソフトウェア技術だけによる)では不可能です(^^;)。

    可能性の検討だけしかしてないのですが、Mistress9というROMボードを使用し、SCSIのROMがスキャンされる前に介入してCHANPON-SCSIチップにアクセス可能な状態を作り出しておくという手が考えられます。雷獣王GRIFFONさんが示したのと同様の手順のプログラムをこのボードのROMに仕込むということになります。
  11. m-tomi さん   2002-11-04 23:28:15
    まりもさん、ありがとうございます。。

    >Mistress9というROMボード
    まりもさんのHPにて内容拝見し、ROMの変更が可能とありましたが、私の力では・・、少しは勉強してみますが、難しくて無理のようです。

    とりあえずは、CHANPON3で遊んでみます。ありがとうございました。