(57)【要約】【課題】ＯＳがホットプラグをサポートしていなくても、ホットプラグを行うことが可能な情報処理装置を提供することである。【解決手段】生成部１６ａは、ＰＣＩＢＯＸ１０１または１０２内の構成情報に基づいて、架空のハードウェアの構成情報を生成する。生成部１６ａは、その架空のＰＣＩＢＯＸの構成情報からその架空のＰＣＩＢＯＸをスロット１３に接続されたＰＣＩＢＯＸとして認識するための認識情報を生成する。その後、スロット１３にＰＣＩＢＯＸ１０３が接続されると、生成部１６ａは、その架空のＰＣＩＢＯＸの構成情報（擬似的な構成情報）をＰＣＩＢＯＸ１０３内の構成情報に上書きする。【選択図】図１
2008217530.tif 000002
【特許請求の範囲】
【請求項１】
自ハードウェアの構成情報を格納するハードウェアと接続可能なスロットと、ＯＳを格納するＯＳ格納部と、ＢＩＯＳを格納するＢＩＯＳ格納部と、起動時に前記スロットに前記ハードウェアが接続されている場合、該ハードウェア内の構成情報から該ハードウェアを認識するための認識情報を生成する生成部を、前記ＢＩＯＳを実行して実現し、前記生成部が生成した認識情報を用いて前記接続されたハードウェアを認識する制御部を、前記ＯＳを実行して実現するＣＰＵと、を含む情報処理装置において、
前記スロットは、複数あり、前記複数のスロットのそれぞれは、互いに同一規格のハードウェアと接続可能であり、かつ、前記複数のスロットの少なくとも一つには、前記ハードウェアが接続され、
前記生成部は、前記起動時に前記ハードウェアが接続されていないスロットがある場合、前記接続されたハードウェア内の構成情報に基づいて、架空のハードウェアの構成情報を生成し、該架空のハードウェアの構成情報から該架空のハードウェアを該スロットに接続されたハードウェアとして認識するための認識情報を生成し、該スロットに前記ハードウェアが接続されると、該架空のハードウェアの構成情報を、該接続されたハードウェア内の構成情報に上書きすることを特徴とする、情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記制御部は、前記ハードウェアの構成情報を参照する旨の参照要求を生成し、
前記生成部は、前記参照要求が要求するハードウェアが接続されている場合、該ハードウェア内の構成情報を前記制御部に通知し、一方、前記参照要求が要求するハードウェアが接続されていない場合、前記架空のハードウェアの構成情報を前記要求されたハードウェアの構成情報として前記制御部に通知する、情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置において、
前記制御部は、前記スロットに接続されたハードウェアの接続を解除する旨の解除要求を生成し、
前記生成部は、前記解除要求が要求するハードウェア内の構成情報を、前記架空のハードウェアの構成情報として取得し、その後、該ハードウェアの接続を解除する、情報処理装置。
【請求項４】
自ハードウェアの構成情報を格納し互いに同一規格のハードウェアと接続可能であり、かつ、少なくとも一つに前記ハードウェアが接続された複数のスロットと、ＯＳを格納するＯＳ格納部と、ＢＩＯＳを格納するＢＩＯＳ格納部と、起動時に前記スロットに前記ハードウェアが接続されている場合、該ハードウェア内の構成情報から該ハードウェアを認識するための認識情報を生成する生成部を、前記ＢＩＯＳを実行して実現し、前記生成部が生成した認識情報を用いて前記接続されたハードウェアを認識する制御部を、前記ＯＳを実行して実現するＣＰＵと、を含む情報処理装置が行なう設定方法であって、
前記起動時に前記ハードウェアが接続されていないスロットがある場合、該スロットに対して、前記接続されたハードウェア内の構成情報に基づいて、架空のハードウェアの構成情報を生成する生成ステップと、
前記架空のハードウェアの構成情報から該架空のハードウェアを該スロットに接続されたハードウェアとして認識するための認識情報を生成する作成ステップと、
前記スロットに前記ハードウェアが接続されると、該架空のハードウェアの構成情報を、該接続されたハードウェア内の構成情報に上書きする更新ステップと、を含む設定方法。
【請求項５】
請求項４に記載の設定方法において、
前記制御部は、前記ハードウェアの構成情報を参照する旨の参照要求を生成し、
前記参照要求が要求するハードウェアが接続されている場合、該ハードウェア内の構成情報を前記制御部に通知し、一方、前記参照要求が要求するハードウェアが接続されていない場合、前記架空のハードウェアの構成情報を前記要求されたハードウェアの構成情報として前記制御部に通知する通知ステップを含む、設定方法。
【請求項６】
請求項４または５に記載の設定方法において、
前記制御部は、前記スロットに接続されたハードウェアの接続を解除する旨の解除要求を生成し、
前記解除要求が要求するハードウェア内の構成情報を、前記架空のハードウェアの構成情報として取得する取得ステップと、
前記ハードウェアの接続を解除する解除ステップと、を含む設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホットプラグを可能にする情報処理装置および設定方法に関する。
【背景技術】
【０００２】
近年、コンピュータシステムにおいて、ホットプラグ（Ｈｏｔ  Ｐｌｕｇ）を可能にすることが望まれることが多くなっている。ホットプラグは、稼動中に接続されたハードウェアを認識し、コンピュータシステムに組み込む機能である。なお、ハードウェアは、例えば、ＰＣＩＢＯＸである。
【０００３】
コンピュータシステムが、接続されているハードウェアを認識するためには、コンピュータシステムのＯＳが、そのハードウェアの構成を認識する必要がある。ハードウェアの構成を認識する認識方法には、例えば、ＡＣＰＩ（Ａｄｖａｎｃｅｄ Ｃｏｎｆｉｇｕｒａｔｉｏｎ ａｎｄ Ｐｏｗｅｒ Ｉｎｔｅｒｆａｃｅ）規格による認識方法がある。ＡＣＰＩ規格は、コンピュータシステムのハードウェアへの電力制御の規格であり、各ハードウェアの電力を制御するためにハードウェアの構成が認識される。
【０００４】
ＡＣＰＩ規格による認識方法では、先ず、ＢＩＯＳが、ハードウェアのコンフィグレーション空間内の構成情報からＡＣＰＩテーブルおよびＡＭＬ（ＡＣＰＩ Ｍａｃｈｉｎｅ Ｌａｎｇｕａｇｅ）を生成する。ここで、ＡＣＰＩテーブルおよびＡＭＬは、ＡＣＰＩ規格によるハードウェアを認識するための情報である。ＡＣＰＩテーブルは、ハードウェアの構成情報を示す。ＡＭＬは、ＣＰＵにハードウェアとの情報の入出力を実行させるためのプログラムである。以下、ＡＣＰＩテーブルおよびＡＭＬをＡＣＰＩ情報と称する。
【０００５】
続いて、ＣＰＵは、ＯＳの起動時に、そのＡＣＰＩ情報をそのＯＳにロードして、ＯＳにハードウェアを認識させる。
【０００６】
このような技術は、例えば、特許文献１（特開２００４−７０９５２号公報）などに記載されている。
【０００７】
このＡＣＰＩ規格による認識方法において、コンピュータシステムがホットプラグを可能にするためには、以下の手順を行なう。
【０００８】
先ず、稼動中のコンピュータシステムにハードウェアが接続されると、ＢＩＯＳが、その接続されたハードウェア内のコンフィグレーション空間内の構成情報を取得し、その構成情報に応じてＡＣＰＩ情報を更新する。続いて、ＯＳは、その更新されたＡＣＰＩ情報に応じて、ハードウェアの認識を変える。
【特許文献１】特開２００４−７０９５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ＡＣＰＩ規格による認識方法では、コンピュータシステムがホットプラグを行なうためには、ＯＳがホットプラグをサポートしていなければならなかった。なお、ホットプラグをサポートしていないＯＳは、ＡＣＰＩ情報が更新されても、ハードウェアの認識を変えることができない。
【００１０】
本発明の目的は、ＯＳがホットプラグをサポートしていなくても、ホットプラグを行うことが可能な情報処理装置および設定方法を提供することである。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明の情報処理装置は、自ハードウェアの構成情報を格納するハードウェアと接続可能なスロットと、ＯＳを格納するＯＳ格納部と、ＢＩＯＳを格納するＢＩＯＳ格納部と、起動時に前記スロットに前記ハードウェアが接続されている場合、該ハードウェア内の構成情報から該ハードウェアを認識するための認識情報を生成する生成部を、前記ＢＩＯＳを実行して実現し、前記生成部が生成した認識情報を用いて前記接続されたハードウェアを認識する制御部を、前記ＯＳを実行して実現するＣＰＵと、を含む情報処理装置において、前記スロットは、複数あり、前記複数のスロットのそれぞれは、互いに同一規格のハードウェアと接続可能であり、かつ、前記複数のスロットの少なくとも一つには、前記ハードウェアが接続され、前記生成部は、前記起動時に前記ハードウェアが接続されていないスロットがある場合、前記接続されたハードウェア内の構成情報に基づいて、架空のハードウェアの構成情報を生成し、該架空のハードウェアの構成情報から該架空のハードウェアを該スロットに接続されたハードウェアとして認識するための認識情報を生成し、該スロットに前記ハードウェアが接続されると、該架空のハードウェアの構成情報を、該接続されたハードウェア内の構成情報に上書きすることを特徴とする。
【００１２】
また、本発明の設定方法は、自ハードウェアの構成情報を格納し互いに同一規格のハードウェアと接続可能であり、かつ、少なくとも一つに前記ハードウェアが接続された複数のスロットと、ＯＳを格納するＯＳ格納部と、ＢＩＯＳを格納するＢＩＯＳ格納部と、起動時に前記スロットに前記ハードウェアが接続されている場合、該ハードウェア内の構成情報から該ハードウェアを認識するための認識情報を生成する生成部を、前記ＢＩＯＳを実行して実現し、前記生成部が生成した認識情報を用いて前記接続されたハードウェアを認識する制御部を、前記ＯＳを実行して実現するＣＰＵと、を含む情報処理装置が行なう設定方法であって、前記起動時に前記ハードウェアが接続されていないスロットがある場合、該スロットに対して、前記接続されたハードウェア内の構成情報に基づいて、架空のハードウェアの構成情報を生成する生成ステップと、前記架空のハードウェアの構成情報から該架空のハードウェアを該スロットに接続されたハードウェアとして認識するための認識情報を生成する作成ステップと、前記スロットに前記ハードウェアが接続されると、該架空のハードウェアの構成情報を、該接続されたハードウェア内の構成情報に上書きする更新ステップと、を含む。
【００１３】
上記の発明によれば、ハードウェアが接続されていないスロットがある場合、架空のハードウェアの構成情報が生成される。また、その架空のハードウェアの構成情報からその架空のハードウェアをそのスロットに接続されたハードウェアとして認識するための認識情報が生成される。さらに、そのスロットにハードウェアが接続されると、その架空の構成情報が、そのハードウェア内の構成情報に上書きされる。
【００１４】
このため、ハードウェア内の上書き後の構成情報から生成される認識情報は、架空のハードウェアをスロットに接続されたハードウェアとして認識するための認識情報と同じになる。よって、稼働中にハードウェアが接続されても、認識情報を更新する必要がなくなる。したがって、ＯＳがホットプラグをサポートしていなくても、ホットプラグを行うことが可能になる。
【００１５】
また、前記制御部は、前記ハードウェアの構成情報を参照する旨の参照要求を生成し、前記生成部は、前記参照要求が要求するハードウェアが接続されている場合、該ハードウェア内の構成情報を前記制御部に通知し、一方、前記参照要求が要求するハードウェアが接続されていない場合、前記架空のハードウェアの構成情報を前記要求されたハードウェアの構成情報として前記制御部に通知することが望ましい。
【００１６】
上記の発明によれば、構成情報の参照が要求されたハードウェアが接続されていないと、架空のハードウェアの構成情報が、その要求されたハードウェアの構成情報として制御部に通知される。
【００１７】
このため、構成情報の参照が要求されたハードウェアが接続されていなくても、そのハードウェアの構成情報を通知することが可能になる。
【００１８】
また、前記制御部は、前記スロットに接続されたハードウェアの接続を解除する旨の解除要求を生成し、前記生成部は、前記解除要求が要求するハードウェア内の構成情報を、前記架空のハードウェアの構成情報として取得し、その後、該ハードウェアの接続を解除することが望ましい。
【００１９】
上記の発明によれば、解除要求にて要求されたハードウェア内の構成情報が、架空のハードウェアの構成情報として取得される。
【００２０】
このため、ハードウェアの接続が解除された後に架空のハードウェアの構成情報から生成される認識情報は、ハードウェアの接続が解除される前のハードウェア内の構成情報から生成される認識情報と同じになる。よって、稼働中にハードウェアの接続が解除されても、認識情報を更新する必要がなくなる。したがって、ＯＳがホットプラグをサポートしていなくても、稼働中にハードウェアの接続を解除することが可能になる。
【発明の効果】
【００２１】
本発明によれば、ＯＳがホットプラグをサポートしていなくても、ホットプラグを行うことが可能になる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施例について図面を参照して説明する。
【００２３】
図１は、本発明の第一の実施例の情報処理装置の構成を示したブロック図である。
【００２４】
図１において、情報処理装置１は、スロット１１ないし１３と、ＯＳ格納部１４と、ＢＩＯＳ格納部１５と、ＣＰＵ１６と、メモリ１７とを含む。なお、スロットの数は、本実施例では、３だけだが、実際には、複数であればよい。
【００２５】
スロット１１ないし１３は、ＰＣＩＢＯＸと接続可能なインターフェースである。
【００２６】
ここで、スロット１１ないし１３に接続可能なＰＣＩＢＯＸは、互いに同一規格であり、情報処理装置１に対応して定められている。
【００２７】
また、スロット１１ないし１３の少なくとも一つは、情報処理装置１の起動時に予めＰＣＩＢＯＸと接続されている。本実施例では、情報処理装置１の起動時に、スロット１１にＰＣＩＢＯＸ１０１が接続され、スロット１２にＰＣＩＢＯＸ１０２が接続されている。なお、ＰＣＩＢＯＸ１０３は、情報処理装置１の起動時には接続されておらず、情報処理装置１の稼働中に接続されるＰＣＩＢＯＸを示している。
【００２８】
ＰＣＩＢＯＸ１０１ないし１０３は、情報処理装置１とＰＣＩカードとを接続するためのハードウェアであり、少なくとも１つ以上のＰＣＩカードと接続可能なＰＣＩカード用のスロットを含む。なお、ＰＣＩＢＯＸには、ＰＣＩカードが接続されていてもよいし、接続されていなくてもよい。
【００２９】
また、情報処理装置１と、ＰＣＩＢＯＸ１０１ないし１０３とは、コンピュータシステムを構成する。ＰＣＩＢＯＸは、コンピュータシステムのチップセット（ｃｈｉｐｓｅｔ）内のＩＯＨ（Ｉｎｐｕｔ Ｏｕｔｐｕｔ Ｈｕｂ）、ブリッジ（Ｂｒｉｄｇｅ）などを含むＩＯｎｏｄｅを含む。
【００３０】
また、ＰＣＩＢＯＸ１０１ないし１０３は、コンフィグレーション空間を含む。コンフィグレーション空間は、自ＰＣＩＢＯＸの構成情報を格納するレジスタである。構成情報は、ＰＣＩＢＯＸの構成（特性、種類および動作など）を示す情報であり、静的な設定値と動的な設定値とを含む。静的な設定値は、ＰＣＩＢＯＸの規格を特定する情報であり、同一規格のＰＣＩＢＯＸ間では、同一の値を有する。動的な設定値は、例えば、ＰＣＩＢＯＸに割り当てるメモリ１７のリソース（ベースアドレス）であり、情報処理装置１にて設定される。
【００３１】
ＯＳ格納部１４は、ＯＳを格納する。ＯＳは、ＰＣＩカードのホットプラグをサポートしているが、ＰＣＩＢＯＸのホットプラグはサポートしていない。
【００３２】
ＢＩＯＳ格納部１５は、ＢＩＯＳを格納する。ＢＩＯＳは、情報処理装置１の起動および運用を制御するファームウェア（ＦＷ：ｆｉｒｍｗａｒｅ）である。
【００３３】
ここで、ＯＳおよびＢＩＯＳは、ＡＣＰＩ規格に準拠する。
【００３４】
ＣＰＵ１６は、起動時に、ＢＩＯＳ格納部１５内のＢＩＯＳを読み取り、読み取ったＢＩＯＳを実行して生成部１６ａを実現する。このとき、生成部１６ａは、ＢＩＯＳ格納部１５内のＢＩＯＳをメモリ１７にロードして、そのメモリ１７内のＢＩＯＳを読み取ってもよい。
【００３５】
生成部１６ａは、コンピュータシステムに異常があるか否かを判定するＰＯＳＴ（Ｐｏｗｅｒ Ｏｎ Ｓｅｌｆ Ｔｅｓｔ）を実行し、そのＰＯＳＴ実行中に、コンピュータシステム内の、ＰＣＩＢＯＸ内のチップセットを含むチップセットの初期設定を行なう。
【００３６】
このとき、生成部１６ａは、スロット１１および１２のそれぞれに接続されたＰＣＩＢＯＸ１０１および１０２のそれぞれのコンフィグレーション空間にアクセスする。生成部１６ａは、そのＰＣＩＢＯＸ１０１および１０２のそれぞれのコンフィグレーション空間内の構成情報の動的な設定値を初期化して、ＰＣＩＢＯＸ１０１および１０２のそれぞれに割り当てるメモリ１７のリソースを設定する。
【００３７】
また、生成部１６ａは、ＰＣＩＢＯＸが接続されていないスロットのそれぞれに対して、擬似的なコンフィグレーション空間を生成する。なお、本実施例では、上述のように、ＰＣＩＢＯＸが接続されていないスロットは、スロット１３だけなので、生成部１６ａは、スロット１３に対して、擬似的なコンフィグレーション空間を生成する。
【００３８】
ここで、擬似的なコンフィグレーション空間は、架空のハードウェアの構成情報を格納する記憶領域である。
【００３９】
生成部１６ａは、ＢＩＯＳをメモリ１７にロードしていれば、その擬似的なコンフィグレーション空間を、メモリ１７内のＢＩＯＳが占有する領域内に生成する。また、生成部１６ａは、ＢＩＯＳをメモリ１７にロードしていなければ、その擬似的なコンフィグレーション空間を、ＢＩＯＳ格納部１５内に生成してもよいし、メモリ１７内の所定のファームウェア用の領域に生成してもよい。
【００４０】
以下、生成部１６ａは、ＢＩＯＳをメモリ１７にロードし、擬似的なコンフィグレーション空間を、メモリ１７内のＢＩＯＳが占有する領域内に生成するものとする。
【００４１】
生成部１６ａは、実際のコンフィグレーション空間内の構成情報に基づいて、架空のＰＣＩＢＯＸの構成情報を生成する。ここで、実際のコンフィグレーション空間は、ＰＣＩＢＯＸ１０１または１０２のコンフィグレーション空間である。以下、架空のＰＣＩＢＯＸの構成情報を、擬似的な構成情報と称する。
【００４２】
擬似的な構成情報の生成は、具体的には、以下のように行われる。
【００４３】
先ず、生成部１６ａは、実際のコンフィグレーション空間内の構成情報の静的な設定値を取得し、その静的な設定値を、その擬似的なコンフィグレーション空間内に格納する。
【００４４】
続いて、生成部１６ａは、その架空のＰＣＩＢＯＸにもメモリ１７のリソースが割り当てられるように、その擬似的なコンフィグレーション空間内に動的な設定値を設定する。これにより、擬似的な構成情報が擬似的なコンフィグレーション空間内に生成される。
【００４５】
生成部１６ａは、架空のＰＣＩＢＯＸの構成情報を生成すると、その接続されたＰＣＩＢＯＸ１０１および１０２のそれぞれのコンフィグレーション空間内の構成情報から、ＰＣＩＢＯＸ１０１を認識するための認識情報と、ＰＣＩＢＯＸ１０２を認識するための認識情報とを生成する。
【００４６】
認識情報は、ＡＣＰＩテーブルと、ＡＭＬとを含む。ＡＣＰＩテーブルは、構成情報を示す。ＡＭＬは、ＣＰＵ（ＯＳ）にＡＣＰＩテーブルが示す構成情報のハードウェアとの情報の入出力を実行させるためのプログラムである。
【００４７】
以下、認識情報をＡＣＰＩ情報と称する。
【００４８】
また、生成部１６ａは、その擬似的なコンフィグレーション空間内の擬似的な構成情報から、架空のＰＣＩＢＯＸをスロット１３に接続されたＰＣＩＢＯＸとして認識するためのＡＣＰＩ情報を生成する。
【００４９】
これにより、生成部１６ａは、情報処理装置１と接続可能なＰＣＩＢＯＸの最大数（スロットの数「３」に等しい）の認識情報を生成することになる。
【００５０】
ＣＰＵ１６は、生成部１６ａがその最大数のＡＣＰＩ情報を生成すると、ＯＳ格納部１４内のＯＳを実行して、その最大数のＡＣＰＩ情報を用いて、ＰＣＩＢＯＸ１０１および１０２と、架空のＰＣＩＢＯＸとを認識する制御部１６ｂを実現する。
【００５１】
具体的には、ＣＰＵ１６は、ＯＳ格納部１４内のＯＳをメモリ１７にロードし、その後、その最大数のＡＣＰＩ情報を、そのメモリ１７内のＯＳにロードする。ＣＰＵ１６は、メモリ１７内のＯＳ（ＡＣＰＩ情報を含む）を読み取り、そのＯＳを実行して制御部１６ｂを実現する。
【００５２】
これにより、制御部１６ｂは、そのＰＣＩＢＯＸ１０１および１０２を認識し、かつ、架空のＰＣＩＢＯＸをスロット１３に接続されたＰＣＩＢＯＸとして認識する。
【００５３】
また、制御部１６ｂが認識しているＰＣＩＢＯＸの構成情報を参照する必要がある場合がある。このとき、制御部１６ｂは、構成情報を参照する旨の参照要求を生成する。なお、制御部１６ｂは、生成部１６ａが制御部１６ｂに提供する所定のルーチンのコールとして参照要求を生成する。
【００５４】
生成部１６ａは、制御部１６ｂにて生成された参照要求が要求するＰＣＩＢＯＸが接続されている場合、生成部１６ａは、そのＰＣＩＢＯＸのコンフィグレーション空間内の構成情報を操作（リードおよびライト）し、その操作された構成情報を制御部１６ｂに通知する。なお、生成部１６ａによるコンフィグレーション空間内の構成情報の操作は、一般に、ＰＣＩコンフィグレーションサイクルと呼ばれる。
【００５５】
一方、制御部１６ｂにて生成された参照要求が要求するＰＣＩＢＯＸが接続されていない場合、生成部１６ａは、その架空のＰＣＩＢＯＸの擬似的なコンフィグレーション空間内の擬似的な構成情報を、その要求されたＰＣＩＢＯＸの構成情報として制御部１６ｂに通知する。
【００５６】
また、情報処理装置１の稼動中に、スロット１３にＰＣＩＢＯＸ１０３が接続されると、生成部１６ａは、擬似的なコンフィグレーション空間内の擬似的な構成情報を、ＰＣＩＢＯＸ１０３のコンフィグレーション空間内の構成情報に上書きする。
【００５７】
次に動作を説明する。
【００５８】
図２は、情報処理装置の動作の一例を説明するためのフローチャートである。
【００５９】
ステップＡ１では、情報処理装置が電源投入され、少なくともＣＰＵ１６と、ＰＣＩＢＯＸ１０１および１０２とに電源が投入される。
【００６０】
ＣＰＵ１６は、電源が投入されると、ステップＡ２を実行する。
【００６１】
ステップＡ２では、ＣＰＵ１６は、ＢＩＯＳ格納部１５内のＢＩＯＳをメモリ１７にロードし、そのメモリ１７内のＢＩＯＳを読み取り、その読み取ったＢＩＯＳを実行して生成部１６ａを実現する。その後、生成部１６ａは、ＰＯＳＴを実行する。生成部１６ａは、ＰＯＳＴを実行すると、ステップＡ３を実行する。
【００６２】
ステップＡ３では、生成部１６ａは、接続されているＰＣＩＢＯＸ１０１および１０２のそれぞれのコンフィグレーション空間にアクセスする。生成部１６ａは、そのコンフィグレーション空間内の構成情報の動的な設定値を初期化してＰＣＩＢＯＸ１０１および１０２のそれぞれに割り当てるメモリ１７のリソースを設定する。
【００６３】
また、生成部１６ａは、ＰＣＩＢＯＸが接続されていないスロット１３に対して、擬似的なコンフィグレーション空間をメモリ１７内のＢＩＯＳが占有する領域内に生成する。
【００６４】
その後、生成部１６ａは、ＰＣＩＢＯＸ１０１または１０２のコンフィグレーション空間にアクセスして、そのコンフィグレーション空間内の構成情報の静的な設定値を取得し、その静的な設定値を擬似的なコンフィギュレーション空間内に格納する。生成部１６ａは、架空のＰＣＩＢＯＸにもメモリ１７のリソースが割り当てられるように、その擬似的なコンフィグレーション空間内に動的な設定値を設定して、擬似的な構成情報をその擬似的なコンフィグレーション空間内に生成する
生成部１６ａは、ステップＡ３を終了すると、ステップＡ４を実行する。
【００６５】
ステップＡ４では、生成部１６ａは、そのＰＣＩＢＯＸ１０１および１０２のそれぞれのコンフィグレーション空間内の構成情報を取得し、それらの構成情報からＰＣＩＢＯＸ１０１および１０２のそれぞれのＡＣＰＩ情報を生成する。
【００６６】
また、生成部１６ａは、その擬似的なコンフィグレーション内の擬似的な構成情報から、架空のＰＣＩＢＯＸをスロット１３に接続されたＰＣＩＢＯＸとして認識するためのＡＣＰＩ情報を生成する。
【００６７】
生成部１６ａがＡＣＰＩ情報を生成すると、ＣＰＵ１６は、ステップＡ５を実行する。
【００６８】
ステップＡ５では、ＣＰＵ１６は、ＯＳ格納部１４内のＯＳをメモリ１７にロードし、その後、その生成した３つのＡＣＰＩ情報を、そのメモリ１７内のＯＳにロードして、そのＯＳの起動を開始する。
【００６９】
ＣＰＵ１６は、ステップＡ５を終了すると、ステップＡ６を実行する。
【００７０】
ステップＡ６では、ＣＰＵ１６は、ＯＳの起動を終了し、ＰＣＩＢＯＸ１０１および１０２と、架空のＰＣＩＢＯＸとを認識する制御部１６ｂを実現する。
【００７１】
その後、制御部１６ｂは、認識しているＰＣＩＢＯＸの構成情報を取得する必要が発生すると、参照要求を生成し、その参照要求を生成部１６ａに出力する。生成部１６ａは、その参照要求を受け付けると、その参照要求が要求するＰＣＩＢＯＸが接続されているか否かを判定する。
【００７２】
そのＰＣＩＢＯＸが接続されている場合、生成部１６ａは、そのＰＣＩＢＯＸ内のコンフィグレーション空間に対して、ＰＣＩコンフィグレーションサイクルを行い、そのコンフィグレーション空間内の構成情報を操作し、その操作された構成情報を取得する。生成部１６ａは、その構成情報を制御部１６ｂに通知する。
【００７３】
一方、そのＰＣＩＢＯＸが接続されていない場合、生成部１６ａは、メモリ１７内の擬似的なコンフィグレーション空間内の擬似的な構成情報を取得し、その擬似的な構成情報を制御部１６ｂに通知する。
【００７４】
制御部１６ｂは、その構成情報を受け付ける。これにより、その構成情報を参照することが可能になる。
【００７５】
また、スロット１３にＰＣＩＢＯＸ１０３が接続されると、ステップＡ７が実行される。
【００７６】
ステップＡ７では、ＰＣＩＢＯＸ１０３のオンライン処理が開始され、ＰＣＩＢＯＸ１０３に電源が投入される。その後、ステップＡ８が実行される。
【００７７】
ステップＡ８では、生成部１６ａは、メモリ１７から、擬似的なコンフィグレーション空間内の擬似的な構成情報を取得し、その擬似的な構成情報をＰＣＩＢＯＸ１０３のコンフィグレーション空間内に上書きする。
【００７８】
その後、ＰＣＩＢＯＸ１０３のＰＣＩカード用のスロットにＰＣＩカードが接続されると、ステップＡ９が実行される。
【００７９】
ステップＡ９では、制御部１６ｂは、ＯＳがサポートしているＰＩＣカードのホットプラグに従って、その接続されたＰＣＩカードを認識する。
【００８０】
次に効果を説明する。
【００８１】
本実施例によれば、生成部１６ａは、ＰＣＩＢＯＸ１０１または１０２内の構成情報に基づいて、架空のハードウェアの構成情報を生成する。生成部１６ａは、その架空のＰＣＩＢＯＸの構成情報からその架空のＰＣＩＢＯＸをスロット１３に接続されたＰＣＩＢＯＸとして認識するための認識情報を生成する。その後、スロット１３にＰＣＩＢＯＸ１０３が接続されると、生成部１６ａは、その架空のＰＣＩＢＯＸの構成情報（擬似的な構成情報）をＰＣＩＢＯＸ１０３内の構成情報に上書きする。
【００８２】
この場合、ＰＣＩＢＯＸ内の上書き後の構成情報から生成される認識情報は、架空のＰＣＩＢＯＸをスロット１３に接続されたＰＣＩＢＯＸとして認識するための認識情報と同じになる。よって、稼働中にＰＣＩＢＯＸが接続されても、認識情報を更新する必要がなくなる。したがって、ＯＳがホットプラグをサポートしていなくても、ホットプラグを行うことが可能になる。
【００８３】
また、本実施例では、生成部１６ａは、制御部１６ｂにて生成された参照要求が要求するＰＣＩＢＯＸが接続されている場合、そのＰＣＩＢＯＸ内の構成情報を制御部１６ｂに通知する。また、生成部１６ａは、その参照要求が要求するＰＣＩＢＯＸが接続されていない場合、擬似的な構成情報をその要求されたＰＣＩＢＯＸの構成情報として制御部１６ｂに通知する。
【００８４】
この場合、構成情報の参照が要求されたハードウェアが接続されていなくても、そのハードウェアの構成情報を通知することが可能になる。
【００８５】
次に第二の実施例について説明する。なお、以下では、主に第一の実施例と異なる構成および動作について説明する。
【００８６】
本実施例では、情報処理装置１は、稼働中に、ＰＣＩＢＯＸの接続（組み込み）を解除するオフライン処理（ホットリムーブ「Ｈｏｔ Ｒｅｍｏｖｅ」）を行なう。以下では、情報処理装置１にＰＣＩＢＯＸ１０１ないし１０３が接続され、稼働中に、ＰＣＩＢＯＸ１０３の接続が解除された場合を説明する。
【００８７】
先ず、起動時の生成部１６ａの処理の変更点を説明する。
【００８８】
起動時に、生成部１６ａは、ＰＣＩＢＯＸが接続されていないスロットのそれぞれに対してだけでなく、ＰＣＩＢＯＸが接続されているスロットのそれぞれに対しても、擬似的なコンフィグレーション空間を生成する。しかしながら、起動時には、生成部１６ａは、ＰＣＩＢＯＸが接続されているスロットのそれぞれに対する擬似的なコンフィグレーション空間内には擬似的な構成情報を格納しない。
【００８９】
次に、オフライン処理について説明する。
【００９０】
制御部１６ｂは、例えば、情報処理装置へのユーザの操作などにより、ＰＣＩＢＯＸ１０３の接続の解除が要求されると、そのＰＣＩＢＯＸ１０３の接続を解除する旨の解除要求を生成する。
【００９１】
生成部１６ａは、制御部１６ｂが生成した解除要求にて要求されたＰＣＩＢＯＸ１０３のコンフィグレーション空間内の構成情報を、擬似的な構成情報として取得し、その擬似的な構成情報を、そのＰＣＩＢＯＸ１０３と接続されたスロット１３に対する擬似的なコンフィグレーション空間内に格納する。その後、生成部１６ａは、ＰＣＩＢＯＸ１０３への電源を遮断して、ＰＣＩＢＯＸ１０３の接続を解除する。
【００９２】
その後、制御部１６ｂにてＰＣＩＢＯＸ１０３の構成情報を取得する旨の取得指示が生成されると、生成部１６ａは、擬似的なコンフィグレーション空間内の擬似的な構成情報を、制御部１６ｂに通知することになる。
【００９３】
次に動作を説明する。
【００９４】
図３は、情報処理装置１のオフライン処理の一例を説明するためのフローチャートである。
【００９５】
ステップＢ１では、制御部１６ｂは、情報処理装置へのユーザの操作などにより、ＰＣＩＢＯＸ１０３の接続の解除が要求される。制御部１６ｂは、ステップＢ１を終了すると、ステップＢ２を実行する。
【００９６】
ステップＢ２では、制御部１６ｂは、ＯＳにてサポートされたホットプラグに従って、ＰＣＩＢＯＸ１０３に接続されたＰＣＩカードのホットリムーブを行う。制御部１６ｂは、ステップＢ２を終了すると、ステップＢ３を実行する。
【００９７】
なお、ＰＣＩＢＯＸ１０３にＰＣＩカードが接続されていなければ、制御部１６ｂは、ステップＢ１を終了すると、ステップＢ２をスキップして、ステップＢ３を実行する。
【００９８】
ステップＢ３では、制御部１６ｂは、ＰＣＩＢＯＸ１０３の接続を解除する旨の解除要求を生成し、その解除要求を生成部１６ａに出力する。
【００９９】
生成部１６ａは、その解除要求を受け付けると、ＰＣＩＢＯＸ１０３のコンフィグレーション空間にアクセスする。生成部１６ａは、そのコンフィグレーション空間内の構成情報を取得し、その構成情報を、ＰＣＩＢＯＸ１０３が接続されたスロット１３に対する擬似的なコンフィグレーション空間内に格納する。生成部１６ａは、ステップＢ３を終了すると、ステップＢ４を実行する。
【０１００】
ステップＢ４では、生成部１６ａは、ＰＣＩＢＯＸ１０３への電源を遮断して、ＰＣＩＢＯＸ１０３の接続を解除する。
【０１０１】
次に効果を説明する。
【０１０２】
本実施例によれば、生成部１６ａは、制御部１６ｂにて生成された解除要求が要求するＰＣＩＢＯＸ内の構成情報を、擬似的な構成情報として取得し、その後、該ハードウェアの接続を解除する。
【０１０３】
この場合、ＰＣＩＢＯＸの接続が解除された後に架空のＰＣＩＢＯＸの構成情報から生成される認識情報は、ＰＣＩＢＯＸの接続が解除される前のＰＣＩＢＯＸ内の構成情報から生成される認識情報と同じになる。よって、稼働中にＰＣＩＢＯＸの接続が解除されても、認識情報を更新する必要がなくなる。したがって、ＯＳがホットプラグをサポートしていなくても、ホットプラグを行うことが可能になる。
【０１０４】
また、ＰＣＩＢＯＸの接続（図２のステップＡ７ないしＡ９）と、そのＰＣＩＢＯＸの接続の解除（図３のステップＢ１ないしＢ４）とを行うことで、情報処理装置の稼働中に、ＰＣＩＢＯＸを置き換えることが可能になる。このため、情報処理装置の稼働中に、ＰＣＩＢＯＸに障害が発生しても、ＰＣＩＢＯＸを保守することが可能になる。
【０１０５】
以上説明した実施例において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【図面の簡単な説明】
【０１０６】
【図１】本発明の第一の実施例の情報処理装置の構成を示したブロック図である。
【図２】情報処理装置の動作例を示したフローチャートである。
【図３】情報処理装置の他の動作例を示したフローチャートである。
【符号の説明】
【０１０７】
１        情報処理装置
１１〜１３    スロット
１４      ＯＳ格納部
１５      ＢＩＯＳ格納部
１６      ＣＰＵ
１６ａ    生成部
１６ｂ    制御部
１７      メモリ
１０１〜１０３    ＰＣＩＢＯＸ
【図１】
2008217530.tif 000003
【図２】
2008217530.tif 000004
【図３】
2008217530.tif 000005