JP5497923B2 - システム管理モードにおけるプロセッサ間割り込みの再方向付け - Google Patents

システム管理モードにおけるプロセッサ間割り込みの再方向付け Download PDF

Info

Publication number
JP5497923B2
JP5497923B2 JP2013003917A JP2013003917A JP5497923B2 JP 5497923 B2 JP5497923 B2 JP 5497923B2 JP 2013003917 A JP2013003917 A JP 2013003917A JP 2013003917 A JP2013003917 A JP 2013003917A JP 5497923 B2 JP5497923 B2 JP 5497923B2
Authority
JP
Japan
Prior art keywords
processor
processor core
core
interrupt
system management
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.)
Expired - Fee Related
Application number
JP2013003917A
Other languages
English (en)
Other versions
JP2013093045A (ja
Inventor
ジェイ. ジマー、ビンセント
ジャオ、ジェウェン
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 JP2013093045A publication Critical patent/JP2013093045A/ja
Application granted granted Critical
Publication of JP5497923B2 publication Critical patent/JP5497923B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Description

本発明は、システム管理モード中のプロセッサ間の割り込み処理に係る。
SMM(システム管理モード)は32または64ビットのインテル(登録商標)マイクロプロセッサ等の中央処理装置の根幹部である。例えばACPI(電力制御インターフェース)のイネーブルおよびディセーブル、デジタル熱センサの利用、メモリのホットプラグ等の、重要なコンピュータのプラットフォームアクティビティの多くが、通常、相手先ブランド供給業者(OEM)のファームウェアがコンピュータプラットフォームに提供するSMMコードで実行される。コアは、SMI(システム管理割り込み)を受けて、SMMに入る。
現在のコンピュータプラットフォームに常駐する中央プロセッサは、幾つかのコアを有していることが多い(つまり、プロセッサ1つについて2、4、8、16等のコア)。一般的にマルチコアの中央プロセッサの性能はシングルコアのものよりも優れているかもしれないが、マルチコア環境における効率的な動作には、幾つかの技術的課題が残されている。現在のところ、プラットフォームのファームウェアは、オペレーティングシステム(OS)ソフトウェアモデルに適合すべくSMM用に全てのCPUコアを同期させている、というのもOSカーネルでは、1つのコアが見当たらないことも、または、プロセッサ間の割り込み(IPI)等のアクションに応答しないことも許されないからである。
PI(プラットフォーム初期化)1.1(www.uefi.org)仕様では、UEFI(Unified Extensible Firmware Interface)ベースのファームウェアのSMMアーキテクチャが定義されている。しかし、現在のUEFIファームウェアおよびレガシーバイオス(BIOS)いずれにおいても、SMM環境への割り込みはディセーブルされている。
本発明を例示するが、図面は限定を意図しておらず、同様の参照番号の部材は類似したものを示すものとする。
SMMにおける応答コアを対象としたIPIの処理機能を有するコンピュータプラットフォームおよびプロセッサの一実施形態を示す。
処理コアがSMM中に行うタスクがない場合に、SMMから処理コアを退出させる処理の一実施形態のフロー図である。
シングルコアをSMMに入らせる処理の別の実施形態を示す。
SMM内の処理コアに対象を絞ってIPIを再方向付けする処理の一実施形態のフロー図である。
システム管理モード中にプロセッサ間割り込みを再方向付けるデバイス、システム、および方法の実施形態を記載する。
コンピュータプラットフォームの中央プロセッサ内の処理コアは、SMI(システム管理割り込み)を受けると、SMM(システム管理モード)に入ることができる。コアはSMMに入ることで、そのモード固有の1以上のタスクを完了させる。現在のファームウェアによる解決法を有するコンピュータプラットフォームでは、SMMにあるコアがIPI(プロセッサ間割り込み)に応答しない。さらに、現在のコンピュータプラットフォームでは、プラットフォームの処理コアがSMIを受けてSMMに入ると、コンピュータプラットフォーム上のファームウェアは、全てのコアを同期してSMMに入らせる。従って、現在の技術では、SMMへの入退出は、全てのコアを対象とする同期処理である。これにより、コア間の処理割り込み量が不当に増加していることが懸念される。この割り込みは特に、オーディオ/ビデオストリーミング等のある種のサービス品質(QoS)アクティビティで顕著であり、このようなケースでは、SMM内のコア数が増える、および/または、SMM占有時間が長くなる、といった場合にジッタが生じ始めることもある。
多くの実施形態では、「全てのコア間のSMM同期」の修正モデルを保証している。例えば、SMIが発行されるが、必要となるSMM処理がマルチコアプロセッサ内の単一のコアだけに固有であるような場合には、通常、対象とされている単一のコアだけをSMMに入らせ、残りのコアには標準動作を続行させることでプロセッサの効率が上がると考えられる。現在のIPIにまつわる問題は、この修正された「対象となるコアのSMM」の入退出モデルを実装するときに起こる。単純に、1つ残され、SMMに入らなかった1つのコアが、SMMに入った1以上のコアに対してIPIを発行することがある。しかし、IPIがSMMに入っていないコアからSMMに入っているコアに送られても、SMM内のコアは不在で応答しないように見えるので、該IPIが受信されないことになる。
従って、多くの実施形態では、対象となるコアの制御フローは、標準SMIハンドラのものを外れて、SMM中であってもIPIに応答するようにする。特に、IPIを受けると、対象となるコアのシステムのコンテキストをセーブしておき、制御をIPI用のオペレーティングシステム(OS)ハンドラに渡す。ひとたびOS IPIが完了すると、システムのコンテキストを復元して、制御を、さらなる処理のためにSMIハンドラに戻す。
以下の記載および請求項では、「含む(include)」および「備える(comprise)」、並びにそれらの派生物が利用される場合があるが、これらは互いに同義語として取り扱われることを意図している。さらに、以下の記載および請求項では、「連結された(coupled)」および「接続された(connected)」、並びにそれらの派生物が利用される場合がある。これらの用語は互いに同義語を意図していないことを理解されたい。特定の実施形態では、「接続された」は、2以上の部材が直接物理的または電気的接触関係にあることを示す場合に用いられる。「連結された」も、2以上の部材が直接物理的または電気的接触関係にあることを示していてもよい。しかし、「連結された」は、2以上の部材が直接接触していなくてもよく、互いに協働または相互作用することを意味する場合もある。
図1は、SMMにおける応答コアを対象としたIPIの処理機能を有するコンピュータプラットフォームおよびプロセッサの一実施形態を示す。コンピュータプラットフォーム100は、プロセッサ(例えばプロセッサ102)を含みうる。図示されていない他の実施形態では、コンピュータシステム100は、2以上のプロセッサを含んでもよい。プロセッサ102は、インテル(登録商標)ベースの中央処理装置(CPU)であっても、別のブランドのCPUであってもよい。他の実施形態では、プロセッサ102は、1以上のコアを有してよい。例えば図1では、4つのコア(コア0(104)、コア1(106)、コア2(108)、コア3(110))を有するプロセッサ102が示されている。しかし、図示されていない他の実施形態では、プロセッサ102は、2、8、16、またはこれより多くの数のコアを含んでもよい。
各プロセッサコアは、実行ユニットおよび命令撤回ユニット等の、幾つかの内部動作ユニットを含んでよい。さらに、各コアは、レジスタおよびキャッシュ等の、データを保存するのに利用される内部メモリ位置を含んでよい。例えば、インテル(登録商標)ベースのマイクロプロセッサアーキテクチャでは、各コアが割り込み記述子テーブル(IDT)レジスタ(IDTR112)、グローバル記述子テーブル(GDT)レジスタ(GDTR114)、1以上の制御レジスタ(CRx116)、1以上のモデル固有のレジスタ(MSR118)等を含むことができる。
IDTR112は、IDTのアドレス位置を記憶する。IDTは、汎用x86コンピュータアーキテクチャにおいて割り込みベクトルテーブルを実装するのに利用されるデータ構造である。IDTは、コアが、コアが受ける割り込みおよび例外への正しい応答を決定するのに利用される。
GDTR114は、GDTのアドレス位置を記憶する。GDTは、プログラムを実行する際の様々なメモリ領域の特性を定義するのに利用されるデータ構造である(例えば個々のメモリセグメントのベースアドレス、サイズ、アクセス特権等)。
各CRx116(例えばCR0、CR1等)は、コア0(104)については、該コアの汎用行動を変更する、または制御するプロセッサレジスタである。制御レジスタが制御しうるタスクのなかには、割り込み制御、メモリページング制御、およびアドレスモード制御等が含まれる。
各MSR118(幾つかのMSRがあることもあり、各々が異なる情報を記憶している)は、OS等のシステムソフトウェアに対して、特定のプロセッサの実装に関しており他のプロセッサの実装に関するものではないフィーチャを提供する。MSR内の情報により、OSは、コアまたはプロセッサが一般的に有する機能について知ることができる。
コア0(104)に示す記憶レジスタは、特定のコアに位置するレジスタのサンプルに過ぎない。現実には、コア0(104)はこれ以外に、多くの記憶レジスタおよび1以上のメモリキャッシュを含みうるが、このようなさらなる記憶位置は図1に示さない。他の実施形態では、プロセッサ102はインテル(登録商標)プロセッサではなくてもよく、代わりに、類似した機能を有する他の記憶位置があってもよい。
プロセッサ102は、メモリコントローラ120を介してメモリサブシステムに連結される。図1はプロセッサ102に集積されたメモリコントローラ120を示しているが、図示されていない他の実施形態では、メモリコントローラは、ブリッジデバイスあるいはコンピュータシステム内のプロセッサ102とは離間している他の集積回路内に集積されていてもよい。メモリサブシステムは、プロセッサが実行する命令を記憶するシステムメモリ122を含む。メモリサブシステムのメモリデバイスは、ダブルデータレート(DDR)同期DRAM等の任意の種類の揮発性ダイナミックランダムアクセスメモリ(DRAM)、および/または、フラッシュメモリ(登録商標)等の任意の種類の不揮発性メモリであってよい。プロセッサは、プロセッサメモリインタフェースによりメモリに連結され、プロセッサメモリインタフェースは、データ、アドレス、制御、およびその他の情報を、プロセッサ(1または複数)およびメモリ間で交換させる個々のラインを含むリンク(つまり、インターコネクト/バス)であってよい。
ホストオペレーティングシステム(OS)124は、コンピュータプラットフォーム100が、プラットフォームおよびプラットフォームに取り付けられた周辺機器に対して汎用動作制御を提供するよう動作可能な間、該コンピュータプラットフォーム100のメモリにロードされるオペレーティングシステムを表す。ホストOS124は、マイクロソフト(登録商標)、ウィンドウズ(登録商標)、UNIX(登録商標)、LINUX(登録商標)、またはその他の機能OSであってよい。ホストOS124は、1以上のプログラム、サービス、またはエージェントがその内部で動作できる環境を提供する。多くの実施形態では、1以上のソフトウェアアプリケーションを、ホストOS124の上部で動作させうる。アプリケーションは、システムリソースの利用中に1以上のタスクを実行する任意の種類のソフトウェアアプリケーションであってよい。
コンピュータプラットフォームは、さらに、入出力(I/O)ロジックコンプレックス126を含んでよい。I/Oロジックコンプレックス126は、コンピュータプラットフォーム100内のI/Oサブシステムの一部を管理する1以上の集積コントローラを含みうる。例えば、I/Oコンプレックス126は、プロセッサと、コンピュータプラットフォーム100にプラグインされうる1以上のユニバーサルシリアルバス(USB)デバイスとの間の情報の流れを制御する1以上の集積USBホストコントローラ(不図示)を含みうる。
多くの実施形態では、I/Oコンプレックスは、仮想化エンジン128を含む。仮想化エンジン128は、コンピュータプラットフォーム100を多数の仮想マシン(VM)に分割させるロジックを含みうる。例えば、2つのVMがコンピュータプラットフォーム100上で実行されているとすると、各々は、別このシステムリソースを割り当てられている(例えばシステムメモリ)。1つのVMは、ホストOS124にリソースを提供する際の優先度の低いVMとして実装されてよい。2つ目のVMは、コンピュータプラットフォーム100に対して遠隔情報技術(IT)アクセスを実現すべく、システム管理者にある種の優先リソースを提供する優先度の高いVMとして実装されてよい。別の例ではさらに別のVMを実装することもできる(例えば、コンピュータプラットフォーム100に連結されたVoIP(Voice-over-Internet-Protocol)電話機専用のリソースを提供するVM等)。
仮想化エンジン128は、さらに、強力なハードウェアベースのセキュリティチェック処理をホストOS124に実装することができる。例えば、優先度の低いホストOSベースのVMの整合性は、最初の起動処理中または、より優先度の高いセキュリティVMによるプラットフォーム動作中の任意の時点において、セキュアに計測することができる。これらセキュリティ計測値により、コンピュータプラットフォーム100のエンドユーザは、ホストOS124およびホストOSの上部で実行されているソフトウェアアプリケーションいずれもが危険に曝されていないことを確認することができうる。
多くの実施形態では、プロセッサ102は、ファームウェアロジック130の記憶装置を含む。ファームウェアロジック130は、起動処理の初めにプロセッサを初期化する助けとなり、且つ、ホストOS124のランタイムサービスを提供する起動前および起動後のルーチンを含んでよい。多くの実施形態では、コンピュータプラットフォーム100は、ホストOS124とプロセッサ/プラットフォームファームウェアとの間の通信を促進する目的で存在するUEFI(Unified Extensible Firmware Interface)を利用する。UEFIは部分的に、ホストOS124を、標準的なインタフェースを利用して多くのプロセッサの1つと協働させる。
上述したように、プロセッサ102はマルチコアプロセッサであり、個々のコアは他のコアに対してIPIを利用して割り込みを送り、IPIが対象とする1以上の他のコアに対してある形態の機能動作を要求することができる。加えて、多くの実施形態では、プロセッサ102は、SMMへ入退出する機能を有する。SMMにある間は通常、各コア内において通常のプロセッサの実行は中断される。言い換えると、現在のところSMIがプロセッサに到達すると、ファームウェアロジック130またはプロセッサ102内の他のロジックは、全てのコアをSMMに入らせて同期させる。
しかし多くの実施形態では、プロセッサ102内の1以上のコアがSMMに入ることなく通常動作を続けつつ、1以上の他のコアがSMMにおける動作をすることができる。例えば、図2は、処理コアがSMM中に行うタスクがない場合に、SMMから該処理コアを退出させる処理の一実施形態のフロー図である。処理は、ハードウェア、ソフトウェア、またはこれらの組み合わせにより行うことができる。処理は、コアが、第1のブロードキャストSMIを受信するロジックを処理することにより始まる(処理ブロック200)。SMIは、全ての処理コアにブロードキャストされる。SMIを受信すると、コア内の処理ロジックがSMMに入る(処理ブロック202)。次に、これも全てのコアに送信された第2のブロードキャストSMIを受信する(処理ブロック204)。多くの実施形態では、第2のブロードキャストSMIは、SMMでビジー状態にない各コアに対して、SMMを退出して通常予定していたタスクに戻ってよい旨を伝える。
従って、任意のコア内の処理ロジックは、対象となっているコアが完了すべきSMMタスクを有しているのか、アイドル状態であるのかを判断する(処理ブロック206)。コアが完了すべきSMMタスクを有している場合には、処理ロジックはそのコアをSMM内に留め、SMM関連のタスクを行わせる(処理ブロック208)。逆にコアがSMMでアイドル状態にあり、完了すべきSMM関連のタスクを持たない場合、処理ロジックはそのコアをSMMから退出させて、通常の動作に戻す(処理ブロック210)。この処理は、各コア内の処理ロジックにより、または、各コア外の、各コアのステータスを遠隔判断する機能を有するプラットフォームレベルロジックにより行うことができる。従って、この処理の終了時には、SMMに送られタスクを与えられた各コアがSMMに留まることができる。逆にSMMコア同期処理のみの理由でSMMへと送られ、SMM関連のタスクを持たない各コアは、SMMから退出して、通常動作(例えば、ホストOSの上部のアプリケーションコードの実行)を続ける。
図3は、シングルコアをSMMに入らせる処理の別の実施形態を示す。図2の処理の欠点は、SMIのブロードキャストがあまり効率的でないことである。本来ならばSMMから退出せねばならないコアが先ずはSMMに入ってから退出させられる。これは、他の1以上のコアがタスクを行っている間中、動作しないコアをアイドル状態のままSMMに留めておくよりは効率的ではあるが、対象を絞ったSMIを利用するよりは潜在的に非効率である。対象を絞ったSMIは、特定のコアに方向付けられる。故に、単一のコアがSMMでタスクを行う必要がある場合、対象を絞ったSMIを対象となるコアに直接送ることができ、他の各コアはSMIを受け取らない。従って、対象を絞ったSMIをコンピュータプラットフォームに実装する場合、各コアの処理ロジックは、対象を絞ったSMIを受け取った場合には自身をSMMに入らせることができるが、SMIを受け取っていない場合には邪魔されずに通常動作を続けることができる。このように、コアの処理ロジックは、対象を絞ったSMIを受信したか否かを判断する(処理ブロック300)。コアの処理ロジックが対象を絞ったSMIを受け取っていない場合には、処理ロジックはコアに対して、通常動作を続けさせることができる(処理ブロック302)。他方、処理ロジックが対象を絞ったSMIを受け取ったと判断する場合には、ロジックはコアをSMMに入らせ、そのコアにSMM関連のタスクを行わせる(処理ブロック304)。
このように、図2または図3の処理を実装するにあたっては、プラットフォームは、任意の時点で、幾らかのコアをSMMに有し、幾らかのコアをSMM外に有するプロセッサを有することができる。IPIは、幾らかのコアがSMMにあり、これと同時に、幾らかのコアがSMM外にあるようなプロセッサを許容するプラットフォーム上で、重要な問題を生じる可能性がある。上述したように、SMMにないあるコアが、SMMにある別のコア宛にIPIを開始した場合、このIPIは、各コアのIPI処理メカニズムに修正を加えない限り、宛先のコアには達しないことになる。現在のところ、SMM内のコアは、不在に見えるためにIPIを受信することはできない。従って、SMM内のコアにIPIを受信させるような修正を行うことが望ましい。
図1に戻ると、多くの実施形態では、各コアは、SMMモードにあるIPIの受信および再方向付けを処理するロジックを含む。例えばコア0(104)は、再方向付けロジッ132を含みうる。再方向付けロジック132は、ハードウェア回路またはファームウェア記憶位置に記憶されるファームウェアコードを備えうる。
図4は、SMM内の処理コアに対象を絞ってIPIを再方向付けする処理の一実施形態のフロー図である。本処理は、ハードウェア回路またはソフトウェア(つまりファームウェア)、またはこれらの組み合わせを含みうる処理ロジックにより行うことができる。本処理は、例えばコア0(図1の104)等のコアがSMIを受信することにより開始される(処理ブロック400)。別の実施形態では、SMIはブロードキャストされるSMIであっても、そのコアに対象が絞られたSMIであってもよい。その後コアは、SMIに応じてSMMに入る(処理ブロック402)。
コアがSMMに入ると、処理ロジック(例えば図1の再方向付けロジック132)は、割り込み記述子テーブル(IDT)を設定する(図1の134)(処理ブロック404)。IDTは、割り込みベクトルテーブルを実装するのに用いられるデータ構造であり、コアが、割り込みおよび例外への正しい応答を決定するのに利用される。IDTはシステムメモリ内に構築されてよい(図1の122)。IDTの開始のメモリアドレス位置をIDTR内に記憶させてよい(図1の112)。次に、処理ロジックは、コアへの割り込みをイネーブルする(処理ブロック406)。これにより、コアはSMM中に割り込みを受信することができ、従来のように無視はしない。デバイスドライバの機能に影響を及ぼさないように、SMM中のコアは、CPU割り込みをイネーブルしつつ、PIC(プログラム可能な割り込み制御回路)またはAPIC(拡張された割込制御回路)により幾らかのデバイス割り込みを選択的にイネーブルおよび/またはディセーブルすることができる。
そして処理ロジックは、SMIハンドラの実行を開始する(処理ブロック408)。SMIハンドラは、SMIが要求したタスクの種類に応じた特定の処理セットを含みうる。コアへの割り込みがイネーブルされるので、SMI実行中に処理ロジックは、別のコアからのIPIの受信について、継続してポーリングを行う(処理ブロック410)。IPIが受信されていない間は、処理ロジックは標準SMIハンドラを実行し続ける(処理ブロック408)。他方、IPIが受信されると、処理ロジックは、先ずIPIのベクトル数(vector number)を入手することによりIPI処理ルーチンに入る(処理ブロック412)。IPIのベクトル数はIDTに見つかる場合が多い。
ベクトル数により、処理ロジックは、IDT内の適切なエントリを見つけることができる。ひとたび利用するIDTエントリが見つかると、処理ロジックはスーパジャンプ前のシステムコンテキストをセーブすることができる(処理ブロック416)。コアは、IDT、1以上の制御レジスタ(図1のCRs−CRx116)、および、おそらくは他のコア固有の情報をも変更させるスーパジャンプを行う。スーパジャンプ後のシステムコンテキストは、コア動作制御を、通常は標準OS制御の範囲外で動作するSMIハンドラロジックから、OS実行IPIハンドラに渡すことができる。スーパジャンプは、一時的なOS実行IPIハンドラに対して、IPIに関するタスクを完了させるよう制御することができる。処理ロジックは、IPIハンドラの完了時にコアをSMIハンドラに戻すべく、スーパジャンプ前にコアのシステムコンテキスト(状態)をセーブする。システムコンテキストのセーブには、現在のIDT、1以上のCR、命令ポインタ(EIP)、および追加的な情報のセーブが含まれる。多くの実施形態では、システムコンテキスト(図1の136)は、システムメモリのシステム管理ランダムアクセスメモリ(SMRAM)(図1の138)の部分内にセーブされる。SMRAMは、プロセッサが、SMM関連のコードを保存するのに用いるシステムメモリの部分である。
システムコンテキストをセーブすると、処理ロジックはOSエントリポイントへのスーパジャンプを行う(処理ブロック418)。スーパジャンプにより、1以上のセーブ情報が、スーパジャンプに関する新たな情報(例えば新たなEIP)に置き換わる。次いで、処理ロジックは、OS IPIハンドラの実行を開始する(処理ブロック420)。OS IPIハンドラは、IPIが要求するタスクを行わせることでコアにIPIに応答させる命令セットを実行する。OS IPIハンドラ(図1の140)は、システムメモリ内に記憶されているオペレーティングシステム内で実行されうる。OS IPIハンドラが自身のタスクを完了すると、処理ロジックは、割り込み終了(EOI)コマンドをコンピュータシステムのAPICに送り、APICに割り込みタスクが完了した旨を通知する(処理ブロック422)。
多くの実施形態では、スーパジャンプを行うのに利用される命令を、特殊な遠い呼(specialized Far Call)としてよい。通常の遠い呼(normal Far Call)は、現在のコードセグメントとは異なるセグメントに位置するプロシージャへの呼である。OS IPIハンドラが実行できるようにシステムコンテキストを切り替えるには、多くのレジスタ(CR0、CR3、CR4、GDTR、およびIDTR等)を復元する必要がある。通常の遠い呼は、CS(コードセグメント)レジスタよびEIPのみを切り替えればよい。従って、多くの実施形態では、プロセッサコアにフルコンテキスト切り替えをサポートさせるには、1ビットをMSRに追加させればよい。MSRビットがイネーブルされると、遠い呼の命令が、超遠い呼(Super Far Call)としてパースされる。これにより、CS/EIPが切り替わるのみならず、CRx/GDTR/IDTR/等も切り替わる。従って、1つの命令を利用してOS環境に入ることができる。OS IPIハンドラの完了時に、OS Iret(割り込みリターン)命令をスーパIretとしてパースすることで、CRx/GDTR/IDTR/等を切り替え、コンテキストをSMM動作に戻すことができる。
EOIをAPICに送った後で、処理ロジックは、OSエントリポイントにジャンプする前にコアが存在していた位置に戻ることができるが、これは、OS IPIハンドラが完了したから可能となる(処理ブロック424)。スーパジャンプの前の位置に戻る際に、処理ロジックは、ジャンプ前にセーブされていたシステムコンテキストを復元する(IDT,EIP、1以上のCR等を含み)(処理ブロック426)。ひとたびもとのシステムコンテキストが復元されると、処理ロジックは、コアをSMMのSMIハンドラの処理に戻す(処理ブロック428)。SMIハンドラの処理は、別のIPIが受信されるまで(ブロック410から初めて全スーパジャンプを繰り返すことになる)、あるいは、SMI処理が完了するまで続けられ、こうしてコアはSMMを抜け(処理ブロック430)、処理が完了する。
多くの実施形態では、オペレーティングシステムは、OSが制御を獲得しOS IPIハンドラを実行する前にVMM(仮想マシンマネージャ)または別のセキュアな仮想マシンによりセキュアに計測される。この計測処理により、スーパジャンプ中にセキュアな環境をハンドオフ制御(hand off control)へと確実に移行させる。多くの実施形態では、SMI転送モニタ(STM)がサポートされる。STMのサポートにより、STMは、SMMのIPI処理用のOSゲストを再開する。STMは、VMCS(仮想マシン制御構造)環境を設定して、割り込みを受信した際にVMExitをイネーブルすることができる。このイネーブルは初期化中に行われてよい。そして、IPIが起こった際には、STMは、割り込みに起因したVMExitコマンドを受信する。次いでSTMはOS IPIハンドラを開始するセキュアな環境を設定して、SMMのIPIハンドラに対してVMEntryを行うことができる。加えて、STMは、コンテキストを記憶させているSMRAMをセキュアにすることにより、記憶されているコンテキストを保護し、SMM実行環境を、SM IPIハンドラによる傍受から守ることができる。これにより、SMM実行環境を、不良または悪意のあるOS実体による危険から守ることもできるであろう。
システム管理モード中にプロセッサ間割り込みを再方向付けるデバイス、システム、および方法の実施形態が記載された。これら実施形態は特定の例示的な実施形態に基づいて記載されてきた。しかし当業者であれば、本開示に基づき開示される実施形態の広義の精神および範囲から逸脱しないで、これら実施形態に対して様々な変形例および変更例を相当することができよう。従って明細書および図面は例示的であり、制限的な意味合いで捉えられるべきものではない。実施形態の例を項目として示す。
[項目1]
複数のプロセッサコアのうち第1のプロセッサコアがシステム管理モードに入り、複数のプロセッサコアのうちの、第1のプロセッサコアとは異なる1以上のプロセッサコアは動作を維持してシステム管理モードには入らない段階と、
第1のプロセッサコアが、システム管理モード中にプロセッサ間割り込みに応答する段階とを備える方法。
[項目2]
第1のプロセッサコアがシステム管理モードに入った後で、
第1のプロセッサコアによる割り込み処理を許可するべく割り込み記述子テーブルをセーブする段階と、
第1のプロセッサコアに対するプロセッサ間割り込みをイネーブルする段階とをさらに備える項目1に記載の方法。
[項目3]
第1のプロセッサコアがプロセッサ間割り込みを受信した後で、
第1のプロセッサコアの現在のシステムコンテキストをメモリにセーブする段階と、
第1のプロセッサコアに対して、スーパジャンプに利用される新たなスーパジャンプシステムコンテキストを設定する段階と、
スーパジャンプを、オペレーティングシステムのプロセッサ間割り込みハンドラの位置に行う段階と、
オペレーティングシステムのプロセッサ間割り込みハンドラを実行する段階とをさらに備える項目2に記載の方法。
[項目4]
オペレーティングシステムのプロセッサ間割り込みハンドラを実行した後で、
スーパジャンプの前の位置に戻る段階と、
第1のプロセッサコアの現在のシステムコンテキストをメモリから復元する段階と、
第1のプロセッサコアを、システム管理モードから抜けさせる段階とをさらに備える項目3に記載の方法。
[項目5]
オペレーティングシステムのプロセッサ間割り込みハンドラを制御するオペレーティングシステムが制御を獲得してハンドラを実行する前に、システム管理割り込み転送モニタによりオペレーティングシステムをセキュアに計測する段階と、
計測時に、システム管理割り込み転送モニタがオペレーティングシステムに制御を送る段階とをさらに備える項目3に記載の方法。
[項目6]
プロセッサ間割り込みに呼応して、スーパジャンプに関連するコンテキスト切り替えにおいて、1以上の第1のプロセッサコアの制御レジスタと、一の第1のプロセッサコアのグローバル記述子テーブルレジスタとを含むように、第1のプロセッサコアのマシン固有レジスタにビットを設定する段階をさらに備える項目3に記載の方法。
[項目7]
コンピュータシステムの第1のプロセッサコアであって、
システム管理モードに入り、
システム管理モード中にプロセッサ間割り込みに応答し、
コンピュータシステムの中の1以上のさらなるプロセッサコアは動作を維持してシステム管理モードには入らない第1のプロセッサコア。
[項目8]
システム管理モードに入った後で、さらに、
割り込み処理を許可するべく割り込み記述子テーブルをセーブし、
プロセッサ間割り込みをイネーブルする項目7に記載の第1のプロセッサコア。
[項目9]
プロセッサ間割り込みを受信した後で、さらに、
現在のシステムコンテキストをメモリにセーブし、
スーパジャンプに利用される新たなスーパジャンプシステムコンテキストを設定し、
スーパジャンプを、オペレーティングシステムのプロセッサ間割り込みハンドラの位置に行い、
オペレーティングシステムのプロセッサ間割り込みハンドラを実行する項目8に記載の第1のプロセッサコア。
[項目10]
オペレーティングシステムのプロセッサ間割り込みハンドラを実行した後で、さらに、
スーパジャンプの前の位置に戻り、
現在のシステムコンテキストをメモリから復元し、
システム管理モードから抜ける項目9に記載の第1のプロセッサコア。
[項目11]
オペレーティングシステムのプロセッサ間割り込みハンドラを制御するオペレーティングシステムが制御を獲得してハンドラを実行する前に、システム管理割り込み転送モニタによりオペレーティングシステムをセキュアに計測し、
計測時に、システム管理割り込み転送モニタがオペレーティングシステムに制御を送る項目9に記載の第1のプロセッサコア。
[項目12]
プロセッサ間割り込みに呼応して、スーパジャンプに関連するコンテキスト切り替えにおいて、1以上の第1のプロセッサコアの制御レジスタと、一の第1のプロセッサコアのグローバル記述子テーブルレジスタとを含むように、第1のプロセッサコアのマシン固有レジスタにビットを設定する項目9に記載の第1のプロセッサコア。
[項目13]
システム管理モードに入り、システム管理モード中にプロセッサ間割り込みに応答する第1のプロセッサコアと、
動作を維持してシステム管理モードには入らない1以上のさらなるプロセッサコアとを備えるシステム。
[項目14]
第1のプロセッサコアはさらに、システム管理モードに入った後で、
割り込み処理を許可するべく割り込み記述子テーブルをセーブし、
プロセッサ間割り込みをイネーブルする項目13に記載のシステム。
[項目15]
第1のプロセッサコアはさらに、プロセッサ間割り込みを受信した後で、
現在のシステムコンテキストをメモリにセーブし、
スーパジャンプに利用される新たなスーパジャンプシステムコンテキストを設定し、
スーパジャンプを、オペレーティングシステムのプロセッサ間割り込みハンドラの位置に行い、
オペレーティングシステムのプロセッサ間割り込みハンドラを実行する項目14に記載のシステム。
[項目16]
第1のプロセッサコアはさらに、オペレーティングシステムのプロセッサ間割り込みハンドラを実行した後で、
スーパジャンプの前の位置に戻り、
現在のシステムコンテキストをメモリから復元し、
システム管理モードから抜ける項目15に記載のシステム。
[項目17]
第1のプロセッサコアはさらに、オペレーティングシステムのプロセッサ間割り込みハンドラを制御するオペレーティングシステムが制御を獲得してハンドラを実行する前に、システム管理割り込み転送モニタによりオペレーティングシステムをセキュアに計測し、
計測時に、システム管理割り込み転送モニタがオペレーティングシステムに制御を送る項目15に記載のシステム。
[項目18]
第1のプロセッサコアはさらに、プロセッサ間割り込みに呼応して、スーパジャンプに関連するコンテキスト切り替えにおいて、1以上の第1のプロセッサコアの制御レジスタと、一の第1のプロセッサコアのグローバル記述子テーブルレジスタとを含むように、第1のプロセッサコアのマシン固有レジスタにビットを設定する項目15に記載のシステム。

Claims (13)

  1. 単一のプロセッサに存在する複数のプロセッサコアが、全てのコアにシステム管理モードに入るように命令する第1のブロードキャストシステム管理割り込みを受信する段階と、
    前記複数のプロセッサコアが、前記第1のブロードキャストシステム管理割り込みを受信したことに応じて前記システム管理モードに入る段階と、
    前記複数のプロセッサコアが、前記システム管理モード内で1以上のタスクを実行するのにビジーでない全てのコアに前記システム管理モードから退出するように命令する第2のブロードキャストシステム管理割り込みを、受信する段階と、
    前記複数のプロセッサコアの1つを含む少なくとも第1のプロセッサコアが、前記システム管理モード内で1以上のタスクを実行するのにビジーでないと決定したことに応じて前記システム管理モードを退出する段階と、
    を備える方法。
  2. 前記第1のプロセッサコアが前記システム管理モードに入った後で、
    前記第1のプロセッサコアが、割り込み処理を許可するべく割り込み記述子テーブルをセーブする段階と、
    前記第1のプロセッサコアが、前記第1のプロセッサコアに対するプロセッサ間割り込みをイネーブルする段階とをさらに備える請求項1に記載の方法。
  3. 前記第1のプロセッサコアがプロセッサ間割り込みを受信した後で、
    前記第1のプロセッサコアが、現在のシステムコンテキストをメモリにセーブする段階と、
    前記第1のプロセッサコア、オペレーティングシステムのプロセッサ間ハンドラに関する新たなシステムコンテキストを設定する段階と、
    前記第1のプロセッサコアが、処理位置を前記プロセッサ間ハンドラの位置にジャンプさせる段階と、
    前記第1のプロセッサコアが、前記オペレーティングシステムのプロセッサ間ハンドラを実行する段階とをさらに備える請求項2に記載の方法。
  4. 前記第1のプロセッサコアが、前記オペレーティングシステムのプロセッサ間ハンドラを実行した後で、
    前記第1のプロセッサコアが、前記第1のプロセッサコアの処理位置をジャンプ前の位置に戻す段階と、
    前記第1のプロセッサコアが、前記現在のシステムコンテキストを前記メモリから復元する段階と、
    前記第1のプロセッサコア、前記システム管理モードから抜ける段階とをさらに備える請求項3に記載の方法。
  5. 前記オペレーティングシステムのプロセッサ間ハンドラを制御するオペレーティングシステムが前記オペレーティングシステムのプロセッサ間ハンドラを実行する前に、
    前記第1のプロセッサコアが、セキュアな環境を設定して、前記オペレーティングシステムの前記プロセッサ間ハンドラを開始する段階とをさらに備える請求項3に記載の方法。
  6. 前記第1のプロセッサコアが、
    前記プロセッサ間割り込みに呼応して、前記システムコンテキストの切り替えにおいて、1以上の第1のプロセッサコアの制御レジスタと、一の第1のプロセッサコアのグローバル記述子テーブルレジスタとを含むように、前記第1のプロセッサコアのマシン固有レジスタにビットを設定する段階をさらに備える請求項3に記載の方法。
  7. プロセッサ中の第1のプロセッサコアであって、
    前記プロセッサ内の全てのコアにシステム管理モードに入るように命令する第1のブロードキャストシステム管理割り込みを受信し、
    前記第1のブロードキャストシステム管理割り込みを受信したことに応じて前記システム管理モードに入り、
    前記システム管理モード内で1以上のタスクを実行するのにビジーでない前記プロセッサ内の全てのコアに、前記システム管理モードから退出するように命令する、第2のブロードキャストシステム管理割り込みを受信し、
    前記第1のプロセッサコアは1以上のタスクを実行するのにビジーでないと決定し、
    前記第1のプロセッサコアが前記1以上のタスクを実行するのにビジーでないと決定したことに応じて前記システム管理モードを退出し、
    前記第2のブロードキャストシステム管理割り込みを受信した後に、前記プロセッサ内の少なくとも他の1つのプロセッサコアは前記1以上のタスクを実行するのにビジーであり、前記システム管理モードに留まる、
    第1のプロセッサコア。
  8. 前記システム管理モードに入った後で、さらに、
    割り込み処理を許可するべく割り込み記述子テーブルをセーブし、
    プロセッサ間割り込みをイネーブルする請求項7に記載の第1のプロセッサコア。
  9. さらに、プロセッサ間割り込みを受信した後で、
    現在のシステムコンテキストをメモリにセーブし、
    オペレーティングシステムのプロセッサ間ハンドラに関する新たなシステムコンテキストを設定し、
    処理位置を前記プロセッサ間ハンドラの位置にジャンプさせ、
    前記オペレーティングシステムのプロセッサ間ハンドラを実行する請求項8に記載の第1のプロセッサコア。
  10. 前記オペレーティングシステムのプロセッサ間ハンドラを実行した後で、さらに、
    処理位置をジャンプ前の位置に戻し、
    前記現在のシステムコンテキストを前記メモリから復元し、
    前記システム管理モードから抜ける請求項9に記載の第1のプロセッサコア。
  11. 前記オペレーティングシステムのプロセッサ間ハンドラを制御するオペレーティングシステムが前記オペレーティングシステムのプロセッサ間ハンドラを実行する前に、
    前記オペレーティングシステムの前記プロセッサ間ハンドラを開始するセキュアな環境を設定する請求項9に記載の第1のプロセッサコア。
  12. 前記プロセッサ間割り込みに呼応して、前記システムコンテキストの切り替えにおいて、1以上の第1のプロセッサコアの制御レジスタと、一の第1のプロセッサコアのグローバル記述子テーブルレジスタとを含むように、前記第1のプロセッサコアのマシン固有レジスタにビットを設定する請求項9に記載の第1のプロセッサコア。
  13. 請求項7から12のいずれか1項に記載の第1のプロセッサコアを備えるプロセッサ。
JP2013003917A 2009-04-08 2013-01-11 システム管理モードにおけるプロセッサ間割り込みの再方向付け Expired - Fee Related JP5497923B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/384,725 2009-04-08
US12/384,725 US8151027B2 (en) 2009-04-08 2009-04-08 System management mode inter-processor interrupt redirection

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010085510A Division JP2010250817A (ja) 2009-04-08 2010-04-01 システム管理モードにおけるプロセッサ間割り込みの再方向付け

Publications (2)

Publication Number Publication Date
JP2013093045A JP2013093045A (ja) 2013-05-16
JP5497923B2 true JP5497923B2 (ja) 2014-05-21

Family

ID=42562418

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010085510A Pending JP2010250817A (ja) 2009-04-08 2010-04-01 システム管理モードにおけるプロセッサ間割り込みの再方向付け
JP2013003917A Expired - Fee Related JP5497923B2 (ja) 2009-04-08 2013-01-11 システム管理モードにおけるプロセッサ間割り込みの再方向付け

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2010085510A Pending JP2010250817A (ja) 2009-04-08 2010-04-01 システム管理モードにおけるプロセッサ間割り込みの再方向付け

Country Status (4)

Country Link
US (2) US8151027B2 (ja)
EP (1) EP2239662B1 (ja)
JP (2) JP2010250817A (ja)
CN (1) CN101859258A (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080086575A1 (en) * 2006-10-06 2008-04-10 Annie Foong Network interface techniques
US7996548B2 (en) 2008-12-30 2011-08-09 Intel Corporation Message communication techniques
US8645596B2 (en) * 2008-12-30 2014-02-04 Intel Corporation Interrupt techniques
JP5335634B2 (ja) * 2009-09-29 2013-11-06 レノボ・シンガポール・プライベート・リミテッド システム管理モードの特権レベルを保護するコンピュータ
WO2012114463A1 (ja) * 2011-02-23 2012-08-30 株式会社日立製作所 計算機、ファームウェア実行方法
US9697008B2 (en) 2012-02-22 2017-07-04 Hewlett Packard Enterprise Development Lp Hiding logical processors from an operating system on a computer
FR2996935B1 (fr) * 2012-10-16 2016-01-15 Bull Sas Procede et dispositif de traitement d'interruptions dans un systeme multiprocesseur
BR112015018459A2 (pt) * 2013-03-07 2017-07-18 Intel Corp mecanismo para fornecer suporte para fluxos de confiabilidade, disponibilidade e capacidade de serviço (ras) em monitor de ponto
US10353765B2 (en) * 2013-03-08 2019-07-16 Insyde Software Corp. Method and device to perform event thresholding in a firmware environment utilizing a scalable sliding time-window
US9311138B2 (en) * 2013-03-13 2016-04-12 Intel Corporation System management interrupt handling for multi-core processors
WO2014158161A1 (en) 2013-03-28 2014-10-02 Hewlett-Packard Development Company, L.P. Error coordination message for a blade device having a logical processor in another system firmware domain
CN105103121B (zh) 2013-03-28 2018-10-26 慧与发展有限责任合伙企业 刀片系统以及刀片系统的分区执行方法
WO2014158152A1 (en) 2013-03-28 2014-10-02 Hewlett-Packard Development Company, L.P. Making memory of compute and expansion blade devices available for use by an operating system
TWI492153B (zh) * 2013-07-11 2015-07-11 Insyde Software Corp System platform for supporting infrared receiver / transmitter and method of operation thereof
US9465432B2 (en) 2013-08-28 2016-10-11 Via Technologies, Inc. Multi-core synchronization mechanism
US9792112B2 (en) 2013-08-28 2017-10-17 Via Technologies, Inc. Propagation of microcode patches to multiple cores in multicore microprocessor
US9507404B2 (en) 2013-08-28 2016-11-29 Via Technologies, Inc. Single core wakeup multi-core synchronization mechanism
US11086658B2 (en) * 2013-11-20 2021-08-10 Insyde Software Corp. System performance enhancement with SMI on multi-core systems
US9875148B2 (en) 2014-06-27 2018-01-23 International Business Machines Corporation Detecting deadlocks involving inter-processor interrupts
US9524257B2 (en) 2014-06-27 2016-12-20 International Business Machines Corporation Transactional execution enabled supervisor call interruption while in TX mode
JP2016151917A (ja) * 2015-02-18 2016-08-22 日本電気株式会社 情報処理装置、情報処理制御方法および情報処理装置制御プログラム
US10474596B2 (en) * 2015-06-25 2019-11-12 Intel Corporation Providing dedicated resources for a system management mode of a processor
WO2017013799A1 (ja) * 2015-07-23 2017-01-26 株式会社日立製作所 計算機及び計算機の制御方法
US9977682B2 (en) 2015-12-09 2018-05-22 Intel Corporation System management mode disabling and verification techniques
EP3314514B1 (en) * 2016-01-25 2020-01-22 Hewlett-Packard Development Company, L.P. Protecting basic input/output (bios) code
CN108292339B (zh) * 2016-01-26 2022-02-11 惠普发展公司,有限责任合伙企业 系统管理模式特权架构
US20210026950A1 (en) * 2016-03-07 2021-01-28 Crowdstrike, Inc. Hypervisor-based redirection of system calls and interrupt-based task offloading
US10956345B2 (en) * 2016-04-01 2021-03-23 Intel Corporation Enhanced directed system management interrupt mechanism
CN106255157B (zh) * 2016-04-22 2019-06-28 重庆邮电大学 一种优化多模用户终端模式间重定向过程的方法
CN107886005B (zh) * 2017-11-24 2019-11-08 广东虹勤通讯技术有限公司 一种系统管理中断的加密处理方法及系统
US11132314B2 (en) * 2020-02-24 2021-09-28 Dell Products L.P. System and method to reduce host interrupts for non-critical errors
US11900127B2 (en) 2021-12-08 2024-02-13 Microsoft Technology Licensing, Llc Automated recovery of far edge computing infrastructure in a 5G network

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57106960A (en) * 1980-12-23 1982-07-03 Nippon Telegr & Teleph Corp <Ntt> Data processor with interruption control facility
US5764999A (en) * 1995-10-10 1998-06-09 Cyrix Corporation Enhanced system management mode with nesting
JP3930116B2 (ja) * 1997-08-29 2007-06-13 株式会社東芝 コンピュータシステム
US6038632A (en) * 1997-05-07 2000-03-14 Kabushiki Kaisha Toshiba Interrupt control on SMM
US6418496B2 (en) * 1997-12-10 2002-07-09 Intel Corporation System and apparatus including lowest priority logic to select a processor to receive an interrupt message
US6968412B1 (en) * 1999-12-30 2005-11-22 Intel Corporation Method and apparatus for interrupt controller data re-direction
US6848046B2 (en) * 2001-05-11 2005-01-25 Intel Corporation SMM loader and execution mechanism for component software for multiple architectures
US6779065B2 (en) * 2001-08-31 2004-08-17 Intel Corporation Mechanism for interrupt handling in computer systems that support concurrent execution of multiple threads
KR100456630B1 (ko) * 2001-12-11 2004-11-10 한국전자통신연구원 프로세서간 통신을 위한 인터럽트 중계 장치 및 방법
US7603550B2 (en) * 2002-04-18 2009-10-13 Advanced Micro Devices, Inc. Computer system including a secure execution mode-capable CPU and a security services processor connected via a secure communication path
US7383587B2 (en) * 2002-11-18 2008-06-03 Arm Limited Exception handling control in a secure processing system
GB0226874D0 (en) * 2002-11-18 2002-12-24 Advanced Risc Mach Ltd Switching between secure and non-secure processing modes
US7363411B2 (en) * 2003-10-06 2008-04-22 Intel Corporation Efficient system management synchronization and memory allocation
US7721024B2 (en) * 2003-11-12 2010-05-18 Dell Products L.P. System and method for exiting from an interrupt mode in a multiple processor system
US20050102457A1 (en) * 2003-11-12 2005-05-12 Dell Products L.P. System and method for interrupt processing in a multiple processor system
US7496706B2 (en) * 2004-06-30 2009-02-24 Intel Corporation Message signaled interrupt redirection table
US7200701B2 (en) * 2004-08-26 2007-04-03 Dell Products L.P. System and method for processing system management interrupts in a multiple processor system
US20070239917A1 (en) * 2005-12-09 2007-10-11 Ryuji Orita Interrupt routing within multiple-processor system
US7433985B2 (en) * 2005-12-28 2008-10-07 Intel Corporation Conditional and vectored system management interrupts
US7464211B2 (en) * 2006-09-14 2008-12-09 International Business Machines Corporation Method of detecting and recovering a lost system management interrupt (SMI) in a multiprocessor (MP) environment
US8316414B2 (en) * 2006-12-29 2012-11-20 Intel Corporation Reconfiguring a secure system
US20090037932A1 (en) * 2007-08-01 2009-02-05 Clark Michael T Mechanism for broadcasting system management interrupts to other processors in a computer system
US8032681B2 (en) * 2007-09-06 2011-10-04 Intel Corporation Processor selection for an interrupt based on willingness to accept the interrupt and on priority
US7913018B2 (en) * 2007-12-28 2011-03-22 Intel Corporation Methods and apparatus for halting cores in response to system management interrupts
US7725637B2 (en) * 2007-12-31 2010-05-25 Intel Corporation Methods and apparatus for generating system management interrupts
US7797473B2 (en) * 2008-06-05 2010-09-14 Dell Products, Lp System for executing system management interrupts and methods thereof

Also Published As

Publication number Publication date
US8151027B2 (en) 2012-04-03
JP2010250817A (ja) 2010-11-04
CN101859258A (zh) 2010-10-13
EP2239662A2 (en) 2010-10-13
US20120159028A1 (en) 2012-06-21
US20100262743A1 (en) 2010-10-14
JP2013093045A (ja) 2013-05-16
EP2239662B1 (en) 2016-04-27
EP2239662A3 (en) 2012-05-23

Similar Documents

Publication Publication Date Title
JP5497923B2 (ja) システム管理モードにおけるプロセッサ間割り込みの再方向付け
US8301917B2 (en) Method and apparatus for managing power from a sequestered partition of a processing system
KR101019937B1 (ko) 보안 운영 시스템 스위칭
US7904903B2 (en) Selective register save and restore upon context switch using trap
KR101920980B1 (ko) 멀티-운영 체제 디바이스들에 대한 액세스 격리
US9286097B2 (en) Switching a first OS in a foreground to a standby state in response to a system event and resuming a second OS from a background
JP2011100431A (ja) 仮想マシン制御装置及び仮想マシン制御方法
KR101823888B1 (ko) 신뢰 컴퓨팅을 위한 다중노드 허브
JP2018511104A (ja) 改善されたハイブリッドスリープ電力管理のための技術
US20100332722A1 (en) Virtual machine system and control method thereof
US8458726B2 (en) Bios routine avoidance
JP6111181B2 (ja) 計算機の制御方法及び計算機
WO2022135429A1 (zh) 快速启动方法
KR20140073554A (ko) 동작 콘텍스트들 사이의 스위칭
US6963970B2 (en) System and method for executing a fast reset of a computer system
EP3025230A1 (en) Operating system switching method and apparatus
US11086658B2 (en) System performance enhancement with SMI on multi-core systems
US9524189B2 (en) Information processing device, information processing method, and computer program product
Im et al. On-demand virtualization for live migration in bare metal cloud
Sun et al. Supporting Multiple OSes with OS Switching.
CN117667465B (zh) 代码共享方法、装置、交换机、多主机系统、设备和介质
US20230161600A1 (en) Kernel reboot method
JP2014531099A (ja) 動作コンテキストの切り替え
Sun et al. 2007 USENIX Annual Technical Conference
JP2003242129A (ja) プロセッサ増減設方法及び計算機システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140205

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140306

R150 Certificate of patent or registration of utility model

Ref document number: 5497923

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees