(57)【特許請求の範囲】
【請求項１】
一つ以上のホスト−ＰＣＩバスブリッジとプロセッサとがホストバスを介して互いに接続されており、一つ以上のＰＣＩスロットと、オンボードＰＣＩデバイス及びＰＣＩ−ＲＯＭ用バスブリッジがそれぞれ一つ以上のＰＣＩバスを介して前記ホスト−ＰＣＩバスブリッジに接続され、前記ＰＣＩスロットにはオプションＰＣＩデバイスが接続可能とされ、前記オンボードＰＣＩデバイス及びオプションＰＣＩデバイス並びに前記ホスト−ＰＣＩバスブリッジに対して構成状態を設定する初期化プログラムを格納した第１のメモリが、前記ＰＣＩ−ＲＯＭ用バスブリッジを介して前記ＰＣＩバスに接続された情報処理装置であって、
前記ホスト−ＰＣＩバスブリッジは、
前記ＰＣＩデバイスに接続しているすべての前記オンボードＰＣＩデバイス及びＰＣＩスロットに対応した有効なデバイスナンバを記憶している第２のメモリと、
コンフィグレーションヘッダ情報を格納する第３のメモリと、
前記初期化プログラムのコンフィグレーションヘッダ情報採取動作開始指示により、前記第２のメモリに格納されているすべてのデバイスナンバに対応する前記オンボードＰＣＩデバイス及びオプションＰＣＩデバイスでファンクションナンバ０のコンフィグレーションヘッダ情報を採取して前記第３のメモリに格納すると共に、前記コンフィグレーションヘッダ情報がマルチファンクションであるときは、更にすべてのファンクションについて存在の有無を確認し、存在するファンクションに関する前記コンフィグレーションヘッダ情報を採取して前記第３のメモリに格納するコンフィグデータ採取処理手段とを備えており、
前記第１のメモリに格納された前記初期化プログラムは、前記コンフィグデータ採取処理手段によるコンフィグレーションヘッダ情報採取動作開始指示後は、一旦別の処理を実行してから前記コンフィグデータ採取処理手段によるコンフィグレーションヘッダ情報の採取が完了したことの確認のためのビジーチェック要求を、前記ホスト−ＰＣＩバスブリッジに発行し、前記ビジーチェック要求に対して前記コンフィグレーションヘッダ情報の採取が完了したことを示すフリー応答が前記コンフィグデータ採取処理手段からあったときは、該初期化プログラムは、前記第３のメモリに格納されている前記コンフィグレーションヘッダ情報を読み出すことにより入手した該コンフィグレーションヘッダ情報に基づいて、前記オンボードＰＣＩデバイス及びオプションＰＣＩデバイスのリソース管理及び設定を行うことを特徴とする情報処理装置。
【請求項２】
前記初期化プログラムは、電源投入時又はハードウェアリセット時に、前記ホストバス、前記ホスト−ＰＣＩバスブリッジ、前記ＰＣＩバス及び前記ＰＣＩ−ＲＯＭ用バスブリッジを経由して、前記プロセッサにより読み出されて実行されることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記コンフィグデータ採取処理手段は、前記初期化プログラムのコンフィグレーションヘッダ情報採取動作開始指示を受けて前記第２のメモリの読み出し動作を行う読み出し手段と、前記読み出し手段により読み出された前記第２のメモリからのデバイスナンバに対応する前記オンボードＰＣＩデバイス及びオプションＰＣＩデバイスでファンクションナンバ０のコンフィグレーションヘッダ情報が有効であるかどうか該第２のメモリに格納されているすべてのデバイスナンバについて判断する判断手段と、有効であるときには該コンフィグレーションヘッダ情報に対応するＰＣＩデバイスがマルチファンクションデバイスのときには、すべてのファンクションに関しても存在の有無を確認し、存在するファンクションに関するコンフィグレーションヘッダ情報を前記第３のメモリに格納する格納手段とを有することを特徴とする請求項１記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置に係り、特に一つ以上のホスト−ＰＣＩバスブリッジを用いて一つ以上のＰＣＩバスをホストバス直下に接続する情報処理装置に関する。
【０００２】
【従来の技術】
従来より、一つ以上のホスト−ＰＣＩ(peripheral component interconnect)バスブリッジを用いて一つ以上のＰＣＩバスをホストバス直下に接続する情報処理装置において、バス・デバイス構成設定を行うに際し、初期化プログラムがホスト-ＰＣＩバスブリッジ直下のＰＣＩバスに接続しているオンボードＰＣＩデバイス及びＰＣＩスロット(slot)に実装されるオプションＰＣＩデバイスに関して、該ＰＣＩバスのオンボードＰＣＩデバイス及び全ＰＣＩスロットのデバイスナンバでファンクション０のベンダ(Vender)ＩＤを読み出し、ＰＣＩデバイス存在の有無を確認後、存在している場合はヘッダタイプを確認し、そのヘッダタイプがタイプ００ｈの場合はベースアドレスレジスタ及びエクスパンションＲＯＭベースアドレスのサイズを確認するために、それらのレジスタにオールＦを書き込んだ後、コンフィグレーションヘッダ（オフセット００ｈ−３Ｆｈ）を読み出す。
【０００３】
また、ヘッダタイプ確認時に、そのＰＣＩデバイスがマルチファンクションデバイスであった場合は、ファンクション０以外の全ファンクションナンバ（１−７）に関してもベンダＩＤを読み出して存在の有無を確認し、存在するファンクションの場合は、先のファンクション０が存在した場合と同様の処理を行う。更に、前記初期化プログラムは、ホスト−ＰＣＩバスブリッジに対してシーケンシャルに実施する。
【０００４】
【発明が解決しようとする課題】
しかるに、上記の一つ以上のホスト−ＰＣＩバスブリッジを用いて一つ以上のＰＣＩバスをホストバス直下に接続する従来の情報処理装置の第一の問題は、ＰＣＩスロットに実装されるオプションＰＣＩデバイスに関して、そのデバイスがマルチファンクションデバイスで、かつ、ファンクション数が少ない場合には、初期化プログラムが無駄な時間を費やすということである。
【０００５】
その理由は、マルチファンクションデバイスの場合は、たとえそのデバイスが持っているファンクションが２つであったとしても、すべてのファンクション（０−７）について存在の有無を確認するために初期化プログラムがベンダＩＤを読み出さなければならないからである。
【０００６】
また、従来の情報処理装置の第二の問題は、ホスト-ＰＣＩバスブリッジが多いシステムになるほど、初期化プログラムがデバイス及びファンクションの存在を確認し、メモリ、Ｉ／Ｏ（入出力）のリソース量確認を含むタイプ００ｈのコンフィグレーションヘッダ読み出しに費やす処理時間が膨大になるということである。
【０００７】
その理由は、ホスト−ＰＣＩバスブリッジが複数あるシステムでは、初期化プログラムが、それぞれのホスト−ＰＣＩバスブリッジ直下のＰＣＩバスに対してデバイス及びファンクションの存在を確認し、メモリ、Ｉ／Ｏのリソース量確認のために全ベースアドレスレジスタ及びエクスパンションＲＯＭベースアドレスへのオールＦ書き込みを行い、タイプ００ｈのコンフィグレーションヘッダ読み出しを各ホスト-ＰＣＩバスブリッジ直下のＰＣＩバスに対して行う動作をすべてシーケンシャルにしか実行できないためである。
【０００８】
本発明は以上の点に鑑みなされたもので、マルチファンクションのＰＣＩデバイスを使用した場合でも初期化処理時間の悪化を防止し得る情報処理装置を提供することを目的とする。
【０００９】
また、本発明の他の目的は、ホスト-ＰＣＩバスブリッジが多いシステムにおいても初期化処理時間の悪化を防止し得る情報処理装置を提供することにある。
【００１０】
【課題を解決するための手段】
本発明は上記の目的を達成するため、一つ以上のホスト−ＰＣＩバスブリッジとプロセッサとがホストバスを介して互いに接続されており、一つ以上のＰＣＩスロットと、オンボードＰＣＩデバイス及びＰＣＩ−ＲＯＭ用バスブリッジがそれぞれ一つ以上のＰＣＩバスを介してホスト−ＰＣＩバスブリッジに接続され、ＰＣＩスロットにはオプションＰＣＩデバイスが接続可能とされ、オンボードＰＣＩデバイス及びオプションＰＣＩデバイス並びにホスト−ＰＣＩバスブリッジに対して構成状態を設定する初期化プログラムを格納した第１のメモリが、ＰＣＩ−ＲＯＭ用バスブリッジを介してＰＣＩバスに接続された情報処理装置であって、
ホスト−ＰＣＩバスブリッジは、ＰＣＩデバイスに接続しているすべてのオンボードＰＣＩデバイス及びＰＣＩスロットに対応した有効なデバイスナンバを記憶している第２のメモリと、コンフィグレーションヘッダ情報を格納する第３のメモリと、初期化プログラムのコンフィグレーションヘッダ情報採取動作開始指示により、第２のメモリに格納されているすべてのデバイスナンバに対応するオンボードＰＣＩデバイス及びオプションＰＣＩデバイスでファンクションナンバ０のコンフィグレーションヘッダ情報を採取して第３のメモリに格納すると共に、コンフィグレーションヘッダ情報がマルチファンクションであるときは、更にすべてのファンクションについて存在の有無を確認し、存在するファンクションに関するコンフィグレーションヘッダ情報を採取して第３のメモリに格納するコンフィグデータ採取処理手段とを備えており、
第１のメモリに格納された初期化プログラムは、コンフィグデータ採取処理手段によるコンフィグレーションヘッダ情報採取動作開始指示後は、一旦別の処理を実行してからコンフィグデータ採取処理手段によるコンフィグレーションヘッダ情報の採取が完了したことの確認のためのビジーチェック要求を、ホスト−ＰＣＩバスブリッジに発行し、ビジーチェック要求に対してコンフィグレーションヘッダ情報の採取が完了したことを示すフリー応答がコンフィグデータ採取処理手段からあったときは、初期化プログラムは、第３のメモリに格納されているコンフィグレーションヘッダ情報を読み出すことにより入手したコンフィグレーションヘッダ情報に基づいて、オンボードＰＣＩデバイス及びオプションＰＣＩデバイスのリソース管理及び設定を行うことを特徴とする。
【００１１】
この発明では、ホスト−ＰＣＩバスブリッジが自身直下のＰＣＩバスに接続しているＰＣＩデバイスがマルチファンクションデバイスであった場合は、すべてのファンクションに関して存在の有無を独自に確認し、存在するファンクションに関するコンフィグレーションヘッダ情報をそのホスト−ＰＣＩバスブリッジ内の第３のメモリに格納するようにしているため、初期化プログラムは、存在しているファンクション分だけの情報を第３のメモリから入手できる。また、初期化プログラムがメモリの構成設定等の他の処理を実行している間に、存在するファンクションに関するコンフィグレーションヘッダ情報をそのホスト−ＰＣＩバスブリッジ内の第３のメモリに格納することができる。
【００１２】
ここで、上記の初期化プログラムは、電源投入時又はハードウェアリセット時に、ホストバス、ホスト−ＰＣＩバスブリッジ、ＰＣＩバス及びＰＣＩ−ＲＯＭ用バスブリッジを経由して、プロセッサにより読み出されて実行されることを特徴とする。
【００２０】
【発明の実施の形態】
次に、本発明の実施の形態について図面と共に詳細に説明する。図１は本発明になる情報処理装置の一実施の形態の構成図を示す。同図に示すように、この情報処理装置は、ホスト−ＰＣＩバスブリッジ１とプロセッサ２とがホストバス３を介して互いに接続されており、また、ＰＣＩスロット５ａ、５ｂ、５ｃと、オンボードＰＣＩデバイス７及びＰＣＩ−ＲＯＭ用バスブリッジ８がそれぞれＰＣＩバス４を介してホスト−ＰＣＩバスブリッジ１に接続された構成とされている。
【００２１】
更に、ＰＣＩスロット５ａ及び５ｂには、オプションＰＣＩデバイス６ａ及び６ｂが接続されており、ＰＣＩ−ＲＯＭバスブリッジ８には、リード・オンリ・メモリ（ＲＯＭ）９が接続されている。ＲＯＭ９には初期化プログラム１０が格納されている。
【００２２】
上記のホスト−ＰＣＩバスブリッジ１は、ホストバスコントローラ１１、ＰＣＩバスコントローラ１２、有効デバイスナンバ用不揮発性メモリ１３、コンフィグヘッダ情報格納メモリ１４、コンフィグデータ採取コントローラ１５及びコンフィグデータ採取処理ホスト通信コントローラ１６より構成されている。
【００２３】
図２は各ＰＣＩデバイス一つのファンクション毎に有するコンフィグレーションレジスタのコンフィグレーションヘッダの一例のフォーマットを示す。同図において、コンフィグレーションヘッダ２０は、ベンダＩＤ（オフセット００ｈ−０１ｈ）２１、ヘッダタイプ（オフセット０Ｅｈ）２２、ベースアドレスレジスタ（オフセット１０ｈ−２４ｈ）２３及びエクスパンションＲＯＭベースアドレス（オフセット３０ｈ−３３ｈ）２４を含んでいる。
【００２４】
ただし、ベースアドレスレジスタ（オフセット１０ｈ−２４ｈ）２３及びエクスパンションＲＯＭベースアドレス（オフセット３０ｈ−３３ｈ）２４は、ヘッダタイプ（オフセット０Ｅｈ）２２のビット０−６で示すヘッダタイプが００ｈのときの機能・名称を示しており、ヘッダタイプが００ｈ以外のデバイスに関するベースアドレスレジスタ（オフセット１０ｈ−２４ｈ）２３及びエクスパンションＲＯＭベースアドレス（オフセット３０ｈ−３３ｈ）２４相当のレジスタの操作に関しては、データを読み出す以外の操作は本発明の範囲外である。
【００２５】
次に、本実施の形態の動作について説明する。図１において、電源投入時又はハードウェアリセット時に、ホスト−ＰＣＩバスブリッジ１及びＰＣＩ−ＲＯＭ用バスブリッジ８は、プロセッサ２がＲＯＭ９に格納されている初期化プログラム１０を、ホストバス３からホストバスコントローラ１１、ＰＣＩバスコントローラ１２、ＰＣＩバス４、ＰＣＩ−ＲＯＭ用バスブリッジ８を経由して読み出し可能な状態にリセットされるものとする。
【００２６】
また、有効デバイスナンバ用不揮発性メモリ１３には、ホスト−ＰＣＩバスブリッジ１配下のＰＣＩバス４に接続しているすべてのＰＣＩスロット５ａ〜５ｃ及びオンボードＰＣＩデバイス７に対応した有効なデバイスナンバが工場出荷時に図示しないシリアルバス等により予め登録されているものとする。なお、有効デバイスナンバ用不揮発性メモリ１３内への具体的な登録手段に関しては、本発明の要旨とは関係ないので説明は省略する。
【００２７】
電源投入時又はハードウェアリセット時に、プロセッサ２はＲＯＭ９に格納されている初期化プログラム１０を、ホストバス３からホストバスコントローラ１１、ＰＣＩバスコントローラ１２、ＰＣＩバス４、ＰＣＩ−ＲＯＭ用バスブリッジ８を経由して読み出す。
【００２８】
続いて、初期化プログラム１０は、ホスト−ＰＣＩバスブリッジ１に対して、そのホスト−ＰＣＩバスブリッジ１がＰＣＩバス４にＰＣＩスロット５ａ、５ｂを介して接続されているオプションＰＣＩデバイス６ａ、６ｂと、オンボードＰＣＩデバイス７のコンフィグレーションヘッダ情報の採取を開始させる旨を示すコンフィグデータ採取スタート指示を発行する。このコンフィグデータ採取スタート指示は、ホストバスコントローラ１１を経由してコンフィグデータ採取処理ホスト通信コントローラ１６に渡される。
【００２９】
コンフィグデータ採取スタート指示を受けたコンフィグデータ採取処理ホスト通信コントローラ１６は、コンフィグデータ採取コントローラ１５に対して上記のスタート指示を行うと共に、採取処理がビジー状態である旨を初期化プログラム１０からのビジーチェック要求に対してビジー応答する状態となる。
【００３０】
上記のスタート指示を受けたコンフィグデータ採取コントローラ１５は、有効デバイスナンバ用不揮発性メモリ１３の記憶内容を読み出して、登録されている全デバイスナンバに対して、それぞれ処理対象デバイスナンバのファンクションナンバ０の図２に示すコンフィグレーションヘッダ２０内に位置するベンダＩＤ（オフセット００ｈ−０１ｈ）２１を読み出し、そのベンダＩＤ２１が有効な場合（ＦＦＦＦｈ以外）はＰＣＩバスコントローラ１２を制御して、以下に示すコンフィグデータ採取処理を行わせる。
【００３１】
上記の「コンフィグデータ採取処理」とは、ＰＣＩデバイスのコンフィグレーションヘッダ２０内に位置するヘッダタイプ（オフセット０Ｅｈ）２２を読み出し、ヘッダタイプ２２のビット０−６がタイプ００ｈ以外の場合は、そのままコンフィグレーションヘッダ（オフセット００ｈ−３Ｆｈ）を読み出し、この情報を、またタイプ００ｈの場合は、そのＰＣＩデバイスが持つＩ／Ｏ空間及びメモリ空間のサイズの入手も同時に行うために、コンフィグレーションヘッダ２０内のすべてのベースアドレスレジスタ（オフセット１０ｈ−２７ｈ）２３と、エクスパンションＲＯＭベースアドレス（オフセット３０ｈ−３３ｈ）２４にオールＦｈのデータを書き込んだ後、コンフィグレーションヘッダ（オフセット００ｈ−３Ｆｈ）２０を読み出し、この情報（ベースアドレスレジスタ２３、エクスパンションＲＯＭベースアドレス２４に関してはどれだけ下位ビットに０が返るかでサイズの判断可能）を、対応するデバイスナンバ、ファンクションナンバと共にコンフィグヘッダ情報格納メモリ１４に格納する一連の処理を意味することとする。なお、ベンダＩＤ２１が無効の場合は、それ以上のコンフィグレーションヘッダ２０の読み出し及びコンフィグヘッダ情報格納メモリ１４への格納は行わない。
【００３２】
更に、ファンクションナンバ０のヘッダタイプ２２がマルチファンクションのであった場合（ヘッダタイプ２２のビット７＝１のとき）は、そのデバイスナンバの０以外の全ファンクションナンバ（１−７）についても、すべてに渡って上記コンフィグデータ採取処理を行う。
【００３３】
これらの処理によって、有効デバイスナンバ用不揮発性メモリ１３に登録されている全デバイスナンバ及び対応するデバイスがマルチファンクションデバイスの場合は、全ファンクションナンバに関して有効なデバイスのコンフィグレーションヘッダ２０の情報（ヘッダタイプのビット０−６が００ｈの場合はＩ／Ｏ空間、メモリ空間のサイズも含む）が、デバイスナンバ、ファンクションナンバと共にコンフィグヘッダ情報格納メモリ１４内に格納される。
【００３４】
コンフィグデータ採取コントローラ１５は、有効デバイスナンバ用不揮発性メモリ１３に登録されているすべてのデバイスに関する採取処理を完了した場合は、その旨の完了通知をコンフィグデータ採取処理ホスト通信コントローラ１６に行う。コンフィグデータ採取処理ホスト通信コントローラ１６は、コンフィグデータ採取コントローラ１５からの上記の完了通知を受けた場合は、そのコンフィグデータ採取処理ホスト通信コントローラ１６自身の採取処理がビジー状態としている内部状態をフリー状態として、それ以後初期化プログラム１０からのビジーチェック要求に対してフリー応答を行う状態となる。
【００３５】
初期化プログラム１０は、ホスト−ＰＣＩバスブリッジ１に対してコンフィグデータ採取スタート指示を行った後、ホスト−ＰＣＩバスブリッジ１と同様な機能を持つ図示しない複数の他のブリッジがある場合は、それぞれのブリッジに対してコンフィグデータ採取スタート指示を行う。
【００３６】
なお、上記のホスト−ＰＣＩバスブリッジ１と同様な機能を持つ図示しない複数の他のブリッジには、ホスト−ＰＣＩバスブリッジ１が有するとした、電源投入時又はハードウェアリセット時にＲＯＭ９をＰＣＩバス４、ＰＣＩ−ＲＯＭ用バスブリッジ８を経由して読み出し可能な状態にリセットされる機能はないものとし、更にこれら他のブリッジ直下のＰＣＩバスには、ＰＣＩ−ＲＯＭ用バスブリッジ８相当のブリッジ及びＲＯＭ９相当のデバイスは存在しないものとする。加えて、これら他のブリッジはそれぞれのＰＣＩバスに接続しているＰＣＩスロット、及びオンボードＰＣＩデバイスに対応するデバイスナンバを、それぞれの有効デバイスナンバ用不揮発性メモリ内に登録されているものとする。
【００３７】
次に、初期化プログラム１０は、上記のコンフィグデータ採取スタート指示を行った後は、メモリ初期化等のＰＣＩデバイスのコンフィグヘッダ情報採取動作とは別の処理を一旦実施する。その後、初期化プログラム１０は、ホスト−ＰＣＩバスブリッジ１に対してビジーチェック要求を発行する。そして、ビジーチェック要求がビジー状態からフリー状態に移行するまで確認を続ける。この場合、上記のホスト−ＰＣＩバスブリッジ１と同様な機能を持つ図示しない複数の他のブリッジに対しても、コンフィグデータ採取スタート指示を行っていた場合は、それらのブリッジに対してもビジーチェック要求を発行し、それぞれのフリー状態への移行を確認する。
【００３８】
初期化プログラム１０が、ホスト−ＰＣＩバスブリッジ１のフリー状態を確認した場合は、その初期化プログラム１０は、ホストバスコントローラ１１経由でコンフィグデータ採取処理ホスト通信コントローラ１６にコンフィグヘッダ情報読み出し指示を行う。
【００３９】
このコンフィグヘッダ情報読み出し指示を受けた、コンフィグデータ採取処理ホスト通信コントローラ１６は、コンフィグヘッダ情報格納メモリ１４内に格納されている全コンフィグレーションヘッダ２０の情報及び対応するデバイスナンバ、ファンクションナンバ情報を読み出し、初期化プログラム１０に渡す。
【００４０】
初期化プログラム１０は、上記のコンフィグヘッダ情報読み出し指示により入手した、全コンフィグレーションヘッダ２０の情報及び対応するデバイスナンバ、ファンクションナンバ情報を用いて、それぞれのオンボードＰＣＩデバイス７及びオプションＰＣＩデバイス６ａ、６ｂに関するリソース管理を行うと共に、それらのＰＣＩデバイス７、６ａ、６ｂの設定（コンフィグレーション）を行う。このとき、コンフィグレーションヘッダ２０のヘッダタイプ２２のビット０−６が００ｈのデバイスに関してはベースアドレスレジスタ２３とエクスパンションＲＯＭベースアドレス２４に対応するデータを確認すれば、それらのリソースのサイズを確認することができる。
【００４１】
ただし、コンフィグレーションヘッダ２０のヘッダタイプ２２のビット０−６が０１ｈのＰＣＩ−ＰＣＩブリッジに関しては、ＰＣＩ−ＰＣＩブリッジ配下のＰＣＩデバイスに関するリソース情報を、初期化プログラム１０自身によってＰＣＩ−ＰＣＩブリッジを制御して入手する必要がある。
【００４２】
また、上記のホスト−ＰＣＩバスブリッジ１と同様な機能を持つ図示しない複数の他のブリッジがある場合は、これら他のブリッジに対してもコンフィグデータ採取スタート指示及びフリー状態の確認を行い、同様に、それぞれのブリッジに対してコンフィグヘッダ情報読み出し指示を行い、コンフィグレーションヘッダの情報及び対応するデバイスナンバ、ファンクションナンバ情報を入手し、それぞれの他のブリッジに接続しているＰＣＩバス上のＰＣＩデバイスのリソース管理及び設定（コンフィグレーション）を行う。
【００４３】
このように、本実施の形態によれば、初期化プログラム１０がメモリの構成設定等の他の処理を実行している間に、ホスト−ＰＣＩバスブリッジ１が独自に自身直下のＰＣＩバス４に接続しているＰＣＩデバイス存在の有無を確認し、存在している場合は、そのＰＣＩデバイスがマルチファンクションデバイスであった場合は、すべてのファンクションに関しても存在の有無を確認し、存在するファンクションに関するタイプ００ｈのコンフィグレーションヘッダ情報をそのホスト−ＰＣＩバスブリッジ１内のメモリ１４に格納するようにしているため、初期化プログラム１０は、存在しているファンクション分だけの情報をメモリ１４から入手すればよい。このことから、マルチファンクションのＰＣＩデバイスを使用した場合でも、初期化処理時間の悪化を防ぐことができる。
【００４４】
また、本実施の形態では、ホスト−ＰＣＩバスブリッジが複数あるシステムにおいても、初期化プログラム１０がメモリの構成設定等の他の処理を実行している間に、それぞれのホスト−ＰＣＩバスブリッジが独自に自身直下のＰＣＩバス４に接続しているＰＣＩデバイスのすべてのファンクションに関して存在の有無をそれぞれ確認し、存在するファンクションに関するタイプ００ｈのコンフィグレーションヘッダ情報をそのホスト−ＰＣＩバスブリッジ内のメモリにそれぞれ格納するようにしているため、そのタイプ００ｈのコンフィグレーションヘッダ情報を収集するまでの動作を並行して実施することができ、初期化プログラムは、存在しているファンクション分だけの情報をメモリ１４から入手すればよい。
【００４５】
【発明の効果】
以上説明したように、本発明によれば、マルチファンクションのＰＣＩデバイスを使用した場合でも、初期化処理時間の悪化を防止できる。その理由は、初期化プログラムがメモリの構成設定等の他の処理を実行している間に、ホスト−ＰＣＩバスブリッジが自身直下のＰＣＩバスに接続しているＰＣＩデバイスがマルチファンクションデバイスであった場合は、すべてのファンクションに関して存在の有無を独自に確認し、存在するファンクションに関するコンフィグレーションヘッダ情報をそのホスト−ＰＣＩバスブリッジ内のメモリに格納するようにしているため、初期化プログラムは、存在しているファンクション分だけの情報をメモリから入手すればよいからである。
【００４６】
また、本発明によれば、ホスト−ＰＣＩバスブリッジが多いシステムにおいても、初期化処理時間の悪化を防止できる。その理由は、初期化プログラムがメモリの構成設定等の他の処理を実行中に、それぞれのホスト−ＰＣＩバスブリッジが、それぞれのブリッジ独自にそれらのブリッジ直下のＰＣＩバスに接続しているＰＣＩデバイスすべてのファンクションに関して存在の有無をチェックし、存在しているファンクションに関してはタイプ００ｈのコンフィグレーションヘッダ情報をそれぞれのブリッジの内部メモリに格納することにより、そのコンフィグレーションヘッダ情報を収集するまでの動作を並行して実施することができ、初期化プログラムは存在しているファンクション分だけの情報をその内部メモリから入手すればよいからである。
【図面の簡単な説明】
【図１】本発明の一実施の形態の構成図である。
【図２】コンフィグレーションレジスタのコンフィグレーションヘッダの一例のフォーマットを示す図である。
【符号の説明】
１  ホスト−ＰＣＩバスブリッジ
２  プロセッサ
３  ホストバス
４  ＰＣＩバス
５ａ、５ｂ、５ｃ  ＰＣＩスロット
６ａ、６ｂ  オプションＰＣＩデバイス
７  オンボードＰＣＩデバイス
８  ＰＣＩ−ＲＯＭ用バスブリッジ
９  リード・オンリ・メモリ（ＲＯＭ）
１０  初期化プログラム
１１  ホストバスコントローラ
１２  ＰＣＩバスコントローラ
１３  有効デバイスナンバ用不揮発性メモリ
１４  コンフィグヘッダ情報格納メモリ
１５  コンフィグデータ採取コントローラ
１６  コンフィグデータ採取処理通信コントローラ
２０  コンフィグレーションヘッダ
２１  ベンダＩＤ
２２  ヘッダタイプ
２３  ベースアドレスレジスタ
２４  エクスパンションＲＯＭベースアドレス
【図１】
0003698959.tif 000002
【図２】
0003698959.tif 000003