(57)【要約】  システム構成が変更された場合に、ＯＳの種類に関わらず、ＯＳの正常起動を確保することを課題とする。この課題を解決するため、システム構成情報に、情報処理装置がとり得る全てのシステム構成を定義しておき、電源投入時に、システム構成情報から不要なデバイスを無効化又は削除することにより、システム構成情報を変更することとした。これにより、変更後のシステム構成情報がファームウェアによってＯＳに引き渡されることとなるため、システム構成が変更された場合に、ＯＳの種類に関わらず、ＯＳの正常起動を確保することができる。
2010084617.tif 000002
【特許請求の範囲】
【請求項１】
演算処理装置と第１の記憶装置とを有する情報処理装置において、
前記第１の記憶装置は、
前記情報処理装置が取り得るシステム構成毎に、前記情報処理装置に接続されるデバイスの構成を定義する第１のシステム構成情報に対する差分情報を含むデバイス変更情報と、
前記演算処理装置を、
前記情報処理装置に接続されるデバイスの変更後におけるデバイスの情報であるデバイス構成情報を検出するデバイス構成情報検出手段と、
前記デバイス構成情報検出手段が検出したデバイス構成情報と、前記デバイス変更情報とに基づいて、前記第１のシステム構成情報を第２のシステム構成情報に変更するデバイス構成変更手段として機能させる第１のプログラムと
を有することを特徴とする情報処理装置。
【請求項２】
前記第１のシステム構成情報には、
前記情報処理装置が取り得る全てのシステム構成が定義され、
前記デバイス構成変更手段は、
前記第１のシステム構成情報から不要なシステム構成を無効化することにより、前記第２のシステム構成情報に変更することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第１のシステム構成情報には、
前記情報処理装置が取り得る全てのシステム構成が定義され、
前記デバイス構成変更手段は、
前記第１のシステム構成情報から不要なシステム構成を削除することにより、前記第２のシステム構成情報に変更することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記情報処理装置は、さらに入出力装置と第２の記憶装置とを有し、
前記第２の記憶装置は、
前記演算処理装置を、
前記第２のシステム構成情報に基づいて、前記演算処理装置、前記第１の記憶装置又は前記入出力装置にアクセスするシステム制御手段として機能させる第２のプログラムを有することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記第２のシステム構成情報は、
前記演算処理装置、前記第１の記憶装置又は前記入出力装置を、階層構造として定義することにより、前記システム制御手段にアクセスさせることを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記情報処理装置に接続されるデバイスの変更は、
前記情報処理装置の電源投入時に行うことを特徴とする請求項１記載の情報処理装置。
【請求項７】
情報処理装置の有する第１の記憶装置が、前記情報処理装置が取り得るシステム構成毎に、前記情報処理装置に接続されるデバイスの構成を定義する第１のシステム構成情報に対する差分情報を含むデバイス変更情報を格納する情報処理装置のシステム構成変更方法であって、
前記情報処理装置の有する演算処理装置が、前記情報処理装置に接続されるデバイスの変更後におけるデバイスの情報であるデバイス構成情報を検出するステップと、
前記情報処理装置の有する演算処理装置が、前記演算処理装置が検出したデバイス構成情報と、前記第１の記憶装置に格納されたデバイス変更情報とに基づいて、前記第１のシステム構成情報を第２のシステム構成情報に変更するステップと
を含んだことを特徴とするシステム構成変更方法。
【請求項８】
前記第１のシステム構成情報には、
前記情報処理装置が取り得る全てのシステム構成が定義され、
前記演算処理装置が、前記演算処理装置が検出したデバイス構成情報と、前記第１の記憶装置に格納されたデバイス変更情報とに基づいて、前記第１のシステム構成情報を第２のシステム構成情報に変更するステップは、
前記第１のシステム構成情報から不要なシステム構成を無効化することにより、前記第２のシステム構成情報に変更することを特徴とする請求項７記載のシステム構成変更方法。
【請求項９】
前記第１のシステム構成情報には、
前記情報処理装置が取り得る全てのシステム構成が定義され、
前記演算処理装置が、前記演算処理装置が検出したデバイス構成情報と、前記第１の記憶装置に格納されたデバイス変更情報とに基づいて、前記第１のシステム構成情報を第２のシステム構成情報に変更するステップは、
前記第１のシステム構成情報から不要なシステム構成を削除することにより、前記第２のシステム構成情報に変更することを特徴とする請求項７記載のシステム構成変更方法。
【請求項１０】
情報処理装置の有する第１の記憶装置が、前記情報処理装置が取り得るシステム構成毎に、前記情報処理装置に接続されるデバイスの構成を定義する第１のシステム構成情報に対する差分情報を含むデバイス変更情報を格納する情報処理装置のシステム構成変更プログラムであって、
前記情報処理装置の有する演算処理装置を、
前記情報処理装置に接続されるデバイスの変更後におけるデバイスの情報であるデバイス構成情報を検出するデバイス構成情報検出手段と、
前記デバイス構成情報検出手段が検出したデバイス構成情報と、前記第１の記憶装置に格納されたデバイス変更情報とに基づいて、前記第１のシステム構成情報を第２のシステム構成情報に変更するデバイス構成変更手段
として機能させることを特徴とするシステム構成変更プログラム。
【請求項１１】
前記第１のシステム構成情報には、
前記情報処理装置が取り得る全てのシステム構成が定義され、
前記デバイス構成変更手段は、
前記第１のシステム構成情報から不要なシステム構成を無効化することにより、前記第２のシステム構成情報に変更することを特徴とする請求項１０記載のシステム構成変更プログラム。
【請求項１２】
前記第１のシステム構成情報には、
前記情報処理装置が取り得る全てのシステム構成が定義され、
前記デバイス構成変更手段は、
前記第１のシステム構成情報から不要なシステム構成を削除することにより、前記第２のシステム構成情報に変更することを特徴とする請求項１０記載のシステム構成変更プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、構成変更機能を有する情報処理装置、システム構成変更方法及びシステム構成変更プログラムに関し、特に、システム構成が変更された場合に、基本ソフトウェアであるＯＳ（Ｏｐｅｒａｔｉｏｎｇ  Ｓｙｓｔｅｍ）の種類に関わらず、構成変更を正常に行うことができる構成変更機能を有する情報処理装置、システム構成変更方法及びシステム構成変更プログラムに関する。
【背景技術】
【０００２】
従来より、情報処理装置では、デバイスの追加等によりシステム構成が変更された場合に、変更後のシステム構成がＯＳから認識できるように、自装置内に格納されたシステム構成情報を変更する機能を備えている。この種の情報処理装置として、例えば、デバイスが追加された場合に、ＯＳが、ＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ）規格のＡＣＰＩテーブルに定義された名前空間（Ｎａｍｅ  Ｓｐａｃｅ）を、システム構成情報として、変更する情報処理装置が知られている。【０００３】
ここで、従来の情報処理装置において、デバイスの追加によりシステム構成が変更された場合に、ＯＳがＡＣＰＩ規格のＡＣＰＩテーブルに定義された名前空間を、システム構成情報として、認識する機能について説明する。なお、ＡＣＰＩ規格は、情報処理装置におけるシステム構成と電源制御に関する業界標準規格であり、その詳細については、http://www.acpi.info/に開示されているため、説明を省略する。また、以下では、図２０に示すように、ｎ個のＣＰＵ（ＣＰＵ１〜ＣＰＵｎ）、メモリ（ＭＥＭ１）、その他のデバイス（ＨＢ、ＰＣＩＢ１〜ＰＣＩＢ３、ＤＥＶ１）等により構成されている情報処理装置に対して、図２１に示すＣＰＵ（ｎ＋１）及びＩ／Ｏ装置が追加された場合について説明する。【０００４】
ＡＣＰＩ規格のＡＣＰＩテーブルは、図２２に示すように、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）等のＦｉｒｍｗａｒｅ（ファームウェア）によりメモリ上に作成され、ＯＳに引き渡されるテーブルである。ＯＳは、ＡＣＰＩテーブルに記載されている情報をもとに情報処理装置におけるシステムの初期化や電源制御を行う。【０００５】
かかるＡＣＰＩ規格のＡＣＰＩテーブルには、情報処理装置のシステム構成を、ＡＭＬ（ＡＣＰＩ  Ｍａｃｈｉｎｅ  Ｌａｎｇｕａｇｅ）で記述された名前空間として定義したテーブルであるＤＳＤＴ（Ｄｉｆｆｉｒｅｎｔｉａｌｔｅｄ  Ｓｙｓｔｅｍ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｔａｂｌｅ）が含まれる。ＤＳＤＴは、情報処理装置に接続されるデバイスの構成を定義するシステム構成情報であり、情報処理装置のシステム構成に含まれる各デバイスを、名前空間内のオブジェクトとして表現する。例えば、図２０に示す情報処理装置のシステム構成は、図２３に示す名前空間として定義される。図２３に示すように、名前空間内では、各デバイスは、システムバスツリー（Ｓｙｓｔｅｍ  ｂｕｓ  ｔｒｅｅ）配下のオブジェクトとして「￥＿ＳＢ＿」のように表現される。【０００６】
このＤＳＤＴは、情報処理装置の起動時に、ＡＣＰＩテーブルの一つとして、ＢＩＯＳ等のファームウェアによってＯＳに引き渡される。ＯＳは、ＤＳＤＴ内のＡＭＬを解釈することで、情報処理装置の変更後のシステム構成を認識することができる。
【０００７】
一方、ＡＣＰＩ規格におけるＡＣＰＩテーブルには、ＳＳＤＴやＯＥＭＴ（以下、「ＳＳＤＴ」と「ＯＥＭＴ」を併せて「ＯＥＭＴ等」と言う。）が含まれる。ここで、ＳＳＤＴとは、情報処理装置に追加されるデバイス（図２１に示すＩ／Ｏ装置）を、ＤＳＤＴと同様にＡＭＬで記述された名前空間として定義したテーブルをいう。また、ＯＥＭＴとは、ＬｏａｄＴａｂｌｅオペレータを用いてロードするＤｅｆｉｎｉｔｉｏｎ  Ｂｌｏｃｋを定義したテーブル（ＯＥＭ  Ｔａｂｌｅ）をいう。ＤＳＤＴが、情報処理装置に常時接続されるデバイスを、名前空間内のオブジェクトとして定義するのに対し、ＯＥＭＴ等は、情報処理装置に後から追加されるデバイスを、名前空間内のオブジェクトとして定義する。【０００８】
このＯＥＭＴ等は、ＤＳＤＴと同様に、情報処理装置の起動時に、ファームウェアによってＯＳに引き渡される。ＯＳは、ＯＥＭＴ等内のＡＭＬを解釈することで、情報処理装置に後から追加されるデバイスを認識することができる。【０００９】
そして、従来の情報処理装置では、デバイスの追加等によりシステム構成が変更された場合に、ファームウェアが、図２４に示すように、上述したＤＳＤＴ及びＯＥＭＴ等をＯＳに引渡す。その後、ＯＳは、図２５及び図２６に示すように、ＤＳＤＴにＯＥＭＴ等を追加することにより、図２１に示す新たなシステム構成変更後に対応するシステム全体の新たな名前空間を作成する。このようにして、従来の情報処理装置では、ＯＳとファームウェアの連係によりＡＣＰＩ規格のＡＣＰＩテーブルとしてシステム変更後のシステム全体の名前空間を作成することにより、システム構成を認識していた。【００１０】
【特許文献１】特開２００５−５６４０４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、現在、情報処理装置に搭載されるＯＳの種類は、多岐に渡っており、ＯＳによっては、ＡＣＰＩテーブルに定義された名前空間を変更する機能をサポートしていない場合がある。すなわち、ＯＳによっては、ＤＳＤＴをサポートしているが、ＯＥＭＴ等をサポートしていない場合がある。【００１２】
このため、従来の情報処理装置では、システム構成が変更された場合に、ファームウェアが、ＤＳＤＴ及びＯＥＭＴ等をＯＳに引き渡したとしても、ＯＳがＯＥＭＴ内のＡＭＬを解釈することができず、起動不良に至るという問題があった。【００１３】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、システム構成が変更された場合に、ＯＳの種類すなわち、ＯＥＭＴ等のサポートの有無に関わらず、ＯＳの正常起動を確保することができる構成変更機能を有する情報処理装置、システム構成変更方法及びシステム構成変更プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するため、本願の開示する情報処理装置は、一つの態様において、演算処理装置と第１の記憶装置とを有する情報処理装置において、前記第１の記憶装置は、前記情報処理装置が取り得るシステム構成毎に、前記情報処理装置に接続されるデバイスの構成を定義する第１のシステム構成情報に対する差分情報を含むデバイス変更情報と、前記演算処理装置を、前記情報処理装置に接続されるデバイスの変更後におけるデバイスの情報であるデバイス構成情報を検出するデバイス構成情報検出手段と、前記デバイス構成情報検出手段が検出したデバイス構成情報と、前記デバイス変更情報とに基づいて、前記第１のシステム構成情報を第２のシステム構成情報に変更するデバイス構成変更手段として機能させる第１のプログラムとを有する。
【発明の効果】
【００１５】
システム構成が変更された場合に、ＯＳの種類、すなわち、ＯＥＭＴ等のサポートの有無に関わらず、ＯＳの正常起動を確保することができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施例１に係る情報処理装置の構成を示すブロック図である。
【図２】図２は、情報処理装置に対して外部デバイスを追加した状態を示す図である。
【図３】図３は、情報処理装置に対して外部デバイスを追加した状態を示す図である。
【図４】図４は、ＤＳＤＴに関するＡＣＰＩ規格のフォーマットを示す図である。
【図５】図５は、図１に示すＤＳＤＴの構成の一例を説明するための図である。
【図６】図６は、図５に示すＤＳＤＴのＡＭＬ部の階層構造を、ＡＣＰＩ規格の名前空間として表した概念図である。
【図７】図７は、ファームウェアの実行時に、デバイス構成変更部がＤＳＤＴを変更する動作の一例を示す概念図である。
【図８】図８は、デバイス構成変更部が、ＤＳＤＴ内のＡＭＬ部に定義された不要なデバイスを無効化することにより、ＤＳＤＴを変更する際に、参照するＡＭＬ変更テーブルの一例を示す説明図である。
【図９】図９は、図８に示すＡＭＬ変更テーブルを利用して、デバイス構成変更部が、ＤＳＤＴ内のＡＭＬ部に定義された不要なデバイスを無効化した状態を示す説明図である。
【図１０】図１０は、図９に示すＤＳＤＴのＡＭＬ部の階層構造を、ＡＣＰＩ規格の名前空間として表した概念図である。
【図１１】図１１は、実施例１に係る情報処理装置におけるシステム構成変更処理の処理手順を示すフローチャートである。
【図１２】図１２は、ステップＳ１０７のデバイス構成変更部によるＤＳＤＴ変更処理の処理手順の一例を説明するための図である。
【図１３】図１３は、図１２に示すＤＳＤＴ変更処理を実行することにより、デバイス構成変更部が、図５に示すＤＳＤＴ内のＡＭＬ部に定義された不要なデバイスを無効化した状態を示す説明図である。
【図１４】図１４は、図１３に示すＤＳＤＴのＡＭＬ部の階層構造を、ＡＣＰＩ規格の名前空間として表した概念図である。
【図１５】図１５は、図８に示すＡＭＬ変更テーブルの作成方法の一例について説明するためのフローチャートである。
【図１６】図１６は、実施例２に係るＡＭＬ変更テーブルを説明するための図である。
【図１７】図１７は、図１６に示すＡＭＬ変更テーブルを利用して、デバイス構成変更部が、ＤＳＤＴ内のＡＭＬ部に定義された不要なデバイスを削除した状態を示す説明図である。
【図１８】図１８は、図１７に示すＤＳＤＴのＡＭＬ部の階層構造を、ＡＣＰＩ規格の名前空間として表した概念図である。
【図１９】図１９は、ＤＳＤＴ変更処理の処理手順の一例を説明するための図である。
【図２０】図２０は、従来例について説明するための図である。
【図２１】図２１は、従来例について説明するための図である。
【図２２】図２２は、従来例について説明するための図である。
【図２３】図２３は、従来例について説明するための図である。
【図２４】図２４は、従来例について説明するための図である。
【図２５】図２５は、従来例について説明するための図である。
【図２６】図２６は、従来例について説明するための図である。
【符号の説明】
【００１７】
１          情報処理装置
２          Ｉ／Ｏ装置（入出力装置）
３          Ｉ／Ｏ装置（入出力装置）
１１        ＣＰＵ（１）（演算処理装置）
１２        デバイス構成情報検出部（デバイス構成情報検出手段）
１３        デバイス構成変更部（デバイス構成変更手段）
２０        メインメモリ（第２の記憶装置）
２１        ＯＳ（第２のプログラム）
３０        フラッシュメモリ（第１の記憶装置）
３１        ＤＳＤＴ（第１のシステム構成情報、第２のシステム構成情報）
３２        ＡＭＬ変更テーブル（デバイス変更情報）
３３        ファームウェア（第１のプログラム）
１３２      ＡＭＬ変更テーブル（デバイス変更情報）
【発明を実施するための最良の形態】
【００１８】
以下に、本願の開示する構成変更機能を有する情報処理装置、システム構成変更方法及びシステム構成変更プログラムを図面に基づいて詳細に説明する。なお、以下の実施例では、本願の開示する情報処理装置が、各種の情報処理装置におけるシステム構成と電源制御に関する業界標準規格であるＡＣＰＩ規格に準拠した装置であるとして説明を行う。しかし、これに限らず、本願の開示する情報処理装置等は、他の如何なる規格に準拠した装置等にも適用され得る。
【実施例１】
【００１９】
図１は、実施例１に係る情報処理装置の構成を示すブロック図である。図１に示すように、情報処理装置１は、ＣＰＵ群１０と、メインメモリ２０と、フラッシュメモリ３０とを有し、バスを介してこれらを接続している。【００２０】
その他、情報処理装置１は、ＨＢ（ホストブリッジ）４０と、ＰＵＩＢ（１）４１〜ＰＣＩＢ（３）４３と、ＤＥＶ（１）４４とを有している。ＨＢ４０は、ＣＰＵ群１０とバスを介して接続されたホストブリッジである。ＰＵＩＢ（１）４１〜ＰＣＩＢ（３）４３は、ＨＢ４０に接続されたＰＣＩルートブリッジ又はＰＣＩ  Ｅｘｐｒｅｓｓルートブリッジ（以下、「ＰＣＩルートブリッジ等」）である。ＤＥＶ（１）４４は、ＰＣＩＢ（１）４１に接続されたＰＣＩデバイス又はＰＣＩ  Ｅｘｐｒｅｓｓデバイス（以下、「ＰＣＩＢデバイス等」）である。なお、説明の簡略化ため、３つのＰＣＩＢ（１）４１〜ＰＣＩＢ（３）４３及び１つのＤＥＶ（１）４４を示しているが、これらの個数は限定されない。【００２１】
本実施例に係る情報処理装置１は、外部デバイスの追加等により種々のシステム構成をとり得る。図２及び図３は、情報処理装置１に対して外部デバイスを追加した状態を示す図である。【００２２】
例えば、図２に示す情報処理装置１では、Ｉ／Ｏ装置２が外部デバイスとして追加接続されている。なお、Ｉ／Ｏ装置２は、例えば、ＰＣＩＢデバイス等であるＰＣＩＢ（４）５１と、ＰＣＩＢ（４）に接続されたＰＣＩデバイス等であるＤＥＶ（１）５２とを有する。また、図３に示す情報処理装置１では、Ｉ／Ｏ装置３が外部デバイスとして追加接続されている。なお、Ｉ／Ｏ装置３は、例えば、ＰＣＩＢデバイス等であるＰＣＩＢ（５）５３と、ＰＣＩＢ（５）５３に接続されたＰＣＩデバイス等であるＤＥＶ（３）５４及びＤＥＶ（４）５５とを有する。【００２３】
そして、本実施例に係る情報処理装置１は、上記のようにシステム構成が変更された場合に、変更後のシステム構成に適合するように、自装置内に格納されたシステム構成情報を変更する機能を備えている。【００２４】
次に、図１を参照して、システム構成が変更された場合に、変更後のシステム構成に適合するように、自装置内に格納されたシステム構成情報を変更する機能を有する情報処理装置１における各部の構成について、具体的に説明する。【００２５】
ＣＰＵ群１０は、情報処理装置１においてＯＳの実行等の演算処理を行う演算処理装置である。ＣＰＵ群１０は、情報処理装置１におけるｎ個の演算処理装置としてＣＰＵ（１）〜ＣＰＵ（ｎ）を有する。このＣＰＵ群１０に含まれるＣＰＵ（１）１１は、フラッシュメモリ３０からファームウェア３３を読み出して実行することにより、デバイス構成情報検出部１２及びデバイス構成変更部１３として機能する演算処理装置である。【００２６】
デバイス構成情報検出部１２は、情報処理装置１に接続されるデバイスの変更後におけるデバイスの情報であるデバイス構成情報を検出する。デバイス構成変更部１３は、デバイス構成情報検出部１２が検出したデバイス構成情報と、フラッシュメモリ３０に記憶されたＡＭＬ変更テーブル３２とに基づいて、フラッシュメモリ３０に記憶されたシステム構成情報であるＤＳＤＴ３１を変更する。これらデバイス構成情報検出部１２及びデバイス構成変更部１３については、別途詳細に説明する。【００２７】
メインメモリ２０は、情報処理装置１の主記憶装置であり、ＯＳ２１を格納している。ＯＳ２１は、情報処理装置１におけるシステム、すなわち、ＣＰＵ群１０、メインメモリ２０、フラッシュメモリ３０等の各デバイスの初期化する機能などの情報処理装置１のコンピュータとしての基本的な機能を提供する基本ソフトウェアである。このＯＳ２１は、ＣＰＵ（１）１１によって読み出されて実行され、このＣＰＵ（１）１１を、情報処理装置１に接続される全てのデバイスにアクセスするシステム制御手段として機能させる。【００２８】
フラッシュメモリ３０は、ＣＰＵ（１）１１により実行される各種プログラムや、ＣＰＵ（１）１１によるプログラム実行時に参照される各種データを記憶する不揮発性メモリである。具体的には、フラッシュメモリ３０は、ＤＳＤＴ３１と、ＡＭＬ変更テーブル３２と、ファームウェア３３とを記憶している。【００２９】
ＤＳＤＴ３１は、情報処理装置１に接続されるデバイスの構成を、例えば、図４に示すＡＣＰＩ規格のフォーマットに準拠して定義するシステム構成情報である。図５は、図１に示すＤＳＤＴ３１の構成の一例を説明するための図である。この図５に示すように、ＤＳＤＴ３１は、図４に示すＡＣＰＩ規格のフォーマットに準拠した構成を有している。具体的には、ＤＳＤＴ３１は、ヘッダ部６１と、ＡＭＬ部６２とを有している。ヘッダ部６１は、ＤＳＤＴ１全体に対する誤り検出方法の一種であるチェックサム（ｃｈｅｃｋ  ｓｕｍ）を格納している。ここで、チェックサムとは、検査対象のデータの合計値であるチェックサムを計算して、データとともにメモリに格納し、データの読出し時に読み出されたデータの合計値を計算して、チェックサムと比較することにより、誤りを検出する誤り検出方法をいう。【００３０】
ＡＭＬ部６２は、情報処理装置１に接続されるデバイスを、ＡＭＬで記述された階層構造として定義する。特に、本実施例に係るＤＳＤＴ３１のＡＭＬ部６２では、情報処理装置１がとり得る全てのシステム構成がＡＭＬにより定義される。ここで、情報処理装置１がとり得る全てのシステム構成とは、情報処理装置１に接続され得る全てのデバイスの構成である所謂最大構成を意味している。具体的には、本実施例に係るＤＳＤＴ３１のＡＭＬ部６２には、図１に示す情報処理装置１の基本的なシステム構成だけでなく、図２に示すＩ／Ｏ装置２が外部デバイスとして追加接続された後の情報処理装置１のシステム構成、及び、図３に示すＩ／Ｏ装置３が外部デバイスとして追加接続された後の情報処理装置１のシステム構成が定義されている。【００３１】
例えば、図５に示すＤＳＤＴ３１内のＡＭＬ部６２では、図１のＰＣＩＢ（２）４２の配下に、図２のＰＣＩＢ（４）５１及び図３のＰＣＩＢ（５）５３が定義されているので、情報処理装置１に対して、Ｉ／Ｏ装置２及びＩ／Ｏ装置３が外部デバイスとして接続され得ることを表している。【００３２】
図６は、図５に示すＤＳＤＴ３１のＡＭＬ部６２の階層構造を、ＡＣＰＩ規格の名前空間として表した概念図である。なお、図６に示す名前空間では、説明を簡単にするため、メインメモリ２０やフラッシュメモリ３０等の一部のデバイスを省略している。図６に示す名前空間では、図１のＰＣＩＢ（２）４２の配下に、図２のＰＣＩＢ（４）５１及び図３のＰＣＩＢ（５）５３が定義されるため、情報処理装置１に対して、Ｉ／Ｏ装置２及びＩ／Ｏ装置３が外部デバイスとして接続され得ることを表している。【００３３】
図１の説明に戻る。ＡＭＬ変更テーブル３２は、情報処理装置１がとり得るシステム構成毎に、ＤＳＤＴ３１に対する差分情報を含むデバイス変更情報であり、デバイス構成変更部１３がＤＳＤＴ３１を変更する際に参照するテーブルである。すなわち、ＡＭＬ変更テーブル３２は、情報処理装置１に対して新たなデバイスが追加された場合に、その新たなデバイス毎に、ＤＳＤＴ３１のＡＭＬ部６２に定義されたシステム構成に含まれるデバイスのうち不要となるデバイスを反映させたテーブルである。なお、以下では、ＤＳＤＴ３１のＡＭＬ部６２に定義されたシステム構成に含まれるデバイスのうち不要となるデバイスを、「ＤＳＤＴ３１内の不要なデバイス」と呼ぶ。また、ＡＭＬ変更テーブル３２については、別途詳細に説明する。【００３４】
また、ファームウェア３３は、基本入出力機能を備えたＢＩＯＳ等のソフトウェアプログラムである。ファームウェア３３は、情報処理装置１の電源投入時にＣＰＵ（１）１１によって実行され、ＣＰＵ（１）１１を、デバイス構成情報検出部１２及びデバイス構成変更部１３として機能させるシステム構成変更プログラムである。【００３５】
続いて、本実施例に係るデバイス構成情報検出部１２、デバイス構成変更部１３及びＡＭＬ変更テーブル３２について詳細に説明する。図７は、ファームウェア３３の実行時に、デバイス構成変更部１３がＤＳＤＴ３１を変更する動作の一例を示す概念図である。【００３６】
図７に示すように、ＣＰＵ（１）１１がフラッシュメモリ３０からファームウェア３３を読み出して実行することにより、デバイス構成情報検出部１２及びデバイス構成変更部１３が実行状態となる。【００３７】
デバイス構成情報検出部１２は、情報処理装置１の電源投入時に、情報処理装置１に接続されている全てのデバイスを認識し、これらのデバイスの情報を、デバイス構成情報として検出する。例えば、デバイス構成情報検出部１２は、図１に示すＣＰＵ群１０、メインメモリ２０、フラッシュメモリ３０、ＨＢ４０等の基本的なデバイスを認識し、これら基本的なデバイスの情報を、デバイス構成情報として検出する。また、デバイス構成情報検出部１２は、基本的なデバイスに加えて、図２に示すＩ／Ｏ装置２や図３に示すＩ／Ｏ装置３等の情報処理装置１に新たに追加されたデバイスも認識し、これら新たに追加されたデバイスの情報を、デバイス構成情報として検出する。また、デバイス構成情報検出部１２は、検出したデバイス構成情報をデバイス構成変更部１３へ通知する。【００３８】
デバイス構成変更部１３は、新たに追加されたデバイスの情報を、デバイス構成情報としてデバイス構成情報検出部１２から受け取ると、ＡＭＬ変更テーブル３２を検索して、このデバイスに対応したＤＳＤＴ３１内の不要なデバイスの情報を取得する。また、デバイス構成変更部１３は、取得したＤＳＤＴ３１内の不要なデバイスの情報に従って、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスを書き換え、ＤＳＤＴ３１を変更する。特に、本実施例では、デバイス構成変更部１３は、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスを無効化することにより、ＤＳＤＴ３１を変更する。デバイス構成変更部１３により変更されたＤＳＤＴ３１は、ファームウェア３３によって、ＯＳ２１の起動時にＯＳ２１に引き渡される。【００３９】
図８は、デバイス構成変更部１３が、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスを無効化することにより、ＤＳＤＴ３１を変更する際に、参照するＡＭＬ変更テーブル３２の一例を示す説明図である。図８に示すように、ＡＭＬ変更テーブル３２は、６つの要素「親デバイス」、「子デバイス」、「適用条件」、「オフセット」、「変更前」及び「処理」の欄を有するテーブルである。【００４０】
要素「親デバイス」の欄は、ＤＳＤＴ３１内のＡＭＬ部６２の階層構造を名前空間として表した場合、名前空間の階層における配下に、新たにデバイスが追加される可能性のあるデバイス（親デバイス）の識別子を示している。【００４１】
要素「子デバイス」の欄は、親デバイスの配下に新たに追加される可能性のあるデバイス（子デバイス）の識別子を示している。なお、１つの親デバイスの配下に複数の子デバイスを接続する場合には、要素「子デバイス」の欄に複数の子デバイスの識別子を記載しておけばよい。【００４２】
要素「適用条件」の欄は、この要素「適用条件」以降の要素である３つの要素「オフセット」、「変更前」及び「処理」を、デバイス構成変更部１３に参照させるか否かを決定するための条件を示す。「存在する」は、子デバイスが親デバイスの配下に存在していることを意味し、「存在しない」は、子デバイスが親デバイスの配下に存在していないことを意味する。例えば、図８に示す例では、子デバイス「ＰＣＩＢ（４）」が親デバイス「ＰＣＩＢ（２）」の配下に存在するという条件を満たすときに、要素「適用条件」以降の要素「オフセット」、「変更前」及び「処理」の各欄をデバイス構成情報検出部１２が参照する。【００４３】
なお、以下では、これら３つの要素「親デバイス」、「子デバイス」及び「適用条件」の各欄に記載された情報を合わせて、変更情報と呼ぶこととする。【００４４】
要素「オフセット」は、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスの、ＤＳＤＴ３１内のＡＭＬ部６２における位置情報を示す。【００４５】
要素「変更前」は、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスの情報を示している。【００４６】
要素「処理」は、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスを無効化する際に、デバイス構成変更部１３によって実行される処理を示している。例えば、図８に示す「Ｍｅｔｈｏｄに置換」は、デバイス構成変更部１３が、要素「変更前」に記載されるデバイスを、ＡＣＰＩ規格で定められる処理を規定するＭｅｔｈｏｄに置換することを意味している。【００４７】
続いて、図８に示すＡＭＬ変更テーブル３２を利用して、デバイス構成変更部１３が、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスを無効化する処理の一例について説明する。図９は、図８に示すＡＭＬ変更テーブル３２を利用して、デバイス構成変更部１３が、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスを無効化した状態を示す説明図である。なお、図９では、デバイス構成変更部１３が、図５に示すＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスを無効化する場合について説明する。また、図９では、例として、情報処理装置１の電源投入時に、デバイス構成情報検出部１２が、図２に示す情報処理装置１に接続されている全てのデバイスの情報を、デバイス構成情報として検出した場合を示す。【００４８】
デバイス構成情報検出部１２からデバイス構成情報を受け取ると、デバイス構成変更部１３は、図８に示すＡＭＬ変更テーブル３２を参照して、子デバイス「ＰＣＩＢ（４）」が親デバイス「ＰＣＩＢ（２）」の配下に存在していることを確認する。そうすると、図９に示すように、デバイス構成変更部１３は、ＤＳＤＴ３１内のＸＸＸ位置に存在するデバイスであるＰＣＩＢ（５）を、ＡＣＰＩ規格で定められるＭｅｔｈｏｄに置換する。このようして、デバイス構成変更部１３は、図２に示す情報処理装置１に接続されていないデバイスであるＰＣＩＢ（５）以下のデバイス（つまり、図３のＩ／Ｏ装置３）を、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスとして、無効化する。なお、図９では、Ｄｅｖｉｃｅ（ＰＣＩＢ（５））をＭｅｔｈｏｄ（ＰＣＩＢ（５））に置換した例を示しているが、これはＭｅｔｈｏｄ（ＰＣＩＢ（５））内にリストされている要素の「ＮｏｏｐＯｐ」による置換を省略した態様を示している。【００４９】
図１０は、図９に示すＤＳＤＴ３１のＡＭＬ部６２の階層構造を、ＡＣＰＩ規格の名前空間として表した概念図である。なお、図１０に示す名前空間では、説明を簡単にするため、メインメモリ２０やフラッシュメモリ３０等の一部のデバイスを省略している。図１０に示す名前空間では、図２に示す情報処理装置１に接続されていないＰＣＩＢ（５）が、Ｍｅｔｈｏｄに置換されることにより、図３のＩ／Ｏ装置３が無効化されている。なお、図１０では、Ｄｅｖｉｃｅ（ＰＣＩＢ（５））をＭｅｔｈｏｄ（ＰＣＩＢ（５））に置換した例を示しているが、Ｍｅｔｈｏｄ（ＰＣＩＢ（５））内にリストされている要素の「ＮｏｏｐＯｐ」による置換を省略した態様を示している。【００５０】
次に、本実施例に係る情報処理装置１におけるシステム構成変更処理について説明する。図１１は、本実施例に係る情報処理装置１におけるシステム構成変更処理の処理手順を示すフローチャートである。【００５１】
図１１に示すように、まず、電源投入により情報処理装置１が起動する（ステップＳ１００）。具体的には、ＣＰＵ（１）１１が、フラッシュメモリ３０からファームウェア３３を読み出して実行することにより、デバイス構成情報検出部１２及びデバイス構成変更部１３が実行状態となる。【００５２】
ファームウェア３３を実行したＣＰＵ（１）１１は、フラッシュメモリ３０からＤＳＤＴ３１を読み出して、所定のメモリに展開する（ステップＳ１０１）。次いで、デバイス構成情報検出部１２は、情報処理装置１に接続されている全てのデバイスの情報を、デバイス構成情報として検出する（ステップＳ１０２）。【００５３】
次いで、デバイス構成変更部１３は、デバイス構成情報に含まれる各デバイスに対応する変更情報が存在するか否かについて、ＡＭＬ変更テーブル３２を検索する（ステップＳ１０３）。【００５４】
次いで、デバイス構成変更部１３は、ＡＭＬ変更テーブル３２に、デバイス構成情報のデバイスに対応する変更情報が存在するか否かを判定する（ステップＳ１０４）。例えば、この判定は、図８に示すＡＭＬ変更テーブル３２において、子デバイス「ＰＣＩＢ（４）」が親デバイス「ＰＣＩＢ（２）」の配下に存在するという条件を満たすか否かを判定することにより行われる。【００５５】
その結果、ＡＭＬ変更テーブル３２に、デバイス構成情報のデバイスに対応する変更情報が存在しないと判定すると（ステップＳ１０４：Ｎｏ）、デバイス構成変更部１３は、処理をステップＳ１０３に戻す。【００５６】
一方、ＡＭＬ変更テーブル３２に、デバイス構成情報のデバイスに対応する変更情報が存在すると判定すると（ステップＳ１０４：Ｙｅｓ）、デバイス構成変更部１３は、ＡＭＬ変更テーブル３２を参照して、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスの位置を特定する（ステップＳ１０５）。例えば、デバイス構成変更部１３は、図８に示すＡＭＬ変更テーブル３２の要素「オフセット」に記述された位置情報を用いて、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスの位置を特定する。【００５７】
次いで、デバイス構成変更部１３は、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスが既に書き換えられているか否かを判定する（ステップＳ１０６）。本実施例では、デバイス構成変更部１３は、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスが、既にＡＣＰＩ規格で定められるＭｅｔｈｏｄに置換されているか否かを判定する。【００５８】
その結果、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスが既に書き換えられていると判定すると（ステップＳ１０６：Ｙｅｓ）、デバイス構成変更部１３は、処理をステップＳ１０３に戻す。【００５９】
一方、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスが未だ書き換えられていないと判定すると（ステップＳ１０６：Ｎｏ）、デバイス構成変更部１３は、ＤＳＤＴ３１を変更するためのＤＳＤＴ変更処理を実行する（ステップＳ１０７）。なお、ステップＳ１０７のＤＳＤＴ変更処理については、後に図１２〜図１４を参照して詳細に説明する。【００６０】
次いで、デバイス構成変更部１３は、デバイス構成情報に含まれる全てのデバイスについて、ＡＭＬ変更テーブル３２の検索が終了したか否かを判定する（ステップＳ１０８）。その結果、デバイス構成情報に含まれる全てのデバイスについて、ＡＭＬ変更テーブル３２の検索が終了していないと判定すると（ステップＳ１０８：Ｎｏ）、処理をステップＳ１０３に戻す。一方、デバイス構成情報に含まれる全てのデバイスについて、ＡＭＬ変更テーブル３２の検索が終了したと判定すると（ステップＳ１０８：Ｙｅｓ）、デバイス構成変更部１３は、処理をステップＳ１０９に移行する。【００６１】
ステップＳ１０９において、ＣＰＵ（１）１１は、メインメモリ２０からＯＳ２１を起動すると共に、ステップＳ１０７のＤＳＤＴ変更処理による変更後のＤＳＤＴ３１をＯＳ２１に引き渡し（ステップＳ１０９）、システム構成変更処理を終了する。【００６２】
続いて、図１２〜図１４を参照して、ステップＳ１０７のデバイス構成変更部１３によるＤＳＤＴ変更処理について説明する。図１２は、ステップＳ１０７のデバイス構成変更部１３によるＤＳＤＴ変更処理の処理手順の一例を説明するための図である。図１３は、図１２に示すＤＳＤＴ変更処理を実行することにより、デバイス構成変更部１３が、図５に示すＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスであるＰＣＩＢ（５）を無効化した状態を示す説明図である。図１４は、図１３に示すＤＳＤＴ３１のＡＭＬ部６２の階層構造を、ＡＣＰＩ規格の名前空間として表した概念図である。
【００６３】
図１２に示すように、まず、ＤｅｖｉｃｅＯｐをＭｅｔｈｏｄＯｐに置換する。次いで、[ＰｋｇＬｅｎｇｔｈ]を１ｂｙｔｅ手前に移動する。これにより、ＤｅｖｉｃｅＯｐは２ｂｙｔｅであり、ＭｅｔｈｏｄＯｐは１ｂｙｔｅであるので、両者の差である１ｂｙｔｅを埋めることができる。なお、[ＰｋｇＬｅｎｇｔｈ]を１ｂｙｔｅ手前に移動すると共に、[ＰｋｇＬｅｎｇｔｈ]の示すパッケージ長に１ｂｙｔｅ追加してもよい。【００６４】
次いで、[ＮａｍｅＳｔｒｉｎｇ]を１ｂｙｔｅ手前に移動する。これにより、[ＰｋｇＬｅｎｇｔｈ]を１ｂｙｔｅ手前に移動したことにより生じた１ｂｙｔｅを埋めることができる。なお、上述したように、[ＰｋｇＬｅｎｇｔｈ]の示すパッケージ長に１ｂｙｔｅ追加することで、[ＰｋｇＬｅｎｇｔｈ]自体の長さが１ｂｙｔｅ増加している場合には、[ＮａｍｅＳｔｒｉｎｇ]を移動する必要はない。【００６５】
最後に、[ＯｂｊｅｃｔＬｉｓｔ]にリストされている要素を全て[ＮｏｏｐＯｐ]で置換する。なお、[ＮｏｏｐＯｐ]は、１ｂｙｔｅのオペレータであり、如何なる動作も行われないことを意味する。【００６６】
このようにして、デバイス構成変更部１３は、図５に示すＰＣＩＢ（５）のＤｅｖｉｃｅ定義「Ｄｅｖｉｃｅ（ＰＣＩＢ（５））」を、図１３及び図１４に示すように、ＰＣＩＢ（５）のＭｅｔｈｏｄ定義「Ｍｅｔｈｏｄ（ＰＣＩＢ（５））」に置換することができる。すなわち、図５に示すＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスであるＰＣＩＢ（５）を無効化することができる。【００６７】
なお、図１２〜図１４では、図５に示すＰＣＩＢ（５）のＤｅｖｉｃｅ定義「Ｄｅｖｉｃｅ（ＰＣＩＢ（５））」のＤｅｖｉｃｅＯｐをＭｅｔｈｏｄＯｐに置換した後、[ＯｂｊｅｃｔＬｉｓｔ]にリストされている要素を全て[ＮｏｏｐＯｐ]で置換する場合について説明したが、[ＮｏｏｐＯｐ]による置換を省略することもできる。この場合、デバイス構成変更部１３は、図５に示すＰＣＩＢ（５）のＤｅｖｉｃｅ定義「Ｄｅｖｉｃｅ（ＰＣＩＢ（５））」を、図９及び図１０に示すように、ＰＣＩＢ（５）のＭｅｔｈｏｄ定義「Ｍｅｔｈｏｄ（ＰＣＩＢ（５））」に置換することになる。【００６８】
次に、図８に示すＡＭＬ変更テーブル３２の作成方法について説明する。図１５は、図８に示すＡＭＬ変更テーブル３２の作成方法の一例について説明するためのフローチャートである。図１５に示すように、ＡＭＬ変更テーブル３２の作成に際しては、まず、ＤＳＤＴ３１内のＡＭＬ部６２に対応したＡＳＬ（ＡＣＰＩ  Ｓｏｕｒｃｅ  Ｌａｎｇｕａｇｅ）ファイルを作成する（ステップＳ３０１）。【００６９】
次いで、ＡＳＬコンパイラを用いて上記のＡＳＬファイルをコンパイルすることにより、ＤＳＤＴ３１内のＡＭＬ部６２に対応したＡＭＬファイルを生成する（ステップＳ３０２）。次いで、オフセット情報算出ツールを上記のＡＭＬファイルに適用することにより、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスの、ＤＳＤＴ３１内のＡＭＬ部６２における位置情報を、図８に示す要素「オフセット」に格納する情報（オフセット情報）として算出する。同時に、ＡＭＬファイルから、ＡＭＬ変更テーブル３２の元ファイルをＣ言語形式で生成する（ステップＳ３０３）。最後に、Ｃコンパイラを用いて上記のＡＭＬ変更テーブル３２の元ファイルをコンパイルすることにより（ステップＳ３０４）、ＡＭＬ変更テーブル３２を作成する。【００７０】
このようにして、要素「オフセット」にオフセット情報を格納した図８のＡＭＬ変更テーブル３２を完成することができる。このように、本実施例のＡＭＬ変更テーブル３２には、オフセット情報が含まれているため、デバイス構成変更部１３は、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスの、ＤＳＤＴ３１内のＡＭＬ部６２における位置を効率的に特定することができる。その結果、デバイス構成変更部１３によるＤＳＤＴ変更処理を高速化することができる。【００７１】
上述してきたように、本実施例では、ＤＳＤＴ３１に、情報処理装置１がとり得る全てのシステム構成である最大構成が定義され、デバイス構成変更部１３は、情報処理装置１の電源投入時に、ＤＳＤＴ３１から不要なデバイスを無効化することにより、ＤＳＤＴ３１を変更する。そして、変更後のＤＳＤＴ３１が、ファームウェア３３によってＯＳ２１に引き渡される。このため、情報処理装置１のシステム構成が変更された場合に、ＯＳ２１が、ＡＣＰＩ規格におけるＤＳＤＴをサポートしているが、ＳＳＤＴやＯＥＭＴをサポートしていない場合であっても、ＯＳ２１の正常起動を確保することができる。つまり、システム構成が変更された場合に、ＯＳの種類に関わらず、ＯＳの正常起動を確保することができる。
【実施例２】
【００７２】
次に、実施例２に係る情報処理装置１について説明する。本実施例と実施例１とは、ＤＳＤＴ３１を変更する機能が異なる。すなわち、実施例１では、デバイス構成変更部１３が、ＤＳＤＴ３１から不要なデバイスを無効化することにより、ＤＳＤＴ３１を変更したが、本実施例では、デバイス構成変更部１３が、ＤＳＤＴ３１から不要なデバイスを削除することにより、ＤＳＤＴ３１を変更する。この機能を実現するため、本実施例に係る情報処理装置１は、図８に示すＡＭＬ変更テーブル３２に代えて、図１６に示すＡＭＬ変更テーブル１３２を有している。その他の構成は、基本的に実施例１と同様であるので、実施例１と同一の構成については、その詳しい説明を省略する。【００７３】
図１６は、本実施例に係るＡＭＬ変更テーブル１３２を説明するための図である。なお、ＡＭＬ変更テーブル１３２は、デバイス構成変更部１３が、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスを削除することにより、ＤＳＤＴ３１を変更する際に、デバイス構成変更部１３により参照されるテーブルである。【００７４】
図１６に示すように、ＡＭＬ変更テーブル１３２は、５つの要素「親デバイス」、「子デバイス」、「適用条件」、「変更前」及び「削除サイズ」を組み合わせたテーブルである。５つの要素のうち、４つの要素「親デバイス」、「子デバイス」、「適用条件」及び「変更前」については、図８に示すＡＭＬ変更テーブル３２と同様であるため、その詳しい説明を省略する。【００７５】
要素「削除サイズ」は、要素「変更前」に記載されたデバイスの配下の階層のサイズ、すなわち、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスの配下の階層のサイズを示している。【００７６】
続いて、図１６に示すＡＭＬ変更テーブル１３２を利用して、デバイス構成変更部１３が、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスを削除する処理の一例について説明する。図１７は、図１６に示すＡＭＬ変更テーブル１３２を利用して、デバイス構成変更部１３が、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスを削除した状態を示す説明図である。なお、図１７では、デバイス構成変更部１３が、図５に示すＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスを削除する場合について説明する。また、図１７では、情報処理装置１の電源投入時に、デバイス構成情報検出部１２が、図２に示す情報処理装置１に接続されている全てのデバイスの情報を、デバイス構成情報として検出したものとする。【００７７】
デバイス構成情報検出部１２からデバイス構成情報を受け取ると、デバイス構成変更部１３は、図１６に示すＡＭＬ変更テーブル１３２を参照して、子デバイス「ＰＣＩＢ（４）」が親デバイス「ＰＣＩＢ（２）」の配下に存在していることを確認する。そうすると、図１７に示すように、デバイス構成変更部１３は、配下の階層のサイズが「ａａａ」（図１７の例では、ａａａ＝５０ｂｙｔｅ）である「ＰＣＩＢ（５）」を削除する。このようにして、デバイス構成変更部１３は、図２に示す情報処理装置１に接続されていないデバイスであるＰＣＩＢ（５）以下のデバイス（つまり、図３のＩ／Ｏ装置３）を、ＤＳＤＴ３１内のＡＭＬ部６２に定義された不要なデバイスとして、削除する。【００７８】
また、デバイス構成変更部１３は、ＰＣＩＢ（５）以下のデバイスを削除した後、ＰＣＩＢ（５）よりも上位の階層のサイズを、ＰＣＩＢ（５）配下の階層のサイズ「ａａａ」＝５０ｂｙｔｅ分だけ、減じる。また、デバイス構成変更部１３は、ヘッダ部６１のチェックサムも変更する。【００７９】
図１８は、図１７に示すＤＳＤＴ３１のＡＭＬ部６２の階層構造を、ＡＣＰＩ規格の名前空間として表した概念図である。なお、図１８に示す名前空間では、説明を簡単にするため、メインメモリ２０やフラッシュメモリ３０等の一部のデバイスを省略している。図１８に示す名前空間では、図２に示す情報処理装置１に接続されていないＰＣＩＢ（５）が削除されることにより、図３のＩ／Ｏ装置３が削除されている。【００８０】
次に、本実施例に係る情報処理装置１におけるシステム構成変更処理について説明する。本実施例のシステム構成変更処理は、図１１に示すステップＳ１０７のＤＳＤＴ変更処理の処理内容が実施例１と異なる。その他の工程は、基本的に実施例１と同様であるので、実施例１と同一の工程については、その詳しい説明を省略する。【００８１】
図１９は、ステップＳ１０７のＤＳＤＴ変更処理の処理手順の一例を説明するための図である。なお、図１９では、デバイス構成変更部１３が、図５に示すＰＣＩＢ（５）のＤｅｖｉｃｅ定義「Ｄｅｖｉｃｅ（ＰＣＩＢ（５））」を削除する場合について説明する。【００８２】
図１９に示すように、ＤＳＤＴ３１内のＡＭＬ部６２の中から、Ｄｅｖｉｃｅ定義「Ｄｅｖｉｃｅ（ＰＣＩＢ（５））」をサーチする。次いで、予め用意しておいたＤＳＤＴ３１と同じサイズのメモリ領域（以下、「新ＤＳＤＴ用メモリ領域」という）に、ＤＳＤＴ３１の先頭（ＤＳＤＴ３１内のヘッダ部６１を含む）から、図１９上に示す下線部分の直前までをコピーする。これと同時に、新ＤＳＤＴ用メモリ領域に、図１９上に示す下線部分の直後からＤＳＤＴ３１内のＡＭＬ部６２の最後までをコピーする。これにより、新ＤＳＤＴ用メモリ領域には、ＤＳＤＴ３１から図１９上に示す下線部分を削除した部分が格納される。【００８３】
次いで、新ＤＳＤＴ用メモリ領域において、削除した定義（すなわち、図１９上に示す下線部分）の上位の階層のＰｋｇＬｅｎｇｔｈの値を変更する。すなわち、ＰｋｇＬｅｎｇｔｈ（ｂ）を変更し、削除した定義のサイズ（図１６に示す「ａａａ」）だけ減じる。【００８４】
次いで、新ＤＳＤＴ用メモリ領域において、次の上位の階層のＰｋｇＬｅｎｇｔｈの値を変更する。すなわち、ＰｋｇＬｅｎｇｔｈ（ａ）を変更し、削除した定義のサイズ（図１６に示す「ａａａ」）だけ減じる。以後同様に、上位の階層がなくなるまでＰｋｇＬｅｎｇｔｈの値を変更する。【００８５】
最後に、新ＤＳＤＴ用メモリ領域にコピーされたＤＳＤＴ３１内のヘッダ部６１におけるＬｅｎｇｔｈとＣｈｅｃｋｓｕｍを再計算する。【００８６】
このようにして、デバイス構成変更部１３は、図５に示すＰＣＩＢ（５）のＤｅｖｉｃｅ定義「Ｄｅｖｉｃｅ（ＰＣＩＢ（５））」を削除することができる。【００８７】
上述してきたように、本実施例では、ＤＳＤＴ３１に、情報処理装置１がとり得る全てのシステム構成が定義され、デバイス構成変更部１３は、情報処理装置１の電源投入時に、ＤＳＤＴ３１から不要なデバイスを削除することにより、ＤＳＤＴ３１を変更する。そして、変更後のＤＳＤＴ３１が、ファームウェア３３によってＯＳ２１に引き渡される。このため、情報処理装置１のシステム構成が変更された場合に、ＯＳ２１が、ＡＣＰＩ規格におけうＤＳＤＴをサポートしているが、ＳＳＤＴやＯＥＭＴをサポートしていない場合であっても、ＯＳ２１の正常起動を確保することができる。つまり、システム構成が変更された場合に、ＯＳの種類に関わらず、ＯＳの正常起動を確保することができる。
【図１】
2010084617.tif 000003
【図２】
2010084617.tif 000004
【図３】
2010084617.tif 000005
【図４】
2010084617.tif 000006
【図５】
2010084617.tif 000007
【図６】
2010084617.tif 000008
【図７】
2010084617.tif 000009
【図８】
2010084617.tif 000010
【図９】
2010084617.tif 000011
【図１０】
2010084617.tif 000012
【図１１】
2010084617.tif 000013
【図１２】
2010084617.tif 000014
【図１３】
2010084617.tif 000015
【図１４】
2010084617.tif 000016
【図１５】
2010084617.tif 000017
【図１６】
2010084617.tif 000018
【図１７】
2010084617.tif 000019
【図１８】
2010084617.tif 000020
【図１９】
2010084617.tif 000021
【図２０】
2010084617.tif 000022
【図２１】
2010084617.tif 000023
【図２２】
2010084617.tif 000024
【図２３】
2010084617.tif 000025
【図２４】
2010084617.tif 000026
【図２５】
2010084617.tif 000027
【図２６】
2010084617.tif 000028
【手続補正書】
【提出日】平成23年3月28日(2011.3.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
演算処理装置と第１の記憶装置とを有する情報処理装置において、
前記第１の記憶装置は、
前記情報処理装置が取り得るシステム構成毎に、前記情報処理装置に接続されるデバイスの構成を定義する第１のシステム構成情報に対する差分情報を含むデバイス変更情報と、
前記演算処理装置を、
前記情報処理装置に接続されるデバイスの変更後におけるデバイスの情報であるデバイス構成情報を検出するデバイス構成情報検出手段と、
前記デバイス構成情報検出手段が検出したデバイス構成情報と、前記デバイス変更情報とに基づいて、前記第１のシステム構成情報を第２のシステム構成情報に変更するデバイス構成変更手段として機能させる第１のプログラムと
を有することを特徴とする情報処理装置。
【請求項２】
前記第１のシステム構成情報には、
前記情報処理装置が取り得る全てのシステム構成が定義され、
前記デバイス構成変更手段は、
前記第１のシステム構成情報から不要なシステム構成を無効化することにより、前記第２のシステム構成情報に変更することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第１のシステム構成情報には、
前記情報処理装置が取り得る全てのシステム構成が定義され、
前記デバイス構成変更手段は、
前記第１のシステム構成情報から不要なシステム構成を削除することにより、前記第２のシステム構成情報に変更することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記情報処理装置は、さらに入出力装置と第２の記憶装置とを有し、
前記第２の記憶装置は、
前記演算処理装置を、
前記第２のシステム構成情報に基づいて、前記演算処理装置、前記第１の記憶装置又は前記入出力装置にアクセスするシステム制御手段として機能させる第２のプログラムを有することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記第２のシステム構成情報は、
前記演算処理装置、前記第１の記憶装置又は前記入出力装置を、階層構造として定義することにより、前記システム制御手段にアクセスさせることを特徴とする請求項４記載の情報処理装置。
【請求項６】
情報処理装置の有する第１の記憶装置が、前記情報処理装置が取り得るシステム構成毎に、前記情報処理装置に接続されるデバイスの構成を定義する第１のシステム構成情報に対する差分情報を含むデバイス変更情報を格納する情報処理装置のシステム構成変更方法であって、
前記情報処理装置の有する演算処理装置が、前記情報処理装置に接続されるデバイスの変更後におけるデバイスの情報であるデバイス構成情報を検出するステップと、
前記情報処理装置の有する演算処理装置が、前記演算処理装置が検出したデバイス構成情報と、前記第１の記憶装置に格納されたデバイス変更情報とに基づいて、前記第１のシステム構成情報を第２のシステム構成情報に変更するステップと
を含んだことを特徴とするシステム構成変更方法。
【請求項７】
情報処理装置の有する第１の記憶装置が、前記情報処理装置が取り得るシステム構成毎に、前記情報処理装置に接続されるデバイスの構成を定義する第１のシステム構成情報に対する差分情報を含むデバイス変更情報を格納する情報処理装置のシステム構成変更プログラムであって、
前記情報処理装置の有する演算処理装置を、
前記情報処理装置に接続されるデバイスの変更後におけるデバイスの情報であるデバイス構成情報を検出するデバイス構成情報検出手段と、
前記デバイス構成情報検出手段が検出したデバイス構成情報と、前記第１の記憶装置に格納されたデバイス変更情報とに基づいて、前記第１のシステム構成情報を第２のシステム構成情報に変更するデバイス構成変更手段
として機能させることを特徴とするシステム構成変更プログラム。
【国際調査報告】
2010084617.tif 000029
2010084617.tif 000030
2010084617.tif 000031
2010084617.tif 000032
2010084617.tif 000033