JP2011028712A - システム初期化の動作中にプラットフォーム・グラフィクスを表示するための方法及びシステム - Google Patents

システム初期化の動作中にプラットフォーム・グラフィクスを表示するための方法及びシステム Download PDF

Info

Publication number
JP2011028712A
JP2011028712A JP2009224640A JP2009224640A JP2011028712A JP 2011028712 A JP2011028712 A JP 2011028712A JP 2009224640 A JP2009224640 A JP 2009224640A JP 2009224640 A JP2009224640 A JP 2009224640A JP 2011028712 A JP2011028712 A JP 2011028712A
Authority
JP
Japan
Prior art keywords
logic
video frame
platform
video
initialization
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.)
Pending
Application number
JP2009224640A
Other languages
English (en)
Inventor
Sean Shang
シャーン ショーン
Hua Fang
ファーン ホア
Jiewen Yao
ヤオ ジエウエン
Vincent J Zimmer
ジェイ. ジンマー ヴィンセント
Qin Long
ローン チン
Jiong Gong
ゴーン ジオーン
Ruiyu Ni
ニー ルイユイ
Michael A Rothman
エー. ロスマン マイケル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2011028712A publication Critical patent/JP2011028712A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)

Abstract


【課題】 オペレーティング・システムの初期化に割り込む機能と、オペレーティング・システムの初期化が割り込まれるとビデオ・フレーム・バッファをプラットフォーム・グラフィクス・データで更新する機能と、オペレーティング・システム初期化ロジックによって生成されたグラフィクス、及びプラットフォーム・グラフィクス・データをマージする機能とを含む、コンピュータの初期化中にプラットフォーム・グラフィクスを表示するための方法及びシステム。
【解決手段】 方法及びシステムは、仮想化方法及び仮想化システム、並びにシステム管理モード方法及びシステム管理モード・システムを含む。
【選択図】図7

Description

パワーオン・リセットに続く、コンピュータ・システムの初期化は、基本入出力システム(BIOS)のブーティングとしても表すプラットフォーム初期化、及びそれに続く、オペレーティング・システム(OS)の初期化、すなわちOSブーティングを含む。BIOSブーティングは約2乃至3秒を要し得る。OSブーティングは約10乃至12秒を要し得る。
BIOSブーティング中に提供されるサービスに応じて、OSブーティング・ロジックは、OSブーティング中に、比較的単純なグラフィクスをディスプレイ上に描き得る。グラフィクスは、OSロジックと関連付けられるので、通常、OSベンダと関連付けられる。
本明細書及び特許請求の範囲には、オペレーティング・システムの初期化中にプラットフォーム・グラフィクスを表示するための方法及びシステムを記載する。プラットフォーム・グラフィクスは、BIOSブーティング中、又はその一部分中に表示することもできる。
本明細書及び特許請求の範囲記載の「プラットフォーム・グラフィクス」の語は、オペレーティング・システム初期化ロジックによって生成されるOS初期化グラフィクス以外のグラフィクスを表す。
プラットフォーム・グラフィクスは、オーディオ、ビデオ、静止画像、テキスト、壁紙、及びスキンのうちの1つ又は複数を含み得る。「プラットフォーム・グラフィクス」及び「プラットフォーム・ビデオ」の語は本明細書及び特許請求の範囲では同義で使用することができる。
プラットフォーム・グラフィクスは、限定列挙でないが、広告グラフィクスを含み得るサード・パーティの製品又はサービス、コンピュータ・プラットフォーム・ベンダ又は製造業者によって提供されるグラフィクス、コンピュータ・システムを所有するか、又はコンピュータ・システムに対してコントロールを行使する事業体(マネージド・ホスティング・プロバイダを含む)に関連付けられたグラフィクス、及びパーソナル・グラフィクスに関するグラフィクスを含み得る。
プラットフォーム・グラフィクスは、OS初期化グラフィクスの代わりに表示することができる。あるいは、OS初期化グラフィクスはプラットフォーム・グラフィクスとマージすることができる。
コンピュータ・システムの初期化中のプラットフォーム・グラフィクスの表示を示す図である。 コンピュータ・システムの初期化中のプラットフォーム・グラフィクスの表示を示す別の図である。 コンピュータ・システムの初期化中にプラットフォーム・グラフィクスを表示する例示的な方法を示すプロセス・フローチャートである。 コンピュータ・システムの初期化中にプラットフォーム・グラフィクスを表示する別の例示的な方法を示すプロセス・フローチャートである。 例示的なビデオ・マージ環境を示す図である。 別の例示的なビデオ・マージ環境を示す図である。 例示的なコンピュータ・システムを示すブロック図である。 別の例示的なコンピュータ・システム800を示すブロック図である。 コンピュータ・システム800の例示的なOS初期化環境を示す図である。 コンピュータ・システム800の初期化中にプラットフォーム・ビデオを表示する例示的な方法を示すプロセス・フローチャートである。 別の例示的なコンピュータ・システム1100を示すブロック図である。 コンピュータ・システム1100の初期化環境の図にスーパインポーズした、コンピュータ・システム1100の初期化中にプラットフォーム・ビデオを表示する例示的な方法を示すプロセス・フローチャートである。
図面中、参照符号の最も左の桁は、参照符号が最初に現れる図面を識別する。
図1は、コンピュータ・システム初期化処理100中のプラットフォーム・ビデオの表示の図である。初期化処理100は、プラットフォーム初期化102及びOS初期化104を含む。初期化処理100には、OSランタイム106が続く。プラットフォーム初期化102には、パワーオン・リセットが続き得、基本入出力システム(BIOS)ブート手順108として本願で示す1つ又は複数の電源投入時自己診断及びシステム・ブート手順を含み得る。プラットフォーム初期化102は、コンピュータ・システムの物理資源に対応する1つ又は複数のデバイス・ドライバを識別し、初期化することができる。
OS初期化104は、オペレーティング・システム・ロジックを識別し、インストールする工程を含み得る。
プラットフォーム・ビデオは110において、OS初期化104中に表示することができ、プラットフォーム初期化102の少なくとも一部分の間に表示することができる。
プラットフォーム初期化102及びOS初期化104の少なくとも一方は、図2に関して以下に説明するように、拡張可能なファームウェア・インタフェース(EFI)又はユニフォームEFI(IEFI)を含み得る。
図2は、コンピュータ・システム初期化処理200中のビデオの表示の図である。プラットフォーム初期化102及びOS初期化104はEFIモジュールの初期化を含む。図2の例では、プラットフォーム・ビデオ110は、ドライバ実行環境(DXE)202中に起動され、ブート・デバイス選択(BDS)環境204及び過渡的なシステム負荷(TSL)環境206において表示される。
図3は、OS初期化中にプラットフォーム・ビデオを表示する例示的な方法300のプロセス・フローチャートである。
302では、コンピュータ・システムのブーティングを起動させるための、パワーオン・リセットや他のリセットなどにより、コンピュータ・システムがリセットされる。
304では、1つ又は複数の電源投入時自己診断をコンピュータ・システム内で行うことができる。
306では、図1及び図2のうちの少なくとも一方に示すプラットフォーム初期化102などのプラットフォーム初期化が行われる。プラットフォーム初期化は、ビデオ・ディスプレイと関連付けられたビデオ・ドライバなどの1つ又は複数のドライバのインストールを含み得る。
308では、オペレーティング・システムの初期化(図1及び図2のうちの少なくとも一方に示すOS初期化104など)が行われる。
310では、308におけるOS初期化プラットフォーム中に、プラットフォーム・ビデオが表示される。プラットフォーム・ビデオは、306におけるプラットフォーム初期化中に起動させることができる。
図3の例では、310におけるプラットフォーム・ビデオの表示は、OS初期化が済んだか否かの判定(312)、及びOS初期化が済んでいない場合の、プラットフォーム・ビデオ・データでのビデオ・フレーム・バッファの更新(314)を含む。
314での、ビデオ・フレーム・バッファの更新は、プラットフォーム・ビデオのビデオ・フレームに対応するデータの取り出し及び復号化を含み得る。314での、ビデオ・フレーム・バッファの更新は、先行して表示されたビデオ・フレームと異なる、プラットフォーム・ビデオ・フレームの部分集合などでの、ビデオ・フレーム・バッファの一部分の更新を含み得る。
310での、プラットフォーム・ビデオの表示は、310でのビデオ・フレーム・バッファの更新のための、308でのOS起動の割り込みを含み得る。割り込みは、定期的な間隔で行うことができる。あるいは、又は更に、1つ又は複数の状態に応じて(例えば、記憶装置などの別の装置からの応答をプロセッサが待つ場合に生じ得るプロセッサ・アイドル時間に応じてなど)、行うことができる。
310における、プラットフォーム・ビデオの表示は、OS起動308を済ませるための時間にあまり影響を及ぼすことなく行うことができる。OS起動を行うための時間が比較的長いのは、記憶装置アクセスなどの比較的緩慢な入出力チャネルを待つ工程を含むからである。
図4は、OS初期化中にプラットフォーム・ビデオを表示する例示的な方法400(OS初期化の反復した割り込み、及び割り込み中の、プラットフォーム・フレーム・データでのビデオ・フレーム・バッファの更新を含む)のプロセス・フローチャートである。
402では、302に関して上述したように、コンピュータ・システムがリセットされる。
404では、304に関して上述したように、1つ又は複数の電源投入時自己診断をコンピュータ・システム内で行うことができる。
406では、306に関して上述したように、コンピュータ・システムの物理資源が初期化される。
408では、プラットフォーム・ビデオ・サービスが起動される。プラットフォーム・ビデオ・サービスの起動は、後続イベントにより、プラットフォーム・ビデオ・フレーム・データでビデオ・フレーム・バッファをプロセッサが更新することを可能にする旨の命令をメモリにロードする工程を含み得る。後続イベントは、周期タイマ・イベントを含み得、プラットフォーム・ビデオ・サービスは、オペレーティング・システム起動に周期的に割り込み、割り込み中にビデオ・フレーム・バッファを更新するためにタイマを起動させる工程を含み得る。
410で、OS初期化が始まる。
412では、オペレーティング・システムの初期化はイベントに応じて割り込まれ、プラットフォーム・ビデオ・サービスが起動される。
414で、オペレーティング環境の初期化が完了していない場合、プラットフォーム・ビデオ・フレーム・データが416で復号化され、ビデオ・フレーム・バッファが418で更新される。
414でオペレーティング環境の初期化が完了している場合、プラットフォーム・ビデオ・サービスが420で停止され、422で、ランタイム、又は動作環境に入る。
プラットフォーム・ビデオの表示は、OS初期化グラフィクス及びプラットフォーム・ビデオをマージする工程、及びマージされたビデオ・フレーム・データでビデオ・フレーム・バッファを更新する工程を含み得る。
マージは、プラットフォーム・ビデオ上に、OS初期化ロジックからのテキストをスーパインポーズする工程を含み得る。図5は、OS初期化ビデオ・フレーム・バッファ502、プラットフォーム・ビデオ・デコード・バッファ504、及びビデオ・フレーム・バッファ506を含む例示的なビデオ・マージ環境500を示す図である。オペレーティング・システム初期化グラフィクス510からのテキスト508はオペレーティング・システム・ビデオ・フレーム・バッファ502に記憶される。プラットフォーム・ビデオ・フレーム・データ514からのプラットフォーム・ビデオ・フレーム画像512がプラットフォーム・ビデオ・フレーム・バッファ504に記憶される。テキスト508及び画像512はマージされ、表示するためにビデオ・フレーム・バッファ506に記憶される。
マージは、ピクチャインピクチャなどの1つ又は複数の他のグラフィクス・ウィンドウ上に1つ又は複数のグラフィクス・ウィンドウをスーパインポーズする工程を含み得る。このことは、例えば、プラットフォーム初期化及び/又はOS初期化中に、ユーザ選択可能なオプション(BIOSセットアップ構成にアクセスするか、又はOS初期化に進むためのユーザ選択可能なオプションなど)を表示するために有用であり得る。図6は、例示的なビデオ・マージ環境600(OS初期化ビデオ・フレーム・バッファ602、複数のプラットフォーム・ビデオ・フレーム・バッファ604乃至606、及びビデオ・フレーム・バッファ608を含む)を示す図である。図6の例では、プラットフォーム・ビデオ・フレーム・バッファ604乃至606に対応するプラットフォーム・ビデオ610乃至612それぞれは、OS初期化ビデオ・フレーム・バッファ602からのOS初期化グラフィクス内でマージされ、ビデオ・フレーム・バッファ608が、対応するマージされたグラフィクスで更新される。
本明細書及び特許請求の範囲記載の1つ又は複数の構成はロジック(集積回路ロジック、及びコンピュータ・プログラム・プロダクトのロジックのうちの少なくとも一方を含み得る)で実現することができる。
図7は、命令、コード及びソフトウェアとしても知られているコンピュータ・プログラム・プロダクト・ロジックを実行するために、プロセッサ702として本願に示す1つ又は複数のコンピュータ命令処理装置を含む例示的なコンピュータ・システム700のブロック図である。
コンピュータ・システム700は、それに応答して1つ又は複数の機能をプロセッサ702に実行させるための、コンピュータ読み取り可能な媒体上に記憶されたコンピュータ・プログラム・プロダクト・ロジック及び集積回路ロジックのうちの少なくとも一方を含み得るロジック704を含む。
図7の例では、ロジック704は、基本入出力システム(BIOS)ロジックを含み得、拡張可能なファームウェア・インタフェース(EFI)ロジックを含み得る、コンピュータ・システム700の構成部分をプロセッサ702に初期化させるためのプラットフォーム初期化ロジック710を含む。
ロジック704は、1つ又は複数の動作環境をプロセッサ702に起動させるためのオペレーティング・システム(OS)初期化ロジック714を更に含む。OS初期化ロジック714は、ブート・マネージャ・ロジック、OSローダ・ロジック、及びOSロジックのうちの1つ又は複数を含み得る。
ロジック714は、OSロジック714の起動中にプラットフォーム・ビデオをプロセッサ702に表示させるためのプラットフォーム・ビデオ・ディスプレイ・ロジック712を更に含む。プラットフォーム・ビデオ・ディスプレイ・ロジック712は、少なくともプラットフォーム起動ロジック710の一部分の起動中にプラットフォーム・ビデオをプロセッサ702に表示させるためのロジックを含み得る。プラットフォーム・ビデオ・ディスプレイ・ロジック712、又はその一部分はプラットフォーム初期化ロジック710内で実現することができる。
コンピュータ・システム700は、ロジック704の実行においてプロセッサ702によって使用する対象であるか、又はロジック704の実行に応じてプロセッサ702によって生成されるデ―タ708を記憶させたメモリ/記憶装置706を更に含む。図7の例では、データ708は、プラットフォーム・ビデオ・フレーム・データ716、プラットフォーム・ビデオ・フレーム・デコード・バッファ718、OS初期化ビデオ・フレーム・バッファ720及びビデオ・フレーム・バッファ722を含む。ビデオ・フレーム・バッファ722は、プロセッサ702がビデオ・フレーム・データをディスプレイ724に送出する最終的なビデオ・フレーム・バッファを表し得る。
メモリ/記憶装置706は、ロジック704を記憶する対象のコンピュータ読み取り可能な媒体を含み得る。
コンピュータ・システム700は、1つ又は複数の通信ネットワークとインタフェースするためのネットワーク・インタフェース・デバイス又はカード(NIC)726を含み得る。コンピュータ・システム700は、1つ又は複数の他のデバイスとインタフェースするための1つ又は複数の他のインタフェース(ユニバーサル・シリアル・バス(USB)インタフェースなど)を含み得る。
コンピュータ・システム700は、プロセッサ702、メモリ/記憶装置706、ディスプレイ724、NIC726及び他のインタフェース・デバイスの間で通信するための通信インフラストラクチャ728を含み得る。
プラットフォーム・ビデオ・フレーム・データ716は、ネットワークを介して(NIC726経由などで)受信及び/又は更新され得、OS初期化ロジック714に対してセキュアに、又はOS初期化ロジック714と無関係に受信及び/又は更新され得る。
プラットフォーム・ビデオ・フレーム・データ716は、ファームウェア、フラッシュ、及びハード・ディスク記憶装置のうちの1つ又は複数に記憶することができる。
ビデオ・フレーム・データ716は、仮想化ロジック又はシステム管理モード・ロジック(例を以下に説明する)などにより、OS初期化ロジック714に対してセキュアに、隠し区画において受信及び/又は更新され、記憶され得る。例えば、仮想化マシン・マネージャ(VMM)は、隠しディスク区画を取得してオペレーティング・システム・ロジックが再インストールされてもプラットフォーム・フレーム・データ716が利用可能であることを確実にするためにプロセッサ702に、集積ドライブ・エレクトロニクス(IDE)コントローラ入出力アクセスを傍受させ得る。隠し区画を、コンピュータ・システム700の高度ホスト・コントローラ・インタフェース(AHCI)モードにおいて得ることができる。
プラットフォーム・ビデオ・ディスプレイ・ロジック712は、ビデオ・フレーム・バッファ722、及びオペレーティング・システム初期化環境とのビデオ・インタフェースのうちの少なくとも一方をプロセッサ702に仮想化させるための仮想化ロジックを含み得る。例示的な仮想化方法及び仮想化システムを図8、図9、及び図10に関して説明する。
図8は、例示的なコンピュータ・システム800のブロック図である。図7に関して上述した構成と同様な、コンピュータ・システム800の構成には、最下位2桁が同じ参照符号を付している。コンピュータ・システム800は、図9及び図10に関して以下に説明している。図9は、コンピュータ・システム800の例示的なOS初期化環境900を示す図である。図10は、コンピュータ・システム800のOS初期化の例示的な方法のプロセス・フローチャートである。
図8では、ロジック804は、OS初期化仮想マシン(VM)904をホストするために、図9における仮想マシン・マネージャ(VMM)902をプロセッサ802に生成させるためのVMMロジック830を含む。VMMロジック830は、ドライバ及びアプリケーション906としてVM904に、プラットフォーム起動中に起動されたドライバ及びアプリケーションをプロセッサ802に転送させるためのロジックを含む。VMMロジック830は更に、OS初期化908によって示すように、プロセッサ802にVM904内でOS初期化ロジック814を初期化させるためのロジックを更に含む。VMMロジック830は、図9中の仮想ビデオ・フレーム・バッファ820をプロセッサ802に初期化させるためのビデオ・フレーム・バッファ仮想化ロジック834を更に含む。
ロジック804は、VM904と仮想ビデオ・フレーム・バッファ820との間でインタフェースするために、図9中の1つ又は複数のビデオ・インタフェース910をプロセッサ802に初期化させるためのビデオ・インタフェース・ロジック836を含む仮想ディスプレイ・ロジック832を更に含む。仮想ディスプレイ・インタフェース910は、ドライバ及びアプリケーション906とインタフェースするためのグラフィクス出力プロトコル・インタフェース912、OS初期化908とインタフェースするためのビデオ・フレーム・バッファ・インタフェース914、及びレガシー型OSローダ・ロジックからレガシー型ビデオ・サービス割り込み(Int10ビデオ・サービス割り込みなど)を受け取るためのレガシー型サービス916のうちの1つ又は複数を含み得る。
仮想ディスプレイ・ロジック832は、プロセッサ802にプラットフォーム・ビデオ・フレーム・データ816を復号化させ、復号化されたプラットフォーム・ビデオ・フレーム・データをプラットフォーム・ビデオ・フレーム・デコード・バッファ818に記憶させるためのプラットフォーム・ビデオ・デコード・ロジック838を更に含む。
仮想ディスプレイ・ロジック832は、プロセッサ802に、デコード・バッファ818内の復号化されたプラットフォーム・ビデオ・フレーム・データ及び仮想ビデオ・フレーム・バッファ820内のOS初期化ビデオ・フレーム・データをマージさせ、マージされたビデオ・フレーム・データでビデオ・フレーム・バッファ822を更新するためのバッファ・マージ・ロジック840を更に含む。
図9の例では、仮想インタフェース910、デコード・ロジック838、及びバッファ・マージ・ロジック840は仮想ディスプレイ環境918内に示す。仮想ディスプレイ環境918、又はその一部分は、VM904などの、VMM902によってホストされたVMに常駐し得るか、又は上記VMを表し得る。あるいは、又は更に、仮想ディスプレイ環境918、又はその部分はVMM902内に実現することができる。
VMMロジック830は、図10に関して後述するように、プロセッサ802に、タイマ920を維持させ、周期的にプロセッサ802にVM904を退出させ、デコード・ロジック840及びマージ・ロジック838を起動させるためのタイマ・ロジック842を更に含む。VM904の退出により、VM904に対応する状態値を、VM904に、再び入るために保存することができる。
図10では、1002で、コンピュータ・システム800は、プラットフォーム・リセットに続き、1つ又は複数の電源投入時自己診断を行う。
1004では、プラットフォーム初期化が行われる。プラットフォーム初期化は、図8のプラットフォーム初期化ロジック810に応じて行うことができる。
1006では、プロセッサ802に仮想インタフェース910及びプラットフォーム・ビデオ・デコード・バッファ818を初期化させるために仮想ディスプレイ・ロジック832が起動される。
1008では、プロセッサ802にVMM902及びVM904を起動させ、ドライバ及びアプリケーション906をVM904に転送させ、タイマ920を起動させるためにVMMロジック830が起動される。
1010では、コンピュータ・システム800の初期化がVM904に転送される。これは、1012における、プラットフォーム初期化ロジック810内の残りのロジックの起動、及び、1014における、VM904内のOS起動ロジック814の起動を含み得る。
1010における初期化中に、ビデオ・サービスがVM904から要求された場合、仮想ビデオ・フレーム・バッファ820が、1016において、仮想ディスプレイ・インタフェース910のうちの1つ又は複数を使用して更新される。これは、1018において、ビデオ・サービス要求を受信又は傍受する工程、1020において、仮想インタフェースで要求を処理する工程、及び1022において、仮想ビデオ・フレーム・バッファ820を更新する工程を含み得る。1024で、処理は1010に戻って、VM904内でのOS初期化を続ける。
更に、1010における初期化中、タイマ920が満了すると、1025で、ビデオ・フレーム・バッファ822がプラットフォーム・ビデオ・フレーム・データ816で更新される。これは、1026で、タイマが満了した旨を判定する工程、1028で、VM904を退出する工程、1030で、プラットフォーム・ビデオ・フレーム・データ816を復号化し、復号化されたビデオ・フレーム・データをプラットフォーム・ビデオ・デコード・バッファ818に記憶する工程、1032で、プラットフォーム・ビデオ・フレーム・バッファ818及び仮想ビデオ・フレーム・バッファ820の内容をマージする工程、及び1034で、ビデオ・フレーム・バッファ822を、マージされたデータで更新する工程を含む。1036で、処理は1010に戻って、VM904内での初期化を続ける。
1010で、オペレーティング・システムの初期化が完了すると、処理は、1038におけるランタイム環境に進み、1038では、プラットフォーム・ビデオ・データ816の表示を停止することができる。図10の例では、これは、1040で、ビデオ・フレーム・バッファ・ページ・フォルトを検出する工程、及び1042で、仮想ビデオ・フレーム・バッファ820へのアドレスの修正を行う工程として示す。
1つ又は複数の仮想ディスプレイ・ロジック840及びVMMロジック830、又はそれらの一部分の複数のインスタンスを(例えば、図に関して上述したピクチャインピクチャ特徴を提供するために)起動させることができる。
プラットフォーム初期化ロジック810が、ユニファイドEFI(UEFI)ロジックを含む場合、プラットフォーム初期化ロジック810は、{Boot00X, Sound_File, Video_File, Background_Image}のn倍を管理するためのロジックを含み得る。
環境900は、VMM902によってホストされたラッパー又は仮想化コンテナ内の1つ又は複数のOS性能ドライバを含み得る。これは、更なるマルチメディア機能を提供するために、符号化器/復号化器の使用及びスケーリングを可能にし得る。
もう一度図7を参照すれば、動作のシステム管理モード(SMM)内などの、通常のプロセッサ環境外のプラットフォーム・ビデオ・サービスを含むビデオ・サービスをプロセッサ702に供給させるためのロジックを含み得る。
後述のように、SMMは、ファームウェアベースのプラットフォーム初期化がOS初期化に移った後でもビデオ・サービスを供給することができる。OS初期化により、プラットフォーム・ビデオに使用されるビデオ・デバイスがアクセスされることを阻止するために、プラットフォーム初期化は、本明細書及び特許請求の範囲においてプラットフォーム・ビデオ・サービスとして表す通常のビデオ・サービスをSMMビデオ・サービスで置き換える工程を含み得る。例えば、シミュレートされたファームウェアベースのビデオ・ドライバはビデオ・サ―ビス・コールをSMMに転送するために、通常のOSローダ・システムによって利用されたINT 10Hサービスを提供することができる。
SMMはシステム管理割り込み(SMI)によって起動される。SMIにより、プロセッサは、システム・ファームウェアにおいて記憶することができ、アプリケーション・ソフトウェア又はオペレーティング・システム・ソフトウェアに利用可能でなく、かつ/又は、アプリケーション・ソフトウェア又はオペレーティング・システム・ソフトウェアと分離させた対応するSMIハンドラ・コードを実行する。
通常のコンピュータ・システムでは、SMIハンドラは、最大4Gバイトのメモリを処理することができ、適用可能なシステム命令及び入出力(I/O)命令の全て又はほぼ全てを実行することができる。ビデオ・フレーム・バッファは、VGAモードのA0000−BFFFFセグメント、及びSVGAモードの32ビットの物理アドレスを含む1つ又は複数の位置にマッピングすることができる。SMMは、SVGAのビデオ・メモリ空間に直接アクセスすることができる。
コンピュータ・システムは、タイマSMIとして本明細書及び特許請求の範囲で表すSMIを生成するためのSMMソフトウェア・タイマを含むSMI資源をイネーブルし、制御するためのシステム管理デバイスを有するI/Oコントローラ・ハブを含み得る。SMMソフトウェア・タイマがイネーブルされると、タイマSMIが周期的に生成される。SMMソフトウェア・タイマは、例えば、0.9ミリ秒(ms)乃至68ms(0.9ms乃至2.1msの範囲、12ms乃至20msの範囲、28ms乃至36msの範囲、及び60ms乃至68msの範囲を含む)の範囲内の間隔でタイマSMIを生成するようプログラムすることができる。タイマSMIに応じて、SMMにおける対応するタイマSMIハンドラを、フィームウェアがOS初期化に移った後でも起動させることができる。
コンピュータ・システムの利用可能なハードウェア・デバイスに応じて、SMIベースのビデオ・ドライバは、プラットフォーム初期化が制御をOS初期化に移した後でも、ビデオ・フレーム・バッファの全部又はほぼ全部に直接アクセスすることができる。
例示的なSMM方法及びシステムを図11及び図12に関して以下に説明する。
図11は、例示的なコンピュータ・システム1100のブロック図である。図7に関して上述した構成と同様な、コンピュータ・システム1100の構成には、最下位2桁が同じ参照符号を付している。
コンピュータ・システム1100は図12に関して説明する。図12は、通常の動作モード1250及びSMM1254を含む初期化環境の図上にスーパインポーズされた、コンピュータ・システム1100の初期化中にプラットフォーム・ビデオを表示する例示的な方法1200のプロセス・フローチャートである。
図11では、ロジック1104は、コンピュータ・システム1100の初期化中に、SMM1254内からプラットフォーム・ビデオ・フレーム・データ1116をプロセッサ1102に表示させるためのSMMビデオ・ロジック1130を含む。
SMMビデオ・ロジック1130は、割り込みに応じてSMM1254における機能をプロセッサ1102に行わせるためのSMIハンドラ・ロジック1132を含む。図11の例では、SMIヘッダ・ロジック1132は、図12のAPM SMIハンドラ1255をプロセッサ1102にインストールさせるための新型処理管理(APM)SMIハンドラ・ロジック1134としても本明細書及び特許請求の範囲で表すSMIハンドラ・ロジック1134を含む。
SMIハンドラ・ロジック1132は、以下に説明する、図12のタイマSMIハンドラ1236をプロセッサ1102にインストールさせるためのタイマSMIハンドラ・ロジック1136を更に含む。
SMIビデオ・ロジック1130は、以下に説明する、図12のビデオ・サービス・ディスパッチャ1258をプロセッサ1102にインストールさせるためのビデオ・サービス・ディスパッチ・ロジック1138を更に含む。
SMIビデオ・ロジック1130は、以下に説明する、プロセッサ1102に、ソフトウェアベースのSMMタイマ1258をSMM1204にインストールさせるためのSMMタイマ・ロジック1140を更に含む。
プラットフォーム初期化ロジック1110は、プロセッサ1102にSMMビデオ・ロジック1130をロード又はインストールさせるためのSMMビデオ・ロード・ロジック1142を含む。
プラットフォーム初期化ロジック1110は、基本入出力システム(BIOS)ロジック及び拡張可能なファームウェア・インタフェース(EFI)ロジック(BIOS/EFIロジック1144として示す。プラットフォーム・ビデオ・ドライバ・ロジック1146を含む)のうちの少なくとも一方を更に含む。
プラットフォーム初期化ロジック1110は、プラットフォーム初期化中にAPM SMIハンドラ1254を起動させるために、図12中のAPM SMI1260を生成するためのAPM SMI生成ロジック1148を更に含む。
コンピュータ・システム1100の例示的な初期化を次に、方法1200を参照して説明する。
1202では、プラットフォーム初期化がシステム・リセットに続いて行われる。図12の例では、プラットフォーム初期化は、SMMビデオ・ロード・ロジック1146に応じて、1204でSMMビデオ・ロジック1130をインストールする工程、1206でプラットフォーム・ビデオ・ドライバ・ロジック1134を起動させる工程、及び、MP SMI生成ロジック1148に応じて1208でAPM SMI1260を生成する工程とを含む。
APM SMI1260に応じて、プロセッサ1102は、通常処理モード1250を中断し、SMM1252内のAPM SMIハンドラ1254を起動させる。これは、システム状態マップにおいて通常処理モード1250の状態を保存する工程を含み得る。
1210では、タイマ1258を起動させる。1212では、ディスプレイ1124に対応するビデオ・デバイス情報を取り出す。1214では、予約された画素をビデオ・フレーム・バッファ1122において所定値にセットすることができる。SMMビデオ・ロジック1130は、予約された画素へのプラットフォーム・ビデオ・フレーム・データ1116の書き込みを排除するよう構成される。1232に関して後述するように、予約された画素をその後、使用して、OSビデオ・ドライバがアクティブであるかを判定する。
1216では、プラットフォーム・ビデオ・デコード・バッファ1118及びOS初期化バッファ1120が初期化される。1218では、処理は通常処理モード1250に戻る。これは、状態マップから通常処理モード1250に対応する状態値を取り出す工程を含み得る。
通常処理モード1250に戻ると、プラットフォーム初期化は1202で再開し、次いで、1220でOS初期化に進み得るか、又は1220におけるOS初期化に直接進み得る。
1220でのOS初期化中、ビデオ・サービス要求1262が、ビデオ・サービス・ディスパッチャ1258によって傍受され、ビデオ・サービス・ディスパッチャ1258は、処理モード1250に割り込み、APM SMIハンドラ1254の一部として本明細書及び特許請求の範囲に示すビデオ・サービスSMIハンドラをプロセッサ1102に起動させる。
1222では、OS初期化ビデオ・フレーム・バッファ1120が、APM SMIハンドラ1254の制御下で、ビデオ・サービス要求1262に応じて更新される。1224では、処理は処理モード1250に戻る。
更に、OS初期化1220中、タイマ1258が満了すると、タイマSMI1266を1230で生成して、通常処理モード1250に割り込み、SMM1252内のタイマSMIハンドラ1256をプロセッサ1102に起動させる。
1232では、ビデオ・フレーム・バッファ1122における予約された画素が、1214で書き込まれた値と比較される。予約された画素が変えられていない場合、プラットフォーム・ビデオ・フレーム・データ1116が1234で復号化され、プラットフォーム・ビデオ・デコード・バッファ1118に記憶される。1236で、プラットフォーム・ビデオ・デコード・バッファ1118及びOS初期化ビデオ・フレーム・バッファ1120の内容がマージされる。1238では、ビデオ・フレーム・バッファ1122が、マージされたビデオ・フレーム・データで更新される。1240では、タイマ1258をリセットすることができる。あるいは、タイマ1258は連続して循環し得る。
1242では、処理は、通常処理モード1250におけるOS初期化1220に戻る。1220におけるOS初期化が完了すると、処理は、1246におけるランタイム環境に進む。ランタイム環境に関連付けられたビデオ・ドライバを起動させると、ランタイム環境は、ビデオ・フレーム・バッファ1122において、予約された画素に上書きし得る。1232に戻れば、予約された画素が変えられた場合、プラットフォーム・ビデオの表示を停止することができる。停止は、タイマ1258を停止し、ビデオ・サービス・ディスパッチャ1258をプラットフォーム・ビデオ・サービスで置き換えることを含み得る。
仮想化及びシステム管理モードに関して上述した1つ又は複数の構成は、互いとの種々の組合せで実現することができる。
機能、構成を示す機能的構成単位、及びそれらの関係を用いて、方法及びシステムを本明細書及び特許請求の範囲に記載している。前述の機能的構成単位の境界の少なくとも一部は、説明の便宜上、本明細書及び特許請求の範囲において任意に規定している。特定された複数の機能、及びそれらの関係が適切に行われる限り、別の境界を規定することができる。
前述の機能的構成単位は、離散的な構成部分、特定用途向集積回路、適切なソフトウェアを実行するプロセッサ、及びそれらの組合せによって実現することが可能であるということを当業者は認識するであろう。
700 コンピュータ・システム
710 プラットフォーム初期化ロジック
712 プラットフォーム・ビデオ・ディスプレイ・ロジック
714 OS初期化ロジック

Claims (21)

  1. 方法であって、
    ビデオ・ドライバを起動させる工程を含む、コンピュータ・システムを初期化する工程と、
    前記コンピュータ・システム上でオペレーティング・システムを初期化する工程と、
    前記オペレーティング・システムの初期化に、反復して割り込む工程と、
    前記オペレーティング・システムの初期化が割り込まれると、ビデオ・フレーム・バッファがプラットフォーム・ビデオ・フレーム・データで更新される工程と、
    前記ビデオ・フレーム・バッファの更新後、前記オペレーティング・システムの初期化を再開する工程とを含む方法。
  2. 請求項1記載の方法であって、
    オペレーティング・システム・ビデオ・サービス要求、及び前記オペレーティング・システムの初期化に関連付けられた対応するグラフィクスを傍受する工程と、
    前記グラフィクスを前記プラットフォーム・ビデオ・フレーム・データとマージする工程とを含み、
    前記ビデオ・フレーム・バッファを更新する工程は、前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで更新する工程を含む方法。
  3. 請求項1記載の方法であって、
    前記オペレーティング・システムの初期化が完了すると、前記プラットフォーム・ビデオ・フレーム・データの表示を停止する工程とを含む方法。
  4. 請求項1記載の方法であって、
    前記コンピュータ・システム上で仮想マシンを起動させる工程と、
    プラットフォーム初期化ドライバ及びアプリケーションを前記仮想マシンに転送する工程と、
    前記仮想マシン内で前記オペレーティング・システムの初期化を行う工程とを含み、
    前記反復して割り込む工程は、反復して前記仮想マシンを中断する工程を含み、
    前記ビデオ・フレーム・バッファの更新は、前記仮想マシンが中断すると、前記ビデオ・フレーム・バッファを更新する工程を含む方法。
  5. 請求項4記載の方法であって、
    前記仮想マシン内で前記オペレーティング・システムの初期化を行う工程は、
    前記仮想マシンに対して前記ビデオ・フレーム・バッファを仮想化する工程と、
    前記仮想マシンと前記仮想化ビデオ・フレーム・バッファとの間でインタフェースする工程とを含み、
    前記ビデオ・フレーム・バッファを更新する工程は、
    前記プラットフォーム・ビデオ・フレーム・データをプラットフォーム・ビデオ・デコード・バッファに復号化する工程と、
    仮想ビデオ・フレーム・バッファ及び前記プラットフォーム・ビデオ・デコード・バッファからのビデオ・フレーム・データをマージする工程と、
    前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで更新する工程とを含む方法。
  6. 請求項1記載の方法であって、
    前記割り込む工程は、タイマ割り込みに応答して、通常プロセッサ環境に割り込む工程を含み、
    前記ビデオ・フレーム・バッファの更新は、前記プラットフォーム・ビデオ・フレーム・データを復号化し、前記通常プロセッサ環境が中断している間に前記タイマ割り込みに応じて前記ビデオ・フレーム・バッファの更新を行い、前記ビデオ・フレーム・バッファの更新に続き、前記通常プロセッサ環境を再開する工程を含む方法。
  7. 請求項6記載の方法であって、
    前記通常プロセッサ環境において前記オペレーティング・システムの初期化に関連付けられた対応するグラフィクス及びビデオ・サービス要求を傍受し、ビデオ・サービス要求に応じてビデオ・サービス割り込みを生成する工程と、
    前記ビデオ・サービス割り込みに応じて前記通常プロセッサ環境に割り込む工程と、
    前記通常プロセッサ環境が中断している間に前記グラフィクスでオペレーティング・システム初期化ビデオ・フレーム・バッファを更新する工程と、
    前記オペレーティング・システム初期化ビデオ・フレーム・バッファの更新に続いて前記通常プロセッサ環境を再開する工程とを含み、
    前記ビデオ・フレーム・バッファの更新は、前記オペレーティング・システム初期化ビデオ・フレーム・バッファにおけるグラフィクスを前記プラットフォーム・ビデオ・フレーム・デコード・バッファにおける復号化されたプラットフォーム・ビデオ・フレーム・データとマージし、前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで更新する工程を更に含む方法。
  8. 請求項6記載の方法であって、
    前記コンピュータ・システムの初期化中に、前記ビデオ・フレーム・バッファの位置に値を書き込む工程と、
    前記位置へのプラットフォーム・ビデオ・データの書き込みを排除する工程と、
    前記位置の内容を前記値と前記タイマ割り込みに応じて比較する工程と、
    前記位置の内容が前記値と異なる場合、前記プラットフォーム・ビデオ・フレーム・データの表示を停止する工程とを更に含む方法。
  9. コンピュータ・プログラム・ロジックを記憶させたコンピュータ読み取り可能な媒体を備えたコンピュータ・プログラム・プロダクトであって、前記コンピュータ・プログラム・ロジックは、
    プロセッサにコンピュータ・システムを初期化させるためのプラットフォーム初期化ロジックと、
    前記プロセッサに動作環境を初期化させるためのオペレーティング・システム初期化ロジックと、
    前記プロセッサに、反復して前記オペレーティング・システム初期化ロジックの処理に割り込ませ、前記オペレーティング・システム初期化ロジックの処理が割り込まれるとプラットフォーム・ビデオ・フレーム・データでビデオ・フレーム・バッファを更新させるためのプラットフォーム・グラフィクス・ビデオ・ディスプレイ・ロジックとを含むコンピュータ・プログラム・プロダクト。
  10. 請求項9記載のコンピュータ・プログラム・プロダクトであって、
    前記オペレーティング・システム初期化ロジックに関連付けられた対応するグラフィクス及びビデオ・サービス要求を前記プロセッサに傍受させるための傍受ロジックと、
    前記グラフィクス及び前記プラットフォーム・ビデオ・フレーム・データを前記プロセッサにマージさせるためのマージ・ロジックとを更に含み、
    前記プラットフォーム・ビデオ・ディスプレイは、前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで前記プロセッサに更新させるためのロジックを含むコンピュータ・プログラム・プロダクト。
  11. 請求項9記載のコンピュータ・プログラム・プロダクトであって、
    前記動作環境の初期化後に前記プラットフォーム・ビデオ・ディスプレイ・ロジックを前記プロセッサに停止させるためのプラットフォーム・ビデオ・ディスプレイ停止ロジックを更に含むコンピュータ・プログラム・プロダクト。
  12. 請求項9記載のコンピュータ・プログラム・プロダクトであって、前記プラットフォーム・ビデオ・ディスプレイ・ロジックは、
    前記プロセッサに、仮想マシンをホストさせ、プラットフォーム初期化ドライバ及びアプリケーションを前記仮想マシンに転送させ、前記仮想マシン内で前記オペレーティング・システム初期化ロジックを起動させるための仮想マシン・マネージャ・ロジックと、
    前記プロセッサに、反復して前記仮想マシンを中断させ、前記仮想マシンが中断すると前記プラットフォーム・ビデオ・フレーム・データで前記ビデオ・フレーム・バッファを更新させるための割り込みロジックとを含むコンピュータ・プログラム・プロダクト。
  13. 請求項12記載のコンピュータ・プログラム・プロダクトであって、前記仮想マシン・マネージャ・ロジックは、前記仮想マシンに対して前記ビデオ・フレーム・バッファを前記プロセッサに仮想化させるためのロジックを含み、前記プラットフォーム・ビデオ・ディスプレイ・ロジックは仮想ディスプレイ・ロジックを更に含み、前記仮想ディスプレイ・ロジックは、
    前記仮想マシンと前記仮想化ビデオ・フレーム・バッファとの間の1つ又は複数のビデオ・インタフェースを前記プロセッサに供給させるためのビデオ・インタフェース・ロジックと、
    前記プロセッサに、前記プラットフォーム・ビデオ・フレーム・データをプラットフォーム・ビデオ・デコード・バッファに復号化させるためのプラットフォーム・ビデオ・デコード・ロジックと、
    前記プロセッサに、前記仮想フレーム・バッファ及び前記プラットフォーム・ビデオ・デコード・バッファからのビデオ・フレーム・データをマージさせ、前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで更新させるためのバッファ・マージ・ロジックとを含むコンピュータ・プログラム・プロダクト。
  14. 請求項9記載のコンピュータ・プログラム・プロダクトであって、前記プラットフォーム・ビデオ・ディスプレイ・ロジックは、ファームウェアに記憶されたシステム管理モード・ロジックを含み、前記プロセッサは、通常プロセッサ環境を中断し、前記通常プロセッサ環境の状態を記憶し、割り込みに応答して前記システム管理モード・ロジックを起動させるよう構成され、前記システム管理モード・ロジックは、
    タイマ割り込みを反復して生成するためのタイマ・ロジックと、
    前記プロセッサに前記プラットフォーム・ビデオ・フレーム・データを復号化させ、前記タイマ割り込みに応答して前記プラットフォーム・ビデオ・フレーム・データで前記ビデオ・フレーム・バッファを更新させ、前記ビデオ・フレーム・バッファの更新に続いて前記通常プロセッサ環境を再開させるためのタイマ割り込みハンドラ・ロジックとを含むコンピュータ・プログラム・プロダクト。
  15. 請求項14記載のコンピュータ・プログラム・プロダクトであって、前記システム管理モード・ロジックは、
    前記通常プロセッサ環境におけるビデオ・ディスパッチ・サービスを前記プロセッサに起動させて、前記プロセッサに、ビデオ・サービス要求、及び前記オペレーティング・システム初期化ロジックに関連付けられた対応するグラフィクスを傍受させ、前記ビデオ・サービス要求に応答してビデオ・サービス割り込みを生成させるためのビデオ・サービス・ディスパッチ・ロジックと、
    前記プロセッサに、前記ビデオ・サービス割り込みに応答して、オペレーティング・システム初期化ビデオ・フレーム・バッファを前記グラフィクスで更新させ、前記オペレーティング・システム初期化ビデオ・フレーム・バッファの更新に続いて前記通常プロセッサ環境を再開させるためのビデオ・サービス割り込みハンドラ・ロジックとを含み、
    前記タイマ割り込みハンドラ・ロジックは、前記プロセッサに、前記オペレーティング・システム初期化ビデオ・フレーム・バッファにおける前記オペレーティング・システム初期化グラフィクス及び前記復号化プラットフォーム・ビデオ・データをマージさせ、前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで更新させるためのマージ・ロジックを含むコンピュータ・プログラム・プロダクト。
  16. 請求項14記載のコンピュータ・プログラム・プロダクトであって、前記システム管理モード・ロジックは、プラットフォーム・ビデオ・ディスプレイ停止ロジックを更に含み、
    前記プラットフォーム・ビデオ・ディスプレイ停止ロジックは、
    前記システム管理モード・ロジックが起動されると、前記プロセッサに、値を前記ビデオ・フレーム・バッファの位置に書き込ませるためのロジックと、
    前記プロセッサが前記位置にプラットフォーム・ビデオ・データを書き込むことを排除するためのロジックと、
    前記プロセッサに、前記位置の内容を前記値と前記タイマ割り込みに応じて比較させるためのロジックと、
    前記位置の内容が前記値と異なる場合、前記プロセッサに前記プラットフォーム・ビデオ・ディスプレイ・ロジックを停止させるためのロジックとを含むコンピュータ・プログラム・プロダクト。
  17. システムであって、
    コンピュータ・システムと、
    前記コンピュータ・システムを初期化するためのプラットフォーム初期化ロジックと、
    前記コンピュータ・システムの動作環境を初期化させるためのオペレーティング・システム初期化ロジックと、
    反復して前記オペレーティング・システム初期化ロジックに割り込み、前記オペレーティング・システム初期化ロジックが割り込まれるとプラットフォーム・ビデオ・フレーム・データでビデオ・フレーム・バッファを更新するためのプラットフォーム・グラフィクス・ビデオ・ディスプレイ・ロジックとを含むシステム。
  18. 請求項17記載のシステムであって、
    ビデオ・サービス要求、及び前記オペレーティング・システムの初期化に関連付けられた対応するグラフィクスを傍受するための傍受ロジックと、
    前記グラフィクスを前記プラットフォーム・ビデオ・フレーム・データとマージするマージ・ロジックとを含み、
    前記プラットフォーム・グラフィクス・ビデオ・ディスプレイ・ロジックは、前記ビデオ・フレーム・バッファを、マージされたビデオ・フレーム・データで更新するためのロジックを含むシステム。
  19. 請求項17記載のシステムであって、
    前記動作環境の初期化後に前記プラットフォーム・ビデオ・ディスプレイ・ロジックを停止するためのプラットフォーム・ビデオ・ディスプレイ停止ロジックを更に含むシステム。
  20. 請求項17記載のシステムであって、前記プラットフォーム・ビデオ・ディスプレイ・ロジックは、
    仮想マシンをホストし、プラットフォーム初期化ドライバ及びアプリケーションを前記仮想マシンに転送し、前記仮想マシン内で前記オペレーティング・システム初期化ロジックを起動するための仮想マシン・マネージャ・ロジックと、
    反復して前記仮想マシンを中断し、前記仮想マシンが中断すると前記プラットフォーム・ビデオ・フレーム・データで前記ビデオ・フレーム・バッファを更新するための割り込みロジックとを含むシステム。
  21. 請求項17記載のシステムであって、前記プラットフォーム・ビデオ・ディスプレイ・ロジックは、ファームウェアに記憶されたシステム管理モード・ロジックを含み、前記コンピュータ・システムは、通常コンピュータ・システム環境を中断し、前記通常コンピュータ・システム環境の状態を記憶し、割り込みに応答して前記システム管理モード・ロジックを起動するよう構成され、前記システム管理モード・ロジックは、
    タイマ割り込みを反復して生成するためのタイマ・ロジックと、
    前記プラットフォーム・ビデオ・フレーム・データを復号化し、前記タイマ割り込みに応答して前記プラットフォーム・ビデオ・フレーム・データで前記ビデオ・フレーム・バッファを更新し、前記ビデオ・フレーム・バッファの更新に続いて前記通常コンピュータ・システム環境を再開するためのタイマ割り込みハンドラ・ロジックとを含むシステム。
JP2009224640A 2008-09-30 2009-09-29 システム初期化の動作中にプラットフォーム・グラフィクスを表示するための方法及びシステム Pending JP2011028712A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/242,217 US20100079472A1 (en) 2008-09-30 2008-09-30 Method and systems to display platform graphics during operating system initialization

Publications (1)

Publication Number Publication Date
JP2011028712A true JP2011028712A (ja) 2011-02-10

Family

ID=41429669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009224640A Pending JP2011028712A (ja) 2008-09-30 2009-09-29 システム初期化の動作中にプラットフォーム・グラフィクスを表示するための方法及びシステム

Country Status (5)

Country Link
US (1) US20100079472A1 (ja)
EP (2) EP2169548A1 (ja)
JP (1) JP2011028712A (ja)
KR (1) KR101134816B1 (ja)
CN (1) CN101714091B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014501982A (ja) * 2010-12-21 2014-01-23 インテル・コーポレーション 電力管理のためのシステム及び方法
JP2015501040A (ja) * 2011-11-30 2015-01-08 インテル・コーポレーション オペレーティングシステムの初期化中にマルチメディアデータを表示する技術

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110678B1 (en) 2011-05-17 2015-08-18 Phoenix Technologies Ltd. Automated BIOS enhancements and upgrades
US8560822B1 (en) * 2011-05-26 2013-10-15 Phoenix Technologies Ltd. Pre-boot operating environment
US10262309B1 (en) 2011-05-26 2019-04-16 Phoenix Technologies Ltd. Augmenting a BIOS with new programs
US8874892B1 (en) 2011-05-26 2014-10-28 Phoenix Technologies Ltd. Assessing BIOS information prior to reversion
US9110679B1 (en) 2011-06-03 2015-08-18 Phoenix Technologies Ltd. Pre-boot management of drivers and programs
KR20130022091A (ko) 2011-08-24 2013-03-06 주식회사 케이티 클라우드 컴퓨팅 서버 시스템의 가상머신 제어 장치 및 방법
CN103975315B (zh) * 2011-12-06 2017-04-12 英特尔公司 用于提高车辆计算平台中的响应性的方法和系统
DE112011106035T5 (de) * 2011-12-26 2014-09-25 Intel Corporation Anzeigesteuerungs-Unterbrechungsregister
US20190056828A1 (en) * 2012-09-06 2019-02-21 Google Inc. User interface transitions
GB2513660B (en) * 2013-05-03 2018-11-14 Displaylink Uk Ltd System for connecting a display over a general-purpose data transport
US9691123B2 (en) * 2014-12-15 2017-06-27 Intel Corporation Instrumentation of graphics instructions
FR3048293B1 (fr) * 2016-02-29 2018-07-06 Sagemcom Broadband Sas Procede de programmation d'une animation lors de la phase de demarrage d'un dispositif electronique et dispositif electronique associe
US10162643B2 (en) * 2016-06-29 2018-12-25 Wipro Limited Method and system for booting automotive electronics in an electronic control unit of an automobile
WO2022196997A1 (en) * 2021-03-15 2022-09-22 Samsung Electronics Co., Ltd. Method and electronic device for boosting graphics performance
CN113051118A (zh) * 2021-03-26 2021-06-29 联想企业解决方案(新加坡)有限公司 用于促进系统信息的早期显示的信息处理设备和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003516580A (ja) * 1999-12-08 2003-05-13 インサイド ソフトウェア インク オペレーティング・システムのローディング前にコンテンツを配信、検索及び表示するシステム及び方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2708608B2 (ja) * 1990-05-25 1998-02-04 富士通株式会社 仮想計算機のipl処理方式
US5890190A (en) * 1992-12-31 1999-03-30 Intel Corporation Frame buffer for storing graphics and video data
JP2579886B2 (ja) * 1993-10-29 1997-02-12 株式会社マキエンタープライズ パーソナルコンピュータのモニターテレビ出力を家庭用テレビ用に変更する方法
US5943064A (en) * 1997-11-15 1999-08-24 Trident Microsystems, Inc. Apparatus for processing multiple types of graphics data for display
US6560702B1 (en) * 1997-12-10 2003-05-06 Phoenix Technologies Ltd. Method and apparatus for execution of an application during computer pre-boot operation
US6791572B1 (en) * 1999-06-18 2004-09-14 Phoenix Technologies Ltd. Generating media output during BIOS boot-up
CN1252582C (zh) 1999-06-18 2006-04-19 凤凰技术有限公司 在基本输入和输出系统启动期间产生媒体输出
US6477642B1 (en) * 1999-06-18 2002-11-05 Phoenix Technologies Ltd. Method and apparatus for extending BIOS control of screen display beyond operating system boot process
TW479194B (en) * 1999-06-18 2002-03-11 Phoenix Tech Ltd Method and apparatus for execution of an application during computer pre-boot operation
KR20020015848A (ko) * 2000-08-23 2002-03-02 윤종용 운영 체제를 기반으로 한 텔레비젼 및 이 장치의 초기화면 디스플레이 방법
US6880077B2 (en) 2001-09-28 2005-04-12 Intel Corporation Enabling communication between video BIOS and graphics drivers
JP4275611B2 (ja) * 2004-12-02 2009-06-10 ソニー株式会社 再生装置、再生方法および再生プログラム、記録媒体、ならびに、データ構造体
TWI286703B (en) * 2005-07-22 2007-09-11 Mitac Technology Corp Method using foreground image data to display and background program to load and execute computer program
US7721082B2 (en) * 2007-01-08 2010-05-18 Arssov Paul Plamen Method for advertising using the BIOS of a peripheral card, a software program based on the said method, and a hardware peripheral card using the said method and program
US8045828B2 (en) * 2007-07-09 2011-10-25 Kabushiki Kaisha Toshiba Apparatus for processing images, and method and computer program product for detecting image updates

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003516580A (ja) * 1999-12-08 2003-05-13 インサイド ソフトウェア インク オペレーティング・システムのローディング前にコンテンツを配信、検索及び表示するシステム及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014501982A (ja) * 2010-12-21 2014-01-23 インテル・コーポレーション 電力管理のためのシステム及び方法
JP2015501040A (ja) * 2011-11-30 2015-01-08 インテル・コーポレーション オペレーティングシステムの初期化中にマルチメディアデータを表示する技術

Also Published As

Publication number Publication date
EP2169548A1 (en) 2010-03-31
CN101714091B (zh) 2013-08-14
EP2479666A3 (en) 2012-11-07
EP2479666A2 (en) 2012-07-25
KR101134816B1 (ko) 2012-04-13
CN101714091A (zh) 2010-05-26
KR20100037012A (ko) 2010-04-08
US20100079472A1 (en) 2010-04-01
EP2479666B1 (en) 2017-11-22

Similar Documents

Publication Publication Date Title
KR101134816B1 (ko) 운영 체제 초기화 중에 플랫폼 그래픽을 디스플레이하기 위한 방법 및 시스템
CN109478135B (zh) 计算机系统和用于重新引导计算机系统的方法
EP2189901B1 (en) Method and system to enable fast platform restart
US8533735B2 (en) System for execution context isolation in response to invoking a BIOS kernel function during a driver execution environment (DXE) phase of boot-up of a computer
US8201163B2 (en) Input/output transaction management during platform initiation
US8762991B2 (en) Framework for domain-specific run-time environment acceleration using virtualization technology
US7882341B2 (en) System and method to enable parallelization of early platform initialization
US8239610B2 (en) Asynchronous page faults for virtual machines
US8416253B2 (en) Apparatus, method, and recording medium for detecting update of image information
US20150339174A1 (en) Warning track interruption facility
US8131986B2 (en) System and method for boot loading of programs within a host operating environment having one or more linked guest operating systems
US20100023942A1 (en) Accelerating virtual machine resume time using a pre-cached working set
US7581037B2 (en) Effecting a processor operating mode change to execute device code
US9959134B2 (en) Request processing using VM functions
US10620963B2 (en) Providing fallback drivers for IO devices in a computing system
US9471357B2 (en) Monitoring virtual machine interface and local graphical user interface on a thin client and alternating therebetween
CN113672250A (zh) 用于存储器设备固件升级的接口和热重置路径
US20040123086A1 (en) Technique for reconstituting a pre-boot firmware environment after launch of an operating system
JP2002132741A (ja) プロセッサ追加方法、計算機及び記録媒体
US20030065914A1 (en) Enabling video BIOS and display drivers to leverage system BIOS platform abstract
US20190012192A1 (en) Saving data for virtual machine (vm) sessions upon update of host operating system
WO2016014017A1 (en) Operating system device access using a virtual machine
JP2010079821A (ja) コンピュータシステム、およびレガシーアプリケーション実行方法、およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111208

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120321