JP3698959B2 - Information processing device - Google Patents
Information processing device Download PDFInfo
- Publication number
- JP3698959B2 JP3698959B2 JP2000172970A JP2000172970A JP3698959B2 JP 3698959 B2 JP3698959 B2 JP 3698959B2 JP 2000172970 A JP2000172970 A JP 2000172970A JP 2000172970 A JP2000172970 A JP 2000172970A JP 3698959 B2 JP3698959 B2 JP 3698959B2
- Authority
- JP
- Japan
- Prior art keywords
- pci
- configuration
- host
- memory
- header information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Bus Control (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は情報処理装置に係り、特に一つ以上のホスト−PCIバスブリッジを用いて一つ以上のPCIバスをホストバス直下に接続する情報処理装置に関する。
【0002】
【従来の技術】
従来より、一つ以上のホスト−PCI(peripheral component interconnect)バスブリッジを用いて一つ以上のPCIバスをホストバス直下に接続する情報処理装置において、バス・デバイス構成設定を行うに際し、初期化プログラムがホスト-PCIバスブリッジ直下のPCIバスに接続しているオンボードPCIデバイス及びPCIスロット(slot)に実装されるオプションPCIデバイスに関して、該PCIバスのオンボードPCIデバイス及び全PCIスロットのデバイスナンバでファンクション0のベンダ(Vender)IDを読み出し、PCIデバイス存在の有無を確認後、存在している場合はヘッダタイプを確認し、そのヘッダタイプがタイプ00hの場合はベースアドレスレジスタ及びエクスパンションROMベースアドレスのサイズを確認するために、それらのレジスタにオールFを書き込んだ後、コンフィグレーションヘッダ(オフセット00h−3Fh)を読み出す。
【0003】
また、ヘッダタイプ確認時に、そのPCIデバイスがマルチファンクションデバイスであった場合は、ファンクション0以外の全ファンクションナンバ(1−7)に関してもベンダIDを読み出して存在の有無を確認し、存在するファンクションの場合は、先のファンクション0が存在した場合と同様の処理を行う。更に、前記初期化プログラムは、ホスト−PCIバスブリッジに対してシーケンシャルに実施する。
【0004】
【発明が解決しようとする課題】
しかるに、上記の一つ以上のホスト−PCIバスブリッジを用いて一つ以上のPCIバスをホストバス直下に接続する従来の情報処理装置の第一の問題は、PCIスロットに実装されるオプションPCIデバイスに関して、そのデバイスがマルチファンクションデバイスで、かつ、ファンクション数が少ない場合には、初期化プログラムが無駄な時間を費やすということである。
【0005】
その理由は、マルチファンクションデバイスの場合は、たとえそのデバイスが持っているファンクションが2つであったとしても、すべてのファンクション(0−7)について存在の有無を確認するために初期化プログラムがベンダIDを読み出さなければならないからである。
【0006】
また、従来の情報処理装置の第二の問題は、ホスト-PCIバスブリッジが多いシステムになるほど、初期化プログラムがデバイス及びファンクションの存在を確認し、メモリ、I/O(入出力)のリソース量確認を含むタイプ00hのコンフィグレーションヘッダ読み出しに費やす処理時間が膨大になるということである。
【0007】
その理由は、ホスト−PCIバスブリッジが複数あるシステムでは、初期化プログラムが、それぞれのホスト−PCIバスブリッジ直下のPCIバスに対してデバイス及びファンクションの存在を確認し、メモリ、I/Oのリソース量確認のために全ベースアドレスレジスタ及びエクスパンションROMベースアドレスへのオールF書き込みを行い、タイプ00hのコンフィグレーションヘッダ読み出しを各ホスト-PCIバスブリッジ直下のPCIバスに対して行う動作をすべてシーケンシャルにしか実行できないためである。
【0008】
本発明は以上の点に鑑みなされたもので、マルチファンクションのPCIデバイスを使用した場合でも初期化処理時間の悪化を防止し得る情報処理装置を提供することを目的とする。
【0009】
また、本発明の他の目的は、ホスト-PCIバスブリッジが多いシステムにおいても初期化処理時間の悪化を防止し得る情報処理装置を提供することにある。
【0010】
【課題を解決するための手段】
本発明は上記の目的を達成するため、一つ以上のホスト−PCIバスブリッジとプロセッサとがホストバスを介して互いに接続されており、一つ以上のPCIスロットと、オンボードPCIデバイス及びPCI−ROM用バスブリッジがそれぞれ一つ以上のPCIバスを介してホスト−PCIバスブリッジに接続され、PCIスロットにはオプションPCIデバイスが接続可能とされ、オンボードPCIデバイス及びオプションPCIデバイス並びにホスト−PCIバスブリッジに対して構成状態を設定する初期化プログラムを格納した第1のメモリが、PCI−ROM用バスブリッジを介してPCIバスに接続された情報処理装置であって、
ホスト−PCIバスブリッジは、PCIデバイスに接続しているすべてのオンボードPCIデバイス及びPCIスロットに対応した有効なデバイスナンバを記憶している第2のメモリと、コンフィグレーションヘッダ情報を格納する第3のメモリと、初期化プログラムのコンフィグレーションヘッダ情報採取動作開始指示により、第2のメモリに格納されているすべてのデバイスナンバに対応するオンボードPCIデバイス及びオプションPCIデバイスでファンクションナンバ0のコンフィグレーションヘッダ情報を採取して第3のメモリに格納すると共に、コンフィグレーションヘッダ情報がマルチファンクションであるときは、更にすべてのファンクションについて存在の有無を確認し、存在するファンクションに関するコンフィグレーションヘッダ情報を採取して第3のメモリに格納するコンフィグデータ採取処理手段とを備えており、
第1のメモリに格納された初期化プログラムは、コンフィグデータ採取処理手段によるコンフィグレーションヘッダ情報採取動作開始指示後は、一旦別の処理を実行してからコンフィグデータ採取処理手段によるコンフィグレーションヘッダ情報の採取が完了したことの確認のためのビジーチェック要求を、ホスト−PCIバスブリッジに発行し、ビジーチェック要求に対してコンフィグレーションヘッダ情報の採取が完了したことを示すフリー応答がコンフィグデータ採取処理手段からあったときは、初期化プログラムは、第3のメモリに格納されているコンフィグレーションヘッダ情報を読み出すことにより入手したコンフィグレーションヘッダ情報に基づいて、オンボードPCIデバイス及びオプションPCIデバイスのリソース管理及び設定を行うことを特徴とする。
【0011】
この発明では、ホスト−PCIバスブリッジが自身直下のPCIバスに接続しているPCIデバイスがマルチファンクションデバイスであった場合は、すべてのファンクションに関して存在の有無を独自に確認し、存在するファンクションに関するコンフィグレーションヘッダ情報をそのホスト−PCIバスブリッジ内の第3のメモリに格納するようにしているため、初期化プログラムは、存在しているファンクション分だけの情報を第3のメモリから入手できる。また、初期化プログラムがメモリの構成設定等の他の処理を実行している間に、存在するファンクションに関するコンフィグレーションヘッダ情報をそのホスト−PCIバスブリッジ内の第3のメモリに格納することができる。
【0012】
ここで、上記の初期化プログラムは、電源投入時又はハードウェアリセット時に、ホストバス、ホスト−PCIバスブリッジ、PCIバス及びPCI−ROM用バスブリッジを経由して、プロセッサにより読み出されて実行されることを特徴とする。
【0020】
【発明の実施の形態】
次に、本発明の実施の形態について図面と共に詳細に説明する。図1は本発明になる情報処理装置の一実施の形態の構成図を示す。同図に示すように、この情報処理装置は、ホスト−PCIバスブリッジ1とプロセッサ2とがホストバス3を介して互いに接続されており、また、PCIスロット5a、5b、5cと、オンボードPCIデバイス7及びPCI−ROM用バスブリッジ8がそれぞれPCIバス4を介してホスト−PCIバスブリッジ1に接続された構成とされている。
【0021】
更に、PCIスロット5a及び5bには、オプションPCIデバイス6a及び6bが接続されており、PCI−ROMバスブリッジ8には、リード・オンリ・メモリ(ROM)9が接続されている。ROM9には初期化プログラム10が格納されている。
【0022】
上記のホスト−PCIバスブリッジ1は、ホストバスコントローラ11、PCIバスコントローラ12、有効デバイスナンバ用不揮発性メモリ13、コンフィグヘッダ情報格納メモリ14、コンフィグデータ採取コントローラ15及びコンフィグデータ採取処理ホスト通信コントローラ16より構成されている。
【0023】
図2は各PCIデバイス一つのファンクション毎に有するコンフィグレーションレジスタのコンフィグレーションヘッダの一例のフォーマットを示す。同図において、コンフィグレーションヘッダ20は、ベンダID(オフセット00h−01h)21、ヘッダタイプ(オフセット0Eh)22、ベースアドレスレジスタ(オフセット10h−24h)23及びエクスパンションROMベースアドレス(オフセット30h−33h)24を含んでいる。
【0024】
ただし、ベースアドレスレジスタ(オフセット10h−24h)23及びエクスパンションROMベースアドレス(オフセット30h−33h)24は、ヘッダタイプ(オフセット0Eh)22のビット0−6で示すヘッダタイプが00hのときの機能・名称を示しており、ヘッダタイプが00h以外のデバイスに関するベースアドレスレジスタ(オフセット10h−24h)23及びエクスパンションROMベースアドレス(オフセット30h−33h)24相当のレジスタの操作に関しては、データを読み出す以外の操作は本発明の範囲外である。
【0025】
次に、本実施の形態の動作について説明する。図1において、電源投入時又はハードウェアリセット時に、ホスト−PCIバスブリッジ1及びPCI−ROM用バスブリッジ8は、プロセッサ2がROM9に格納されている初期化プログラム10を、ホストバス3からホストバスコントローラ11、PCIバスコントローラ12、PCIバス4、PCI−ROM用バスブリッジ8を経由して読み出し可能な状態にリセットされるものとする。
【0026】
また、有効デバイスナンバ用不揮発性メモリ13には、ホスト−PCIバスブリッジ1配下のPCIバス4に接続しているすべてのPCIスロット5a〜5c及びオンボードPCIデバイス7に対応した有効なデバイスナンバが工場出荷時に図示しないシリアルバス等により予め登録されているものとする。なお、有効デバイスナンバ用不揮発性メモリ13内への具体的な登録手段に関しては、本発明の要旨とは関係ないので説明は省略する。
【0027】
電源投入時又はハードウェアリセット時に、プロセッサ2はROM9に格納されている初期化プログラム10を、ホストバス3からホストバスコントローラ11、PCIバスコントローラ12、PCIバス4、PCI−ROM用バスブリッジ8を経由して読み出す。
【0028】
続いて、初期化プログラム10は、ホスト−PCIバスブリッジ1に対して、そのホスト−PCIバスブリッジ1がPCIバス4にPCIスロット5a、5bを介して接続されているオプションPCIデバイス6a、6bと、オンボードPCIデバイス7のコンフィグレーションヘッダ情報の採取を開始させる旨を示すコンフィグデータ採取スタート指示を発行する。このコンフィグデータ採取スタート指示は、ホストバスコントローラ11を経由してコンフィグデータ採取処理ホスト通信コントローラ16に渡される。
【0029】
コンフィグデータ採取スタート指示を受けたコンフィグデータ採取処理ホスト通信コントローラ16は、コンフィグデータ採取コントローラ15に対して上記のスタート指示を行うと共に、採取処理がビジー状態である旨を初期化プログラム10からのビジーチェック要求に対してビジー応答する状態となる。
【0030】
上記のスタート指示を受けたコンフィグデータ採取コントローラ15は、有効デバイスナンバ用不揮発性メモリ13の記憶内容を読み出して、登録されている全デバイスナンバに対して、それぞれ処理対象デバイスナンバのファンクションナンバ0の図2に示すコンフィグレーションヘッダ20内に位置するベンダID(オフセット00h−01h)21を読み出し、そのベンダID21が有効な場合(FFFFh以外)はPCIバスコントローラ12を制御して、以下に示すコンフィグデータ採取処理を行わせる。
【0031】
上記の「コンフィグデータ採取処理」とは、PCIデバイスのコンフィグレーションヘッダ20内に位置するヘッダタイプ(オフセット0Eh)22を読み出し、ヘッダタイプ22のビット0−6がタイプ00h以外の場合は、そのままコンフィグレーションヘッダ(オフセット00h−3Fh)を読み出し、この情報を、またタイプ00hの場合は、そのPCIデバイスが持つI/O空間及びメモリ空間のサイズの入手も同時に行うために、コンフィグレーションヘッダ20内のすべてのベースアドレスレジスタ(オフセット10h−27h)23と、エクスパンションROMベースアドレス(オフセット30h−33h)24にオールFhのデータを書き込んだ後、コンフィグレーションヘッダ(オフセット00h−3Fh)20を読み出し、この情報(ベースアドレスレジスタ23、エクスパンションROMベースアドレス24に関してはどれだけ下位ビットに0が返るかでサイズの判断可能)を、対応するデバイスナンバ、ファンクションナンバと共にコンフィグヘッダ情報格納メモリ14に格納する一連の処理を意味することとする。なお、ベンダID21が無効の場合は、それ以上のコンフィグレーションヘッダ20の読み出し及びコンフィグヘッダ情報格納メモリ14への格納は行わない。
【0032】
更に、ファンクションナンバ0のヘッダタイプ22がマルチファンクションのであった場合(ヘッダタイプ22のビット7=1のとき)は、そのデバイスナンバの0以外の全ファンクションナンバ(1−7)についても、すべてに渡って上記コンフィグデータ採取処理を行う。
【0033】
これらの処理によって、有効デバイスナンバ用不揮発性メモリ13に登録されている全デバイスナンバ及び対応するデバイスがマルチファンクションデバイスの場合は、全ファンクションナンバに関して有効なデバイスのコンフィグレーションヘッダ20の情報(ヘッダタイプのビット0−6が00hの場合はI/O空間、メモリ空間のサイズも含む)が、デバイスナンバ、ファンクションナンバと共にコンフィグヘッダ情報格納メモリ14内に格納される。
【0034】
コンフィグデータ採取コントローラ15は、有効デバイスナンバ用不揮発性メモリ13に登録されているすべてのデバイスに関する採取処理を完了した場合は、その旨の完了通知をコンフィグデータ採取処理ホスト通信コントローラ16に行う。コンフィグデータ採取処理ホスト通信コントローラ16は、コンフィグデータ採取コントローラ15からの上記の完了通知を受けた場合は、そのコンフィグデータ採取処理ホスト通信コントローラ16自身の採取処理がビジー状態としている内部状態をフリー状態として、それ以後初期化プログラム10からのビジーチェック要求に対してフリー応答を行う状態となる。
【0035】
初期化プログラム10は、ホスト−PCIバスブリッジ1に対してコンフィグデータ採取スタート指示を行った後、ホスト−PCIバスブリッジ1と同様な機能を持つ図示しない複数の他のブリッジがある場合は、それぞれのブリッジに対してコンフィグデータ採取スタート指示を行う。
【0036】
なお、上記のホスト−PCIバスブリッジ1と同様な機能を持つ図示しない複数の他のブリッジには、ホスト−PCIバスブリッジ1が有するとした、電源投入時又はハードウェアリセット時にROM9をPCIバス4、PCI−ROM用バスブリッジ8を経由して読み出し可能な状態にリセットされる機能はないものとし、更にこれら他のブリッジ直下のPCIバスには、PCI−ROM用バスブリッジ8相当のブリッジ及びROM9相当のデバイスは存在しないものとする。加えて、これら他のブリッジはそれぞれのPCIバスに接続しているPCIスロット、及びオンボードPCIデバイスに対応するデバイスナンバを、それぞれの有効デバイスナンバ用不揮発性メモリ内に登録されているものとする。
【0037】
次に、初期化プログラム10は、上記のコンフィグデータ採取スタート指示を行った後は、メモリ初期化等のPCIデバイスのコンフィグヘッダ情報採取動作とは別の処理を一旦実施する。その後、初期化プログラム10は、ホスト−PCIバスブリッジ1に対してビジーチェック要求を発行する。そして、ビジーチェック要求がビジー状態からフリー状態に移行するまで確認を続ける。この場合、上記のホスト−PCIバスブリッジ1と同様な機能を持つ図示しない複数の他のブリッジに対しても、コンフィグデータ採取スタート指示を行っていた場合は、それらのブリッジに対してもビジーチェック要求を発行し、それぞれのフリー状態への移行を確認する。
【0038】
初期化プログラム10が、ホスト−PCIバスブリッジ1のフリー状態を確認した場合は、その初期化プログラム10は、ホストバスコントローラ11経由でコンフィグデータ採取処理ホスト通信コントローラ16にコンフィグヘッダ情報読み出し指示を行う。
【0039】
このコンフィグヘッダ情報読み出し指示を受けた、コンフィグデータ採取処理ホスト通信コントローラ16は、コンフィグヘッダ情報格納メモリ14内に格納されている全コンフィグレーションヘッダ20の情報及び対応するデバイスナンバ、ファンクションナンバ情報を読み出し、初期化プログラム10に渡す。
【0040】
初期化プログラム10は、上記のコンフィグヘッダ情報読み出し指示により入手した、全コンフィグレーションヘッダ20の情報及び対応するデバイスナンバ、ファンクションナンバ情報を用いて、それぞれのオンボードPCIデバイス7及びオプションPCIデバイス6a、6bに関するリソース管理を行うと共に、それらのPCIデバイス7、6a、6bの設定(コンフィグレーション)を行う。このとき、コンフィグレーションヘッダ20のヘッダタイプ22のビット0−6が00hのデバイスに関してはベースアドレスレジスタ23とエクスパンションROMベースアドレス24に対応するデータを確認すれば、それらのリソースのサイズを確認することができる。
【0041】
ただし、コンフィグレーションヘッダ20のヘッダタイプ22のビット0−6が01hのPCI−PCIブリッジに関しては、PCI−PCIブリッジ配下のPCIデバイスに関するリソース情報を、初期化プログラム10自身によってPCI−PCIブリッジを制御して入手する必要がある。
【0042】
また、上記のホスト−PCIバスブリッジ1と同様な機能を持つ図示しない複数の他のブリッジがある場合は、これら他のブリッジに対してもコンフィグデータ採取スタート指示及びフリー状態の確認を行い、同様に、それぞれのブリッジに対してコンフィグヘッダ情報読み出し指示を行い、コンフィグレーションヘッダの情報及び対応するデバイスナンバ、ファンクションナンバ情報を入手し、それぞれの他のブリッジに接続しているPCIバス上のPCIデバイスのリソース管理及び設定(コンフィグレーション)を行う。
【0043】
このように、本実施の形態によれば、初期化プログラム10がメモリの構成設定等の他の処理を実行している間に、ホスト−PCIバスブリッジ1が独自に自身直下のPCIバス4に接続しているPCIデバイス存在の有無を確認し、存在している場合は、そのPCIデバイスがマルチファンクションデバイスであった場合は、すべてのファンクションに関しても存在の有無を確認し、存在するファンクションに関するタイプ00hのコンフィグレーションヘッダ情報をそのホスト−PCIバスブリッジ1内のメモリ14に格納するようにしているため、初期化プログラム10は、存在しているファンクション分だけの情報をメモリ14から入手すればよい。このことから、マルチファンクションのPCIデバイスを使用した場合でも、初期化処理時間の悪化を防ぐことができる。
【0044】
また、本実施の形態では、ホスト−PCIバスブリッジが複数あるシステムにおいても、初期化プログラム10がメモリの構成設定等の他の処理を実行している間に、それぞれのホスト−PCIバスブリッジが独自に自身直下のPCIバス4に接続しているPCIデバイスのすべてのファンクションに関して存在の有無をそれぞれ確認し、存在するファンクションに関するタイプ00hのコンフィグレーションヘッダ情報をそのホスト−PCIバスブリッジ内のメモリにそれぞれ格納するようにしているため、そのタイプ00hのコンフィグレーションヘッダ情報を収集するまでの動作を並行して実施することができ、初期化プログラムは、存在しているファンクション分だけの情報をメモリ14から入手すればよい。
【0045】
【発明の効果】
以上説明したように、本発明によれば、マルチファンクションのPCIデバイスを使用した場合でも、初期化処理時間の悪化を防止できる。その理由は、初期化プログラムがメモリの構成設定等の他の処理を実行している間に、ホスト−PCIバスブリッジが自身直下のPCIバスに接続しているPCIデバイスがマルチファンクションデバイスであった場合は、すべてのファンクションに関して存在の有無を独自に確認し、存在するファンクションに関するコンフィグレーションヘッダ情報をそのホスト−PCIバスブリッジ内のメモリに格納するようにしているため、初期化プログラムは、存在しているファンクション分だけの情報をメモリから入手すればよいからである。
【0046】
また、本発明によれば、ホスト−PCIバスブリッジが多いシステムにおいても、初期化処理時間の悪化を防止できる。その理由は、初期化プログラムがメモリの構成設定等の他の処理を実行中に、それぞれのホスト−PCIバスブリッジが、それぞれのブリッジ独自にそれらのブリッジ直下のPCIバスに接続しているPCIデバイスすべてのファンクションに関して存在の有無をチェックし、存在しているファンクションに関してはタイプ00hのコンフィグレーションヘッダ情報をそれぞれのブリッジの内部メモリに格納することにより、そのコンフィグレーションヘッダ情報を収集するまでの動作を並行して実施することができ、初期化プログラムは存在しているファンクション分だけの情報をその内部メモリから入手すればよいからである。
【図面の簡単な説明】
【図1】本発明の一実施の形態の構成図である。
【図2】コンフィグレーションレジスタのコンフィグレーションヘッダの一例のフォーマットを示す図である。
【符号の説明】
1 ホスト−PCIバスブリッジ
2 プロセッサ
3 ホストバス
4 PCIバス
5a、5b、5c PCIスロット
6a、6b オプションPCIデバイス
7 オンボードPCIデバイス
8 PCI−ROM用バスブリッジ
9 リード・オンリ・メモリ(ROM)
10 初期化プログラム
11 ホストバスコントローラ
12 PCIバスコントローラ
13 有効デバイスナンバ用不揮発性メモリ
14 コンフィグヘッダ情報格納メモリ
15 コンフィグデータ採取コントローラ
16 コンフィグデータ採取処理通信コントローラ
20 コンフィグレーションヘッダ
21 ベンダID
22 ヘッダタイプ
23 ベースアドレスレジスタ
24 エクスパンションROMベースアドレス[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing apparatus, and more particularly to an information processing apparatus that connects one or more PCI buses directly under a host bus using one or more host-PCI bus bridges.
[0002]
[Prior art]
Conventionally, in an information processing apparatus that connects one or more PCI buses directly under the host bus using one or more host-PCI (peripheral component interconnect) bus bridges, an initialization program is used to set the bus device configuration. For the on-board PCI device connected to the PCI bus directly under the host-PCI bus bridge and the optional PCI device mounted in the PCI slot, the device number of the on-board PCI device of the PCI bus and all PCI slots After reading the Vender ID of
[0003]
When the header type is confirmed, if the PCI device is a multi-function device, the vendor ID is also read for all the function numbers (1-7) other than the
[0004]
[Problems to be solved by the invention]
However, the first problem of the conventional information processing apparatus that connects one or more PCI buses directly under the host bus using the one or more host-PCI bus bridges is an optional PCI device mounted in the PCI slot. With respect to the above, when the device is a multi-function device and the number of functions is small, the initialization program spends wasted time.
[0005]
The reason for this is that in the case of a multi-function device, even if the device has two functions, the initialization program is a vendor to check whether all functions (0-7) exist. This is because the ID must be read.
[0006]
The second problem with conventional information processing devices is that as the number of host-PCI bus bridges increases, the initialization program confirms the presence of devices and functions, and the amount of memory and I / O (input / output) resources. This means that the processing time spent for reading the
[0007]
The reason for this is that in a system with multiple host-PCI bus bridges, the initialization program checks the existence of devices and functions for the PCI buses directly under each host-PCI bus bridge, and the memory and I / O resources To confirm the amount, all F is written to all base address registers and expansion ROM base address, and the operation of reading the configuration header of
[0008]
The present invention has been made in view of the above points, and an object of the present invention is to provide an information processing apparatus that can prevent deterioration in initialization processing time even when a multifunction PCI device is used.
[0009]
Another object of the present invention is to provide an information processing apparatus capable of preventing deterioration in initialization processing time even in a system having many host-PCI bus bridges.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, the present invention has one or more host-PCI bus bridges and a processor connected to each other via a host bus, one or more PCI slots, an on-board PCI device, and a PCI- Each ROM bus bridge is connected to the host-PCI bus bridge via one or more PCI buses, and an optional PCI device can be connected to the PCI slot, and an on-board PCI device, an optional PCI device, and a host-PCI bus. An information processing apparatus in which a first memory storing an initialization program for setting a configuration state for a bridge is connected to a PCI bus via a PCI-ROM bus bridge ,
The host-PCI bus bridge has a second memory storing valid device numbers corresponding to all on-board PCI devices and PCI slots connected to the PCI device, and a third memory storing configuration header information. The configuration header of
The initialization program stored in the first memory executes a different process once after the configuration header information collection operation start instruction by the configuration data collection processing means, and then executes the process of the configuration header information by the configuration data collection processing means. A busy check request for confirming completion of collection is issued to the host-PCI bus bridge, and a free response indicating that collection of configuration header information is completed in response to the busy check request is a configuration data collection processing means. If there is, the initialization program manages the resources of the on-board PCI device and the optional PCI device based on the configuration header information obtained by reading the configuration header information stored in the third memory. And performing fine setting.
[0011]
In the present invention, when the PCI device connected to the PCI bus directly underneath the host-PCI bus bridge is a multi-function device, the presence / absence of all functions is independently confirmed, and the configuration related to the existing function is confirmed. Since the configuration header information is stored in the third memory in the host-PCI bus bridge, the initialization program can obtain information for the existing functions from the third memory. Further, while the initialization program is performing other processing such as memory configuration setting, configuration header information relating to existing functions can be stored in the third memory in the host-PCI bus bridge. .
[0012]
Here, the above initialization program is read and executed by the processor via the host bus, host-PCI bus bridge, PCI bus, and PCI-ROM bus bridge at power-on or hardware reset. It is characterized by that.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 shows a configuration diagram of an embodiment of an information processing apparatus according to the present invention. As shown in the figure, in this information processing apparatus, a host-
[0021]
Furthermore,
[0022]
The host-
[0023]
FIG. 2 shows an exemplary format of a configuration header of a configuration register for each function of each PCI device. In the figure, a
[0024]
However, the base address register (offset 10h-24h) 23 and the expansion ROM base address (offset 30h-33h) 24 are functions and names when the header type indicated by bits 0-6 of the header type (offset 0Eh) 22 is 00h. As for the operations of the base address register (offset 10h-24h) 23 and the expansion ROM base address (offset 30h-33h) 24 for devices other than the
[0025]
Next, the operation of the present embodiment will be described. In FIG. 1, at power-on or hardware reset, the host-
[0026]
The effective device number
[0027]
When the power is turned on or the hardware is reset, the
[0028]
Subsequently, the
[0029]
Upon receiving the configuration data collection start instruction, the configuration data collection processing
[0030]
Upon receiving the start instruction, the configuration
[0031]
The above “configuration data collection process” is to read the header type (offset 0Eh) 22 located in the
[0032]
Further, when the
[0033]
Through these processes, when all device numbers registered in the non-volatile memory for
[0034]
When the configuration
[0035]
After there are a plurality of other bridges (not shown) having the same function as the host-
[0036]
It should be noted that a plurality of other bridges (not shown) having the same functions as the host-
[0037]
Next, after issuing the above configuration data collection start instruction, the
[0038]
When the
[0039]
Upon receiving this configuration header information read instruction, the configuration data collection processing
[0040]
The
[0041]
However, for PCI-PCI bridges in which the
[0042]
If there are a plurality of other bridges (not shown) having the same function as the host-
[0043]
As described above, according to the present embodiment, the host-
[0044]
In the present embodiment, even in a system having a plurality of host-PCI bus bridges, each host-PCI bus bridge is connected while the
[0045]
【The invention's effect】
As described above, according to the present invention, even when a multi-function PCI device is used, deterioration of the initialization processing time can be prevented. The reason is that the PCI device connected to the PCI bus directly underneath by the host-PCI bus bridge is a multi-function device while the initialization program is performing other processing such as memory configuration. In this case, the presence or absence of all functions is independently confirmed, and the configuration header information related to the existing functions is stored in the memory in the host-PCI bus bridge. This is because it is only necessary to obtain information from the memory for the function that is currently being used.
[0046]
Further, according to the present invention, it is possible to prevent the initialization processing time from deteriorating even in a system having many host-PCI bus bridges. The reason is that each host-PCI bus bridge is connected to the PCI bus directly under the bridge while the initialization program is performing other processing such as memory configuration. All functions are checked for existence, and for existing functions, configuration header information of
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an embodiment of the present invention.
FIG. 2 is a diagram illustrating an exemplary format of a configuration header of a configuration register.
[Explanation of symbols]
1 Host-
10
22
Claims (3)
前記ホスト−PCIバスブリッジは、
前記PCIデバイスに接続しているすべての前記オンボードPCIデバイス及びPCIスロットに対応した有効なデバイスナンバを記憶している第2のメモリと、
コンフィグレーションヘッダ情報を格納する第3のメモリと、
前記初期化プログラムのコンフィグレーションヘッダ情報採取動作開始指示により、前記第2のメモリに格納されているすべてのデバイスナンバに対応する前記オンボードPCIデバイス及びオプションPCIデバイスでファンクションナンバ0のコンフィグレーションヘッダ情報を採取して前記第3のメモリに格納すると共に、前記コンフィグレーションヘッダ情報がマルチファンクションであるときは、更にすべてのファンクションについて存在の有無を確認し、存在するファンクションに関する前記コンフィグレーションヘッダ情報を採取して前記第3のメモリに格納するコンフィグデータ採取処理手段とを備えており、
前記第1のメモリに格納された前記初期化プログラムは、前記コンフィグデータ採取処理手段によるコンフィグレーションヘッダ情報採取動作開始指示後は、一旦別の処理を実行してから前記コンフィグデータ採取処理手段によるコンフィグレーションヘッダ情報の採取が完了したことの確認のためのビジーチェック要求を、前記ホスト−PCIバスブリッジに発行し、前記ビジーチェック要求に対して前記コンフィグレーションヘッダ情報の採取が完了したことを示すフリー応答が前記コンフィグデータ採取処理手段からあったときは、該初期化プログラムは、前記第3のメモリに格納されている前記コンフィグレーションヘッダ情報を読み出すことにより入手した該コンフィグレーションヘッダ情報に基づいて、前記オンボードPCIデバイス及びオプションPCIデバイスのリソース管理及び設定を行うことを特徴とする情報処理装置。One or more host-PCI bus bridges and a processor are connected to each other via a host bus, and one or more PCI slots, an on-board PCI device and a PCI-ROM bus bridge each have one or more PCIs. The PCI slot is connected to the host-PCI bus bridge, and an optional PCI device can be connected to the PCI slot. The on-board PCI device, the optional PCI device, and the host-PCI bus bridge are configured. A first memory storing an initialization program to be set is an information processing apparatus connected to the PCI bus via the PCI-ROM bus bridge ;
The host-PCI bus bridge is
A second memory storing valid device numbers corresponding to all the on-board PCI devices and PCI slots connected to the PCI device;
A third memory for storing configuration header information;
Configuration header information of function number 0 in the on-board PCI device and optional PCI device corresponding to all device numbers stored in the second memory in response to an instruction to start configuration header information collection of the initialization program Is collected and stored in the third memory, and when the configuration header information is multi-function, the presence or absence of all functions is further confirmed, and the configuration header information related to the existing functions is collected. And a configuration data collection processing means for storing in the third memory ,
The initialization program stored in the first memory executes another process once after the configuration header information collection operation start instruction by the configuration data collection processing means, and then executes a configuration process by the configuration data collection processing means. A busy check request for confirming that the collection of configuration header information has been completed is issued to the host-PCI bus bridge, and a free check indicating that the collection of the configuration header information has been completed in response to the busy check request When there is a response from the configuration data collection processing means, the initialization program, based on the configuration header information obtained by reading the configuration header information stored in the third memory, The on-board PCI device The information processing apparatus and performs resource management and configuration of the chair and optional PCI device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000172970A JP3698959B2 (en) | 2000-06-09 | 2000-06-09 | Information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000172970A JP3698959B2 (en) | 2000-06-09 | 2000-06-09 | Information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001350710A JP2001350710A (en) | 2001-12-21 |
JP3698959B2 true JP3698959B2 (en) | 2005-09-21 |
Family
ID=18675279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000172970A Expired - Lifetime JP3698959B2 (en) | 2000-06-09 | 2000-06-09 | Information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3698959B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709379A (en) * | 2015-11-16 | 2017-05-24 | 宇瞻科技股份有限公司 | PCIe network bridge conversion apparatus and method |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006155321A (en) * | 2004-11-30 | 2006-06-15 | Toshiba Corp | Bus connection device |
JP4831317B2 (en) * | 2006-02-24 | 2011-12-07 | 日本電気株式会社 | ACPI machine language table description method and apparatus in PCI multistage bridge configuration computer and program thereof |
JP4799222B2 (en) * | 2006-03-07 | 2011-10-26 | 株式会社ソニー・コンピュータエンタテインメント | Information processing apparatus, information processing system, and initialization method |
JP4839484B2 (en) | 2007-04-06 | 2011-12-21 | 日本電気株式会社 | Bus connection device, bus connection method, and bus connection program |
JP5374268B2 (en) * | 2009-07-28 | 2013-12-25 | ラピスセミコンダクタ株式会社 | Information processing device |
-
2000
- 2000-06-09 JP JP2000172970A patent/JP3698959B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709379A (en) * | 2015-11-16 | 2017-05-24 | 宇瞻科技股份有限公司 | PCIe network bridge conversion apparatus and method |
Also Published As
Publication number | Publication date |
---|---|
JP2001350710A (en) | 2001-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4810349B2 (en) | I / O apparatus and method | |
EP2257880B1 (en) | System and method for transforming pcie sr-iov functions to appear as legacy functions | |
US10126954B1 (en) | Chipset and server system using the same | |
US7890812B2 (en) | Computer system which controls closing of bus | |
US20040093454A1 (en) | USB endpoint controller flexible memory management | |
JP4799222B2 (en) | Information processing apparatus, information processing system, and initialization method | |
GB2257538A (en) | Air conditioning control. | |
TW200915087A (en) | Bridge device with page-access based processor interface | |
CN102918515A (en) | Storing data in any of a plurality of buffers in a memory controller | |
CN107770299A (en) | A kind of MAC Address writes with a brush dipped in Chinese ink method, system, device and storage medium | |
JP3698959B2 (en) | Information processing device | |
US6687763B2 (en) | ATAPI command receiving method | |
JP2002323988A (en) | Method and system for processing remote interrupt signal, and network interface system | |
US7287104B2 (en) | Interface circuit for card-type memory, ASIC including interface circuit, and image forming apparatus including ASIC | |
JPH11232213A (en) | Data transfer system for input/output device | |
JPH0855097A (en) | Data processing system and its memory access method | |
KR100615694B1 (en) | Control system for controlling plural function block | |
JP5528001B2 (en) | Information processing apparatus and information processing method | |
US7430687B2 (en) | Building-up of multi-processor of computer nodes | |
JP2006011926A (en) | Serial data transfer system, serial data transfer device, serial data transfer method and image forming apparatus | |
JPH1027097A (en) | Method and device for rewriting data of flash rom | |
JP2006285872A (en) | Multi-cpu system | |
JP4106964B2 (en) | Address assignment apparatus and method | |
JP2003280998A (en) | Device and method for testing internal bus | |
CN117743212B (en) | PCIe IP card verification method and system for PCIe device with multiple physical functions based on FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040805 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050113 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050614 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050706 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090715 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100715 Year of fee payment: 5 |