(57)【要約】 【課題】  オペレーティング・システムの初期化に割り込む機能と、オペレーティング・システムの初期化が割り込まれるとビデオ・フレーム・バッファをプラットフォーム・グラフィクス・データで更新する機能と、オペレーティング・システム初期化ロジックによって生成されたグラフィクス、及びプラットフォーム・グラフィクス・データをマージする機能とを含む、コンピュータの初期化中にプラットフォーム・グラフィクスを表示するための方法及びシステム。【解決手段】  方法及びシステムは、仮想化方法及び仮想化システム、並びにシステム管理モード方法及びシステム管理モード・システムを含む。【選択図】図７
2011028712.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
ビデオ・ドライバを起動させる工程を含む、コンピュータ・システムを初期化する工程と、
前記コンピュータ・システム上でオペレーティング・システムを初期化する工程と、
前記オペレーティング・システムの初期化に、反復して割り込む工程と、
前記オペレーティング・システムの初期化が割り込まれると、ビデオ・フレーム・バッファがプラットフォーム・ビデオ・フレーム・データで更新される工程と、
前記ビデオ・フレーム・バッファの更新後、前記オペレーティング・システムの初期化を再開する工程とを含む方法。
【請求項２】
請求項１記載の方法であって、
オペレーティング・システム・ビデオ・サービス要求、及び前記オペレーティング・システムの初期化に関連付けられた対応するグラフィクスを傍受する工程と、
前記グラフィクスを前記プラットフォーム・ビデオ・フレーム・データとマージする工程とを含み、
前記ビデオ・フレーム・バッファを更新する工程は、前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで更新する工程を含む方法。
【請求項３】
請求項１記載の方法であって、
前記オペレーティング・システムの初期化が完了すると、前記プラットフォーム・ビデオ・フレーム・データの表示を停止する工程とを含む方法。
【請求項４】
請求項１記載の方法であって、
前記コンピュータ・システム上で仮想マシンを起動させる工程と、
プラットフォーム初期化ドライバ及びアプリケーションを前記仮想マシンに転送する工程と、
前記仮想マシン内で前記オペレーティング・システムの初期化を行う工程とを含み、
前記反復して割り込む工程は、反復して前記仮想マシンを中断する工程を含み、
前記ビデオ・フレーム・バッファの更新は、前記仮想マシンが中断すると、前記ビデオ・フレーム・バッファを更新する工程を含む方法。
【請求項５】
請求項４記載の方法であって、
前記仮想マシン内で前記オペレーティング・システムの初期化を行う工程は、
前記仮想マシンに対して前記ビデオ・フレーム・バッファを仮想化する工程と、
前記仮想マシンと前記仮想化ビデオ・フレーム・バッファとの間でインタフェースする工程とを含み、
前記ビデオ・フレーム・バッファを更新する工程は、
前記プラットフォーム・ビデオ・フレーム・データをプラットフォーム・ビデオ・デコード・バッファに復号化する工程と、
仮想ビデオ・フレーム・バッファ及び前記プラットフォーム・ビデオ・デコード・バッファからのビデオ・フレーム・データをマージする工程と、
前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで更新する工程とを含む方法。
【請求項６】
請求項１記載の方法であって、
前記割り込む工程は、タイマ割り込みに応答して、通常プロセッサ環境に割り込む工程を含み、
前記ビデオ・フレーム・バッファの更新は、前記プラットフォーム・ビデオ・フレーム・データを復号化し、前記通常プロセッサ環境が中断している間に前記タイマ割り込みに応じて前記ビデオ・フレーム・バッファの更新を行い、前記ビデオ・フレーム・バッファの更新に続き、前記通常プロセッサ環境を再開する工程を含む方法。
【請求項７】
請求項６記載の方法であって、
前記通常プロセッサ環境において前記オペレーティング・システムの初期化に関連付けられた対応するグラフィクス及びビデオ・サービス要求を傍受し、ビデオ・サービス要求に応じてビデオ・サービス割り込みを生成する工程と、
前記ビデオ・サービス割り込みに応じて前記通常プロセッサ環境に割り込む工程と、
前記通常プロセッサ環境が中断している間に前記グラフィクスでオペレーティング・システム初期化ビデオ・フレーム・バッファを更新する工程と、
前記オペレーティング・システム初期化ビデオ・フレーム・バッファの更新に続いて前記通常プロセッサ環境を再開する工程とを含み、
前記ビデオ・フレーム・バッファの更新は、前記オペレーティング・システム初期化ビデオ・フレーム・バッファにおけるグラフィクスを前記プラットフォーム・ビデオ・フレーム・デコード・バッファにおける復号化されたプラットフォーム・ビデオ・フレーム・データとマージし、前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで更新する工程を更に含む方法。
【請求項８】
請求項６記載の方法であって、
前記コンピュータ・システムの初期化中に、前記ビデオ・フレーム・バッファの位置に値を書き込む工程と、
前記位置へのプラットフォーム・ビデオ・データの書き込みを排除する工程と、
前記位置の内容を前記値と前記タイマ割り込みに応じて比較する工程と、
前記位置の内容が前記値と異なる場合、前記プラットフォーム・ビデオ・フレーム・データの表示を停止する工程とを更に含む方法。
【請求項９】
コンピュータ・プログラム・ロジックを記憶させたコンピュータ読み取り可能な媒体を備えたコンピュータ・プログラム・プロダクトであって、前記コンピュータ・プログラム・ロジックは、
プロセッサにコンピュータ・システムを初期化させるためのプラットフォーム初期化ロジックと、
前記プロセッサに動作環境を初期化させるためのオペレーティング・システム初期化ロジックと、
前記プロセッサに、反復して前記オペレーティング・システム初期化ロジックの処理に割り込ませ、前記オペレーティング・システム初期化ロジックの処理が割り込まれるとプラットフォーム・ビデオ・フレーム・データでビデオ・フレーム・バッファを更新させるためのプラットフォーム・グラフィクス・ビデオ・ディスプレイ・ロジックとを含むコンピュータ・プログラム・プロダクト。
【請求項１０】
請求項９記載のコンピュータ・プログラム・プロダクトであって、
前記オペレーティング・システム初期化ロジックに関連付けられた対応するグラフィクス及びビデオ・サービス要求を前記プロセッサに傍受させるための傍受ロジックと、
前記グラフィクス及び前記プラットフォーム・ビデオ・フレーム・データを前記プロセッサにマージさせるためのマージ・ロジックとを更に含み、
前記プラットフォーム・ビデオ・ディスプレイは、前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで前記プロセッサに更新させるためのロジックを含むコンピュータ・プログラム・プロダクト。
【請求項１１】
請求項９記載のコンピュータ・プログラム・プロダクトであって、
前記動作環境の初期化後に前記プラットフォーム・ビデオ・ディスプレイ・ロジックを前記プロセッサに停止させるためのプラットフォーム・ビデオ・ディスプレイ停止ロジックを更に含むコンピュータ・プログラム・プロダクト。
【請求項１２】
請求項９記載のコンピュータ・プログラム・プロダクトであって、前記プラットフォーム・ビデオ・ディスプレイ・ロジックは、
前記プロセッサに、仮想マシンをホストさせ、プラットフォーム初期化ドライバ及びアプリケーションを前記仮想マシンに転送させ、前記仮想マシン内で前記オペレーティング・システム初期化ロジックを起動させるための仮想マシン・マネージャ・ロジックと、
前記プロセッサに、反復して前記仮想マシンを中断させ、前記仮想マシンが中断すると前記プラットフォーム・ビデオ・フレーム・データで前記ビデオ・フレーム・バッファを更新させるための割り込みロジックとを含むコンピュータ・プログラム・プロダクト。
【請求項１３】
請求項１２記載のコンピュータ・プログラム・プロダクトであって、前記仮想マシン・マネージャ・ロジックは、前記仮想マシンに対して前記ビデオ・フレーム・バッファを前記プロセッサに仮想化させるためのロジックを含み、前記プラットフォーム・ビデオ・ディスプレイ・ロジックは仮想ディスプレイ・ロジックを更に含み、前記仮想ディスプレイ・ロジックは、
前記仮想マシンと前記仮想化ビデオ・フレーム・バッファとの間の１つ又は複数のビデオ・インタフェースを前記プロセッサに供給させるためのビデオ・インタフェース・ロジックと、
前記プロセッサに、前記プラットフォーム・ビデオ・フレーム・データをプラットフォーム・ビデオ・デコード・バッファに復号化させるためのプラットフォーム・ビデオ・デコード・ロジックと、
前記プロセッサに、前記仮想フレーム・バッファ及び前記プラットフォーム・ビデオ・デコード・バッファからのビデオ・フレーム・データをマージさせ、前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで更新させるためのバッファ・マージ・ロジックとを含むコンピュータ・プログラム・プロダクト。
【請求項１４】
請求項９記載のコンピュータ・プログラム・プロダクトであって、前記プラットフォーム・ビデオ・ディスプレイ・ロジックは、ファームウェアに記憶されたシステム管理モード・ロジックを含み、前記プロセッサは、通常プロセッサ環境を中断し、前記通常プロセッサ環境の状態を記憶し、割り込みに応答して前記システム管理モード・ロジックを起動させるよう構成され、前記システム管理モード・ロジックは、
タイマ割り込みを反復して生成するためのタイマ・ロジックと、
前記プロセッサに前記プラットフォーム・ビデオ・フレーム・データを復号化させ、前記タイマ割り込みに応答して前記プラットフォーム・ビデオ・フレーム・データで前記ビデオ・フレーム・バッファを更新させ、前記ビデオ・フレーム・バッファの更新に続いて前記通常プロセッサ環境を再開させるためのタイマ割り込みハンドラ・ロジックとを含むコンピュータ・プログラム・プロダクト。
【請求項１５】
請求項１４記載のコンピュータ・プログラム・プロダクトであって、前記システム管理モード・ロジックは、
前記通常プロセッサ環境におけるビデオ・ディスパッチ・サービスを前記プロセッサに起動させて、前記プロセッサに、ビデオ・サービス要求、及び前記オペレーティング・システム初期化ロジックに関連付けられた対応するグラフィクスを傍受させ、前記ビデオ・サービス要求に応答してビデオ・サービス割り込みを生成させるためのビデオ・サービス・ディスパッチ・ロジックと、
前記プロセッサに、前記ビデオ・サービス割り込みに応答して、オペレーティング・システム初期化ビデオ・フレーム・バッファを前記グラフィクスで更新させ、前記オペレーティング・システム初期化ビデオ・フレーム・バッファの更新に続いて前記通常プロセッサ環境を再開させるためのビデオ・サービス割り込みハンドラ・ロジックとを含み、
前記タイマ割り込みハンドラ・ロジックは、前記プロセッサに、前記オペレーティング・システム初期化ビデオ・フレーム・バッファにおける前記オペレーティング・システム初期化グラフィクス及び前記復号化プラットフォーム・ビデオ・データをマージさせ、前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで更新させるためのマージ・ロジックを含むコンピュータ・プログラム・プロダクト。
【請求項１６】
請求項１４記載のコンピュータ・プログラム・プロダクトであって、前記システム管理モード・ロジックは、プラットフォーム・ビデオ・ディスプレイ停止ロジックを更に含み、
前記プラットフォーム・ビデオ・ディスプレイ停止ロジックは、
前記システム管理モード・ロジックが起動されると、前記プロセッサに、値を前記ビデオ・フレーム・バッファの位置に書き込ませるためのロジックと、
前記プロセッサが前記位置にプラットフォーム・ビデオ・データを書き込むことを排除するためのロジックと、
前記プロセッサに、前記位置の内容を前記値と前記タイマ割り込みに応じて比較させるためのロジックと、
前記位置の内容が前記値と異なる場合、前記プロセッサに前記プラットフォーム・ビデオ・ディスプレイ・ロジックを停止させるためのロジックとを含むコンピュータ・プログラム・プロダクト。
【請求項１７】
システムであって、
コンピュータ・システムと、
前記コンピュータ・システムを初期化するためのプラットフォーム初期化ロジックと、
前記コンピュータ・システムの動作環境を初期化させるためのオペレーティング・システム初期化ロジックと、
反復して前記オペレーティング・システム初期化ロジックに割り込み、前記オペレーティング・システム初期化ロジックが割り込まれるとプラットフォーム・ビデオ・フレーム・データでビデオ・フレーム・バッファを更新するためのプラットフォーム・グラフィクス・ビデオ・ディスプレイ・ロジックとを含むシステム。
【請求項１８】
請求項１７記載のシステムであって、
ビデオ・サービス要求、及び前記オペレーティング・システムの初期化に関連付けられた対応するグラフィクスを傍受するための傍受ロジックと、
前記グラフィクスを前記プラットフォーム・ビデオ・フレーム・データとマージするマージ・ロジックとを含み、
前記プラットフォーム・グラフィクス・ビデオ・ディスプレイ・ロジックは、前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで更新するためのロジックを含むシステム。
【請求項１９】
請求項１７記載のシステムであって、
前記動作環境の初期化後に前記プラットフォーム・ビデオ・ディスプレイ・ロジックを停止するためのプラットフォーム・ビデオ・ディスプレイ停止ロジックを更に含むシステム。
【請求項２０】
請求項１７記載のシステムであって、前記プラットフォーム・ビデオ・ディスプレイ・ロジックは、
仮想マシンをホストし、プラットフォーム初期化ドライバ及びアプリケーションを前記仮想マシンに転送し、前記仮想マシン内で前記オペレーティング・システム初期化ロジックを起動するための仮想マシン・マネージャ・ロジックと、
反復して前記仮想マシンを中断し、前記仮想マシンが中断すると前記プラットフォーム・ビデオ・フレーム・データで前記ビデオ・フレーム・バッファを更新するための割り込みロジックとを含むシステム。
【請求項２１】
請求項１７記載のシステムであって、前記プラットフォーム・ビデオ・ディスプレイ・ロジックは、ファームウェアに記憶されたシステム管理モード・ロジックを含み、前記コンピュータ・システムは、通常コンピュータ・システム環境を中断し、前記通常コンピュータ・システム環境の状態を記憶し、割り込みに応答して前記システム管理モード・ロジックを起動するよう構成され、前記システム管理モード・ロジックは、
タイマ割り込みを反復して生成するためのタイマ・ロジックと、
前記プラットフォーム・ビデオ・フレーム・データを復号化し、前記タイマ割り込みに応答して前記プラットフォーム・ビデオ・フレーム・データで前記ビデオ・フレーム・バッファを更新し、前記ビデオ・フレーム・バッファの更新に続いて前記通常コンピュータ・システム環境を再開するためのタイマ割り込みハンドラ・ロジックとを含むシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
パワーオン・リセットに続く、コンピュータ・システムの初期化は、基本入出力システム（ＢＩＯＳ）のブーティングとしても表すプラットフォーム初期化、及びそれに続く、オペレーティング・システム（ＯＳ）の初期化、すなわちＯＳブーティングを含む。ＢＩＯＳブーティングは約２乃至３秒を要し得る。ＯＳブーティングは約１０乃至１２秒を要し得る。
【背景技術】
【０００２】
ＢＩＯＳブーティング中に提供されるサービスに応じて、ＯＳブーティング・ロジックは、ＯＳブーティング中に、比較的単純なグラフィクスをディスプレイ上に描き得る。グラフィクスは、ＯＳロジックと関連付けられるので、通常、ＯＳベンダと関連付けられる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本明細書及び特許請求の範囲には、オペレーティング・システムの初期化中にプラットフォーム・グラフィクスを表示するための方法及びシステムを記載する。プラットフォーム・グラフィクスは、ＢＩＯＳブーティング中、又はその一部分中に表示することもできる。
【課題を解決するための手段】
【０００４】
本明細書及び特許請求の範囲記載の「プラットフォーム・グラフィクス」の語は、オペレーティング・システム初期化ロジックによって生成されるＯＳ初期化グラフィクス以外のグラフィクスを表す。
【０００５】
プラットフォーム・グラフィクスは、オーディオ、ビデオ、静止画像、テキスト、壁紙、及びスキンのうちの１つ又は複数を含み得る。「プラットフォーム・グラフィクス」及び「プラットフォーム・ビデオ」の語は本明細書及び特許請求の範囲では同義で使用することができる。
【０００６】
プラットフォーム・グラフィクスは、限定列挙でないが、広告グラフィクスを含み得るサード・パーティの製品又はサービス、コンピュータ・プラットフォーム・ベンダ又は製造業者によって提供されるグラフィクス、コンピュータ・システムを所有するか、又はコンピュータ・システムに対してコントロールを行使する事業体（マネージド・ホスティング・プロバイダを含む）に関連付けられたグラフィクス、及びパーソナル・グラフィクスに関するグラフィクスを含み得る。
【０００７】
プラットフォーム・グラフィクスは、ＯＳ初期化グラフィクスの代わりに表示することができる。あるいは、ＯＳ初期化グラフィクスはプラットフォーム・グラフィクスとマージすることができる。
【図面の簡単な説明】
【０００８】
【図１】コンピュータ・システムの初期化中のプラットフォーム・グラフィクスの表示を示す図である。
【図２】コンピュータ・システムの初期化中のプラットフォーム・グラフィクスの表示を示す別の図である。
【図３】コンピュータ・システムの初期化中にプラットフォーム・グラフィクスを表示する例示的な方法を示すプロセス・フローチャートである。
【図４】コンピュータ・システムの初期化中にプラットフォーム・グラフィクスを表示する別の例示的な方法を示すプロセス・フローチャートである。
【図５】例示的なビデオ・マージ環境を示す図である。
【図６】別の例示的なビデオ・マージ環境を示す図である。
【図７】例示的なコンピュータ・システムを示すブロック図である。
【図８】別の例示的なコンピュータ・システム８００を示すブロック図である。
【図９】コンピュータ・システム８００の例示的なＯＳ初期化環境を示す図である。
【図１０】コンピュータ・システム８００の初期化中にプラットフォーム・ビデオを表示する例示的な方法を示すプロセス・フローチャートである。
【図１１】別の例示的なコンピュータ・システム１１００を示すブロック図である。
【図１２】コンピュータ・システム１１００の初期化環境の図にスーパインポーズした、コンピュータ・システム１１００の初期化中にプラットフォーム・ビデオを表示する例示的な方法を示すプロセス・フローチャートである。
【発明を実施するための形態】
【０００９】
図面中、参照符号の最も左の桁は、参照符号が最初に現れる図面を識別する。
【実施例】
【００１０】
図１は、コンピュータ・システム初期化処理１００中のプラットフォーム・ビデオの表示の図である。初期化処理１００は、プラットフォーム初期化１０２及びＯＳ初期化１０４を含む。初期化処理１００には、ＯＳランタイム１０６が続く。プラットフォーム初期化１０２には、パワーオン・リセットが続き得、基本入出力システム（ＢＩＯＳ）ブート手順１０８として本願で示す１つ又は複数の電源投入時自己診断及びシステム・ブート手順を含み得る。プラットフォーム初期化１０２は、コンピュータ・システムの物理資源に対応する１つ又は複数のデバイス・ドライバを識別し、初期化することができる。
【００１１】
ＯＳ初期化１０４は、オペレーティング・システム・ロジックを識別し、インストールする工程を含み得る。
【００１２】
プラットフォーム・ビデオは１１０において、ＯＳ初期化１０４中に表示することができ、プラットフォーム初期化１０２の少なくとも一部分の間に表示することができる。
【００１３】
プラットフォーム初期化１０２及びＯＳ初期化１０４の少なくとも一方は、図２に関して以下に説明するように、拡張可能なファームウェア・インタフェース（ＥＦＩ）又はユニフォームＥＦＩ（ＩＥＦＩ）を含み得る。
【００１４】
図２は、コンピュータ・システム初期化処理２００中のビデオの表示の図である。プラットフォーム初期化１０２及びＯＳ初期化１０４はＥＦＩモジュールの初期化を含む。図２の例では、プラットフォーム・ビデオ１１０は、ドライバ実行環境（ＤＸＥ）２０２中に起動され、ブート・デバイス選択（ＢＤＳ）環境２０４及び過渡的なシステム負荷（ＴＳＬ）環境２０６において表示される。
【００１５】
図３は、ＯＳ初期化中にプラットフォーム・ビデオを表示する例示的な方法３００のプロセス・フローチャートである。
【００１６】
３０２では、コンピュータ・システムのブーティングを起動させるための、パワーオン・リセットや他のリセットなどにより、コンピュータ・システムがリセットされる。
【００１７】
３０４では、１つ又は複数の電源投入時自己診断をコンピュータ・システム内で行うことができる。
【００１８】
３０６では、図１及び図２のうちの少なくとも一方に示すプラットフォーム初期化１０２などのプラットフォーム初期化が行われる。プラットフォーム初期化は、ビデオ・ディスプレイと関連付けられたビデオ・ドライバなどの１つ又は複数のドライバのインストールを含み得る。
【００１９】
３０８では、オペレーティング・システムの初期化（図１及び図２のうちの少なくとも一方に示すＯＳ初期化１０４など）が行われる。
【００２０】
３１０では、３０８におけるＯＳ初期化プラットフォーム中に、プラットフォーム・ビデオが表示される。プラットフォーム・ビデオは、３０６におけるプラットフォーム初期化中に起動させることができる。
【００２１】
図３の例では、３１０におけるプラットフォーム・ビデオの表示は、ＯＳ初期化が済んだか否かの判定（３１２）、及びＯＳ初期化が済んでいない場合の、プラットフォーム・ビデオ・データでのビデオ・フレーム・バッファの更新（３１４）を含む。
【００２２】
３１４での、ビデオ・フレーム・バッファの更新は、プラットフォーム・ビデオのビデオ・フレームに対応するデータの取り出し及び復号化を含み得る。３１４での、ビデオ・フレーム・バッファの更新は、先行して表示されたビデオ・フレームと異なる、プラットフォーム・ビデオ・フレームの部分集合などでの、ビデオ・フレーム・バッファの一部分の更新を含み得る。
【００２３】
３１０での、プラットフォーム・ビデオの表示は、３１０でのビデオ・フレーム・バッファの更新のための、３０８でのＯＳ起動の割り込みを含み得る。割り込みは、定期的な間隔で行うことができる。あるいは、又は更に、１つ又は複数の状態に応じて（例えば、記憶装置などの別の装置からの応答をプロセッサが待つ場合に生じ得るプロセッサ・アイドル時間に応じてなど）、行うことができる。
【００２４】
３１０における、プラットフォーム・ビデオの表示は、ＯＳ起動３０８を済ませるための時間にあまり影響を及ぼすことなく行うことができる。ＯＳ起動を行うための時間が比較的長いのは、記憶装置アクセスなどの比較的緩慢な入出力チャネルを待つ工程を含むからである。
【００２５】
図４は、ＯＳ初期化中にプラットフォーム・ビデオを表示する例示的な方法４００（ＯＳ初期化の反復した割り込み、及び割り込み中の、プラットフォーム・フレーム・データでのビデオ・フレーム・バッファの更新を含む）のプロセス・フローチャートである。
【００２６】
４０２では、３０２に関して上述したように、コンピュータ・システムがリセットされる。
【００２７】
４０４では、３０４に関して上述したように、１つ又は複数の電源投入時自己診断をコンピュータ・システム内で行うことができる。
【００２８】
４０６では、３０６に関して上述したように、コンピュータ・システムの物理資源が初期化される。
【００２９】
４０８では、プラットフォーム・ビデオ・サービスが起動される。プラットフォーム・ビデオ・サービスの起動は、後続イベントにより、プラットフォーム・ビデオ・フレーム・データでビデオ・フレーム・バッファをプロセッサが更新することを可能にする旨の命令をメモリにロードする工程を含み得る。後続イベントは、周期タイマ・イベントを含み得、プラットフォーム・ビデオ・サービスは、オペレーティング・システム起動に周期的に割り込み、割り込み中にビデオ・フレーム・バッファを更新するためにタイマを起動させる工程を含み得る。
【００３０】
４１０で、ＯＳ初期化が始まる。
【００３１】
４１２では、オペレーティング・システムの初期化はイベントに応じて割り込まれ、プラットフォーム・ビデオ・サービスが起動される。
【００３２】
４１４で、オペレーティング環境の初期化が完了していない場合、プラットフォーム・ビデオ・フレーム・データが４１６で復号化され、ビデオ・フレーム・バッファが４１８で更新される。
【００３３】
４１４でオペレーティング環境の初期化が完了している場合、プラットフォーム・ビデオ・サービスが４２０で停止され、４２２で、ランタイム、又は動作環境に入る。
【００３４】
プラットフォーム・ビデオの表示は、ＯＳ初期化グラフィクス及びプラットフォーム・ビデオをマージする工程、及びマージされたビデオ・フレーム・データでビデオ・フレーム・バッファを更新する工程を含み得る。
【００３５】
マージは、プラットフォーム・ビデオ上に、ＯＳ初期化ロジックからのテキストをスーパインポーズする工程を含み得る。図５は、ＯＳ初期化ビデオ・フレーム・バッファ５０２、プラットフォーム・ビデオ・デコード・バッファ５０４、及びビデオ・フレーム・バッファ５０６を含む例示的なビデオ・マージ環境５００を示す図である。オペレーティング・システム初期化グラフィクス５１０からのテキスト５０８はオペレーティング・システム・ビデオ・フレーム・バッファ５０２に記憶される。プラットフォーム・ビデオ・フレーム・データ５１４からのプラットフォーム・ビデオ・フレーム画像５１２がプラットフォーム・ビデオ・フレーム・バッファ５０４に記憶される。テキスト５０８及び画像５１２はマージされ、表示するためにビデオ・フレーム・バッファ５０６に記憶される。
【００３６】
マージは、ピクチャインピクチャなどの１つ又は複数の他のグラフィクス・ウィンドウ上に１つ又は複数のグラフィクス・ウィンドウをスーパインポーズする工程を含み得る。このことは、例えば、プラットフォーム初期化及び／又はＯＳ初期化中に、ユーザ選択可能なオプション（ＢＩＯＳセットアップ構成にアクセスするか、又はＯＳ初期化に進むためのユーザ選択可能なオプションなど）を表示するために有用であり得る。図６は、例示的なビデオ・マージ環境６００（ＯＳ初期化ビデオ・フレーム・バッファ６０２、複数のプラットフォーム・ビデオ・フレーム・バッファ６０４乃至６０６、及びビデオ・フレーム・バッファ６０８を含む）を示す図である。図６の例では、プラットフォーム・ビデオ・フレーム・バッファ６０４乃至６０６に対応するプラットフォーム・ビデオ６１０乃至６１２それぞれは、ＯＳ初期化ビデオ・フレーム・バッファ６０２からのＯＳ初期化グラフィクス内でマージされ、ビデオ・フレーム・バッファ６０８が、対応するマージされたグラフィクスで更新される。
【００３７】
本明細書及び特許請求の範囲記載の１つ又は複数の構成はロジック（集積回路ロジック、及びコンピュータ・プログラム・プロダクトのロジックのうちの少なくとも一方を含み得る）で実現することができる。
【００３８】
図７は、命令、コード及びソフトウェアとしても知られているコンピュータ・プログラム・プロダクト・ロジックを実行するために、プロセッサ７０２として本願に示す１つ又は複数のコンピュータ命令処理装置を含む例示的なコンピュータ・システム７００のブロック図である。
【００３９】
コンピュータ・システム７００は、それに応答して１つ又は複数の機能をプロセッサ７０２に実行させるための、コンピュータ読み取り可能な媒体上に記憶されたコンピュータ・プログラム・プロダクト・ロジック及び集積回路ロジックのうちの少なくとも一方を含み得るロジック７０４を含む。
【００４０】
図７の例では、ロジック７０４は、基本入出力システム（ＢＩＯＳ）ロジックを含み得、拡張可能なファームウェア・インタフェース（ＥＦＩ）ロジックを含み得る、コンピュータ・システム７００の構成部分をプロセッサ７０２に初期化させるためのプラットフォーム初期化ロジック７１０を含む。
【００４１】
ロジック７０４は、１つ又は複数の動作環境をプロセッサ７０２に起動させるためのオペレーティング・システム（ＯＳ）初期化ロジック７１４を更に含む。ＯＳ初期化ロジック７１４は、ブート・マネージャ・ロジック、ＯＳローダ・ロジック、及びＯＳロジックのうちの１つ又は複数を含み得る。
【００４２】
ロジック７１４は、ＯＳロジック７１４の起動中にプラットフォーム・ビデオをプロセッサ７０２に表示させるためのプラットフォーム・ビデオ・ディスプレイ・ロジック７１２を更に含む。プラットフォーム・ビデオ・ディスプレイ・ロジック７１２は、少なくともプラットフォーム起動ロジック７１０の一部分の起動中にプラットフォーム・ビデオをプロセッサ７０２に表示させるためのロジックを含み得る。プラットフォーム・ビデオ・ディスプレイ・ロジック７１２、又はその一部分はプラットフォーム初期化ロジック７１０内で実現することができる。
【００４３】
コンピュータ・システム７００は、ロジック７０４の実行においてプロセッサ７０２によって使用する対象であるか、又はロジック７０４の実行に応じてプロセッサ７０２によって生成されるデ―タ７０８を記憶させたメモリ／記憶装置７０６を更に含む。図７の例では、データ７０８は、プラットフォーム・ビデオ・フレーム・データ７１６、プラットフォーム・ビデオ・フレーム・デコード・バッファ７１８、ＯＳ初期化ビデオ・フレーム・バッファ７２０及びビデオ・フレーム・バッファ７２２を含む。ビデオ・フレーム・バッファ７２２は、プロセッサ７０２がビデオ・フレーム・データをディスプレイ７２４に送出する最終的なビデオ・フレーム・バッファを表し得る。
【００４４】
メモリ／記憶装置７０６は、ロジック７０４を記憶する対象のコンピュータ読み取り可能な媒体を含み得る。
【００４５】
コンピュータ・システム７００は、１つ又は複数の通信ネットワークとインタフェースするためのネットワーク・インタフェース・デバイス又はカード（ＮＩＣ）７２６を含み得る。コンピュータ・システム７００は、１つ又は複数の他のデバイスとインタフェースするための１つ又は複数の他のインタフェース（ユニバーサル・シリアル・バス（ＵＳＢ）インタフェースなど）を含み得る。
【００４６】
コンピュータ・システム７００は、プロセッサ７０２、メモリ／記憶装置７０６、ディスプレイ７２４、ＮＩＣ７２６及び他のインタフェース・デバイスの間で通信するための通信インフラストラクチャ７２８を含み得る。
【００４７】
プラットフォーム・ビデオ・フレーム・データ７１６は、ネットワークを介して（ＮＩＣ７２６経由などで）受信及び／又は更新され得、ＯＳ初期化ロジック７１４に対してセキュアに、又はＯＳ初期化ロジック７１４と無関係に受信及び／又は更新され得る。
【００４８】
プラットフォーム・ビデオ・フレーム・データ７１６は、ファームウェア、フラッシュ、及びハード・ディスク記憶装置のうちの１つ又は複数に記憶することができる。
【００４９】
ビデオ・フレーム・データ７１６は、仮想化ロジック又はシステム管理モード・ロジック（例を以下に説明する）などにより、ＯＳ初期化ロジック７１４に対してセキュアに、隠し区画において受信及び／又は更新され、記憶され得る。例えば、仮想化マシン・マネージャ（ＶＭＭ）は、隠しディスク区画を取得してオペレーティング・システム・ロジックが再インストールされてもプラットフォーム・フレーム・データ７１６が利用可能であることを確実にするためにプロセッサ７０２に、集積ドライブ・エレクトロニクス（ＩＤＥ）コントローラ入出力アクセスを傍受させ得る。隠し区画を、コンピュータ・システム７００の高度ホスト・コントローラ・インタフェース（ＡＨＣＩ）モードにおいて得ることができる。
【００５０】
プラットフォーム・ビデオ・ディスプレイ・ロジック７１２は、ビデオ・フレーム・バッファ７２２、及びオペレーティング・システム初期化環境とのビデオ・インタフェースのうちの少なくとも一方をプロセッサ７０２に仮想化させるための仮想化ロジックを含み得る。例示的な仮想化方法及び仮想化システムを図８、図９、及び図１０に関して説明する。
【００５１】
図８は、例示的なコンピュータ・システム８００のブロック図である。図７に関して上述した構成と同様な、コンピュータ・システム８００の構成には、最下位２桁が同じ参照符号を付している。コンピュータ・システム８００は、図９及び図１０に関して以下に説明している。図９は、コンピュータ・システム８００の例示的なＯＳ初期化環境９００を示す図である。図１０は、コンピュータ・システム８００のＯＳ初期化の例示的な方法のプロセス・フローチャートである。
【００５２】
図８では、ロジック８０４は、ＯＳ初期化仮想マシン（ＶＭ）９０４をホストするために、図９における仮想マシン・マネージャ（ＶＭＭ）９０２をプロセッサ８０２に生成させるためのＶＭＭロジック８３０を含む。ＶＭＭロジック８３０は、ドライバ及びアプリケーション９０６としてＶＭ９０４に、プラットフォーム起動中に起動されたドライバ及びアプリケーションをプロセッサ８０２に転送させるためのロジックを含む。ＶＭＭロジック８３０は更に、ＯＳ初期化９０８によって示すように、プロセッサ８０２にＶＭ９０４内でＯＳ初期化ロジック８１４を初期化させるためのロジックを更に含む。ＶＭＭロジック８３０は、図９中の仮想ビデオ・フレーム・バッファ８２０をプロセッサ８０２に初期化させるためのビデオ・フレーム・バッファ仮想化ロジック８３４を更に含む。
【００５３】
ロジック８０４は、ＶＭ９０４と仮想ビデオ・フレーム・バッファ８２０との間でインタフェースするために、図９中の１つ又は複数のビデオ・インタフェース９１０をプロセッサ８０２に初期化させるためのビデオ・インタフェース・ロジック８３６を含む仮想ディスプレイ・ロジック８３２を更に含む。仮想ディスプレイ・インタフェース９１０は、ドライバ及びアプリケーション９０６とインタフェースするためのグラフィクス出力プロトコル・インタフェース９１２、ＯＳ初期化９０８とインタフェースするためのビデオ・フレーム・バッファ・インタフェース９１４、及びレガシー型ＯＳローダ・ロジックからレガシー型ビデオ・サービス割り込み（Ｉｎｔ１０ビデオ・サービス割り込みなど）を受け取るためのレガシー型サービス９１６のうちの１つ又は複数を含み得る。
【００５４】
仮想ディスプレイ・ロジック８３２は、プロセッサ８０２にプラットフォーム・ビデオ・フレーム・データ８１６を復号化させ、復号化されたプラットフォーム・ビデオ・フレーム・データをプラットフォーム・ビデオ・フレーム・デコード・バッファ８１８に記憶させるためのプラットフォーム・ビデオ・デコード・ロジック８３８を更に含む。
【００５５】
仮想ディスプレイ・ロジック８３２は、プロセッサ８０２に、デコード・バッファ８１８内の復号化されたプラットフォーム・ビデオ・フレーム・データ及び仮想ビデオ・フレーム・バッファ８２０内のＯＳ初期化ビデオ・フレーム・データをマージさせ、マージされたビデオ・フレーム・データでビデオ・フレーム・バッファ８２２を更新するためのバッファ・マージ・ロジック８４０を更に含む。
【００５６】
図９の例では、仮想インタフェース９１０、デコード・ロジック８３８、及びバッファ・マージ・ロジック８４０は仮想ディスプレイ環境９１８内に示す。仮想ディスプレイ環境９１８、又はその一部分は、ＶＭ９０４などの、ＶＭＭ９０２によってホストされたＶＭに常駐し得るか、又は上記ＶＭを表し得る。あるいは、又は更に、仮想ディスプレイ環境９１８、又はその部分はＶＭＭ９０２内に実現することができる。
【００５７】
ＶＭＭロジック８３０は、図１０に関して後述するように、プロセッサ８０２に、タイマ９２０を維持させ、周期的にプロセッサ８０２にＶＭ９０４を退出させ、デコード・ロジック８４０及びマージ・ロジック８３８を起動させるためのタイマ・ロジック８４２を更に含む。ＶＭ９０４の退出により、ＶＭ９０４に対応する状態値を、ＶＭ９０４に、再び入るために保存することができる。
【００５８】
図１０では、１００２で、コンピュータ・システム８００は、プラットフォーム・リセットに続き、１つ又は複数の電源投入時自己診断を行う。
【００５９】
１００４では、プラットフォーム初期化が行われる。プラットフォーム初期化は、図８のプラットフォーム初期化ロジック８１０に応じて行うことができる。
【００６０】
１００６では、プロセッサ８０２に仮想インタフェース９１０及びプラットフォーム・ビデオ・デコード・バッファ８１８を初期化させるために仮想ディスプレイ・ロジック８３２が起動される。
【００６１】
１００８では、プロセッサ８０２にＶＭＭ９０２及びＶＭ９０４を起動させ、ドライバ及びアプリケーション９０６をＶＭ９０４に転送させ、タイマ９２０を起動させるためにＶＭＭロジック８３０が起動される。
【００６２】
１０１０では、コンピュータ・システム８００の初期化がＶＭ９０４に転送される。これは、１０１２における、プラットフォーム初期化ロジック８１０内の残りのロジックの起動、及び、１０１４における、ＶＭ９０４内のＯＳ起動ロジック８１４の起動を含み得る。
【００６３】
１０１０における初期化中に、ビデオ・サービスがＶＭ９０４から要求された場合、仮想ビデオ・フレーム・バッファ８２０が、１０１６において、仮想ディスプレイ・インタフェース９１０のうちの１つ又は複数を使用して更新される。これは、１０１８において、ビデオ・サービス要求を受信又は傍受する工程、１０２０において、仮想インタフェースで要求を処理する工程、及び１０２２において、仮想ビデオ・フレーム・バッファ８２０を更新する工程を含み得る。１０２４で、処理は１０１０に戻って、ＶＭ９０４内でのＯＳ初期化を続ける。
【００６４】
更に、１０１０における初期化中、タイマ９２０が満了すると、１０２５で、ビデオ・フレーム・バッファ８２２がプラットフォーム・ビデオ・フレーム・データ８１６で更新される。これは、１０２６で、タイマが満了した旨を判定する工程、１０２８で、ＶＭ９０４を退出する工程、１０３０で、プラットフォーム・ビデオ・フレーム・データ８１６を復号化し、復号化されたビデオ・フレーム・データをプラットフォーム・ビデオ・デコード・バッファ８１８に記憶する工程、１０３２で、プラットフォーム・ビデオ・フレーム・バッファ８１８及び仮想ビデオ・フレーム・バッファ８２０の内容をマージする工程、及び１０３４で、ビデオ・フレーム・バッファ８２２を、マージされたデータで更新する工程を含む。１０３６で、処理は１０１０に戻って、ＶＭ９０４内での初期化を続ける。
【００６５】
１０１０で、オペレーティング・システムの初期化が完了すると、処理は、１０３８におけるランタイム環境に進み、１０３８では、プラットフォーム・ビデオ・データ８１６の表示を停止することができる。図１０の例では、これは、１０４０で、ビデオ・フレーム・バッファ・ページ・フォルトを検出する工程、及び１０４２で、仮想ビデオ・フレーム・バッファ８２０へのアドレスの修正を行う工程として示す。
【００６６】
１つ又は複数の仮想ディスプレイ・ロジック８４０及びＶＭＭロジック８３０、又はそれらの一部分の複数のインスタンスを（例えば、図に関して上述したピクチャインピクチャ特徴を提供するために）起動させることができる。
【００６７】
プラットフォーム初期化ロジック８１０が、ユニファイドＥＦＩ（ＵＥＦＩ）ロジックを含む場合、プラットフォーム初期化ロジック８１０は、｛Ｂｏｏｔ００Ｘ，  Ｓｏｕｎｄ＿Ｆｉｌｅ，  Ｖｉｄｅｏ＿Ｆｉｌｅ，  Ｂａｃｋｇｒｏｕｎｄ＿Ｉｍａｇｅ｝のｎ倍を管理するためのロジックを含み得る。
【００６８】
環境９００は、ＶＭＭ９０２によってホストされたラッパー又は仮想化コンテナ内の１つ又は複数のＯＳ性能ドライバを含み得る。これは、更なるマルチメディア機能を提供するために、符号化器／復号化器の使用及びスケーリングを可能にし得る。
【００６９】
もう一度図７を参照すれば、動作のシステム管理モード（ＳＭＭ）内などの、通常のプロセッサ環境外のプラットフォーム・ビデオ・サービスを含むビデオ・サービスをプロセッサ７０２に供給させるためのロジックを含み得る。
【００７０】
後述のように、ＳＭＭは、ファームウェアベースのプラットフォーム初期化がＯＳ初期化に移った後でもビデオ・サービスを供給することができる。ＯＳ初期化により、プラットフォーム・ビデオに使用されるビデオ・デバイスがアクセスされることを阻止するために、プラットフォーム初期化は、本明細書及び特許請求の範囲においてプラットフォーム・ビデオ・サービスとして表す通常のビデオ・サービスをＳＭＭビデオ・サービスで置き換える工程を含み得る。例えば、シミュレートされたファームウェアベースのビデオ・ドライバはビデオ・サ―ビス・コールをＳＭＭに転送するために、通常のＯＳローダ・システムによって利用されたＩＮＴ  １０Ｈサービスを提供することができる。
【００７１】
ＳＭＭはシステム管理割り込み（ＳＭＩ）によって起動される。ＳＭＩにより、プロセッサは、システム・ファームウェアにおいて記憶することができ、アプリケーション・ソフトウェア又はオペレーティング・システム・ソフトウェアに利用可能でなく、かつ／又は、アプリケーション・ソフトウェア又はオペレーティング・システム・ソフトウェアと分離させた対応するＳＭＩハンドラ・コードを実行する。
【００７２】
通常のコンピュータ・システムでは、ＳＭＩハンドラは、最大４Ｇバイトのメモリを処理することができ、適用可能なシステム命令及び入出力（Ｉ／Ｏ）命令の全て又はほぼ全てを実行することができる。ビデオ・フレーム・バッファは、ＶＧＡモードのＡ００００−ＢＦＦＦＦセグメント、及びＳＶＧＡモードの３２ビットの物理アドレスを含む１つ又は複数の位置にマッピングすることができる。ＳＭＭは、ＳＶＧＡのビデオ・メモリ空間に直接アクセスすることができる。
【００７３】
コンピュータ・システムは、タイマＳＭＩとして本明細書及び特許請求の範囲で表すＳＭＩを生成するためのＳＭＭソフトウェア・タイマを含むＳＭＩ資源をイネーブルし、制御するためのシステム管理デバイスを有するＩ／Ｏコントローラ・ハブを含み得る。ＳＭＭソフトウェア・タイマがイネーブルされると、タイマＳＭＩが周期的に生成される。ＳＭＭソフトウェア・タイマは、例えば、０．９ミリ秒（ｍｓ）乃至６８ｍｓ（０．９ｍｓ乃至２．１ｍｓの範囲、１２ｍｓ乃至２０ｍｓの範囲、２８ｍｓ乃至３６ｍｓの範囲、及び６０ｍｓ乃至６８ｍｓの範囲を含む）の範囲内の間隔でタイマＳＭＩを生成するようプログラムすることができる。タイマＳＭＩに応じて、ＳＭＭにおける対応するタイマＳＭＩハンドラを、フィームウェアがＯＳ初期化に移った後でも起動させることができる。
【００７４】
コンピュータ・システムの利用可能なハードウェア・デバイスに応じて、ＳＭＩベースのビデオ・ドライバは、プラットフォーム初期化が制御をＯＳ初期化に移した後でも、ビデオ・フレーム・バッファの全部又はほぼ全部に直接アクセスすることができる。
【００７５】
例示的なＳＭＭ方法及びシステムを図１１及び図１２に関して以下に説明する。
【００７６】
図１１は、例示的なコンピュータ・システム１１００のブロック図である。図７に関して上述した構成と同様な、コンピュータ・システム１１００の構成には、最下位２桁が同じ参照符号を付している。
【００７７】
コンピュータ・システム１１００は図１２に関して説明する。図１２は、通常の動作モード１２５０及びＳＭＭ１２５４を含む初期化環境の図上にスーパインポーズされた、コンピュータ・システム１１００の初期化中にプラットフォーム・ビデオを表示する例示的な方法１２００のプロセス・フローチャートである。
【００７８】
図１１では、ロジック１１０４は、コンピュータ・システム１１００の初期化中に、ＳＭＭ１２５４内からプラットフォーム・ビデオ・フレーム・データ１１１６をプロセッサ１１０２に表示させるためのＳＭＭビデオ・ロジック１１３０を含む。
【００７９】
ＳＭＭビデオ・ロジック１１３０は、割り込みに応じてＳＭＭ１２５４における機能をプロセッサ１１０２に行わせるためのＳＭＩハンドラ・ロジック１１３２を含む。図１１の例では、ＳＭＩヘッダ・ロジック１１３２は、図１２のＡＰＭ  ＳＭＩハンドラ１２５５をプロセッサ１１０２にインストールさせるための新型処理管理（ＡＰＭ）ＳＭＩハンドラ・ロジック１１３４としても本明細書及び特許請求の範囲で表すＳＭＩハンドラ・ロジック１１３４を含む。
【００８０】
ＳＭＩハンドラ・ロジック１１３２は、以下に説明する、図１２のタイマＳＭＩハンドラ１２３６をプロセッサ１１０２にインストールさせるためのタイマＳＭＩハンドラ・ロジック１１３６を更に含む。
【００８１】
ＳＭＩビデオ・ロジック１１３０は、以下に説明する、図１２のビデオ・サービス・ディスパッチャ１２５８をプロセッサ１１０２にインストールさせるためのビデオ・サービス・ディスパッチ・ロジック１１３８を更に含む。
【００８２】
ＳＭＩビデオ・ロジック１１３０は、以下に説明する、プロセッサ１１０２に、ソフトウェアベースのＳＭＭタイマ１２５８をＳＭＭ１２０４にインストールさせるためのＳＭＭタイマ・ロジック１１４０を更に含む。
【００８３】
プラットフォーム初期化ロジック１１１０は、プロセッサ１１０２にＳＭＭビデオ・ロジック１１３０をロード又はインストールさせるためのＳＭＭビデオ・ロード・ロジック１１４２を含む。
【００８４】
プラットフォーム初期化ロジック１１１０は、基本入出力システム（ＢＩＯＳ）ロジック及び拡張可能なファームウェア・インタフェース（ＥＦＩ）ロジック（ＢＩＯＳ／ＥＦＩロジック１１４４として示す。プラットフォーム・ビデオ・ドライバ・ロジック１１４６を含む）のうちの少なくとも一方を更に含む。
【００８５】
プラットフォーム初期化ロジック１１１０は、プラットフォーム初期化中にＡＰＭ  ＳＭＩハンドラ１２５４を起動させるために、図１２中のＡＰＭ  ＳＭＩ１２６０を生成するためのＡＰＭ  ＳＭＩ生成ロジック１１４８を更に含む。
【００８６】
コンピュータ・システム１１００の例示的な初期化を次に、方法１２００を参照して説明する。
【００８７】
１２０２では、プラットフォーム初期化がシステム・リセットに続いて行われる。図１２の例では、プラットフォーム初期化は、ＳＭＭビデオ・ロード・ロジック１１４６に応じて、１２０４でＳＭＭビデオ・ロジック１１３０をインストールする工程、１２０６でプラットフォーム・ビデオ・ドライバ・ロジック１１３４を起動させる工程、及び、ＭＰ  ＳＭＩ生成ロジック１１４８に応じて１２０８でＡＰＭ  ＳＭＩ１２６０を生成する工程とを含む。
【００８８】
ＡＰＭ  ＳＭＩ１２６０に応じて、プロセッサ１１０２は、通常処理モード１２５０を中断し、ＳＭＭ１２５２内のＡＰＭ  ＳＭＩハンドラ１２５４を起動させる。これは、システム状態マップにおいて通常処理モード１２５０の状態を保存する工程を含み得る。
【００８９】
１２１０では、タイマ１２５８を起動させる。１２１２では、ディスプレイ１１２４に対応するビデオ・デバイス情報を取り出す。１２１４では、予約された画素をビデオ・フレーム・バッファ１１２２において所定値にセットすることができる。ＳＭＭビデオ・ロジック１１３０は、予約された画素へのプラットフォーム・ビデオ・フレーム・データ１１１６の書き込みを排除するよう構成される。１２３２に関して後述するように、予約された画素をその後、使用して、ＯＳビデオ・ドライバがアクティブであるかを判定する。
【００９０】
１２１６では、プラットフォーム・ビデオ・デコード・バッファ１１１８及びＯＳ初期化バッファ１１２０が初期化される。１２１８では、処理は通常処理モード１２５０に戻る。これは、状態マップから通常処理モード１２５０に対応する状態値を取り出す工程を含み得る。
【００９１】
通常処理モード１２５０に戻ると、プラットフォーム初期化は１２０２で再開し、次いで、１２２０でＯＳ初期化に進み得るか、又は１２２０におけるＯＳ初期化に直接進み得る。
【００９２】
１２２０でのＯＳ初期化中、ビデオ・サービス要求１２６２が、ビデオ・サービス・ディスパッチャ１２５８によって傍受され、ビデオ・サービス・ディスパッチャ１２５８は、処理モード１２５０に割り込み、ＡＰＭ  ＳＭＩハンドラ１２５４の一部として本明細書及び特許請求の範囲に示すビデオ・サービスＳＭＩハンドラをプロセッサ１１０２に起動させる。
【００９３】
１２２２では、ＯＳ初期化ビデオ・フレーム・バッファ１１２０が、ＡＰＭ  ＳＭＩハンドラ１２５４の制御下で、ビデオ・サービス要求１２６２に応じて更新される。１２２４では、処理は処理モード１２５０に戻る。
【００９４】
更に、ＯＳ初期化１２２０中、タイマ１２５８が満了すると、タイマＳＭＩ１２６６を１２３０で生成して、通常処理モード１２５０に割り込み、ＳＭＭ１２５２内のタイマＳＭＩハンドラ１２５６をプロセッサ１１０２に起動させる。  
１２３２では、ビデオ・フレーム・バッファ１１２２における予約された画素が、１２１４で書き込まれた値と比較される。予約された画素が変えられていない場合、プラットフォーム・ビデオ・フレーム・データ１１１６が１２３４で復号化され、プラットフォーム・ビデオ・デコード・バッファ１１１８に記憶される。１２３６で、プラットフォーム・ビデオ・デコード・バッファ１１１８及びＯＳ初期化ビデオ・フレーム・バッファ１１２０の内容がマージされる。１２３８では、ビデオ・フレーム・バッファ１１２２が、マージされたビデオ・フレーム・データで更新される。１２４０では、タイマ１２５８をリセットすることができる。あるいは、タイマ１２５８は連続して循環し得る。
【００９５】
１２４２では、処理は、通常処理モード１２５０におけるＯＳ初期化１２２０に戻る。１２２０におけるＯＳ初期化が完了すると、処理は、１２４６におけるランタイム環境に進む。ランタイム環境に関連付けられたビデオ・ドライバを起動させると、ランタイム環境は、ビデオ・フレーム・バッファ１１２２において、予約された画素に上書きし得る。１２３２に戻れば、予約された画素が変えられた場合、プラットフォーム・ビデオの表示を停止することができる。停止は、タイマ１２５８を停止し、ビデオ・サービス・ディスパッチャ１２５８をプラットフォーム・ビデオ・サービスで置き換えることを含み得る。
【００９６】
仮想化及びシステム管理モードに関して上述した１つ又は複数の構成は、互いとの種々の組合せで実現することができる。
【００９７】
機能、構成を示す機能的構成単位、及びそれらの関係を用いて、方法及びシステムを本明細書及び特許請求の範囲に記載している。前述の機能的構成単位の境界の少なくとも一部は、説明の便宜上、本明細書及び特許請求の範囲において任意に規定している。特定された複数の機能、及びそれらの関係が適切に行われる限り、別の境界を規定することができる。
【００９８】
前述の機能的構成単位は、離散的な構成部分、特定用途向集積回路、適切なソフトウェアを実行するプロセッサ、及びそれらの組合せによって実現することが可能であるということを当業者は認識するであろう。
【符号の説明】
【００９９】
７００  コンピュータ・システム
７１０  プラットフォーム初期化ロジック
７１２  プラットフォーム・ビデオ・ディスプレイ・ロジック
７１４  ＯＳ初期化ロジック
【図１】
2011028712.tif 000003
【図２】
2011028712.tif 000004
【図３】
2011028712.tif 000005
【図４】
2011028712.tif 000006
【図５】
2011028712.tif 000007
【図６】
2011028712.tif 000008
【図７】
2011028712.tif 000009
【図８】
2011028712.tif 000010
【図９】
2011028712.tif 000011
【図１０】
2011028712.tif 000012
【図１１】
2011028712.tif 000013
【図１２】
2011028712.tif 000014
【外国語明細書】
2011028712000001.pdf
2011028712000002.pdf
2011028712000003.pdf
2011028712000004.pdf