JP7482882B2 - マルチレベルの仮想化のための有向割り込み方法、システム、プログラム - Google Patents
マルチレベルの仮想化のための有向割り込み方法、システム、プログラム Download PDFInfo
- Publication number
- JP7482882B2 JP7482882B2 JP2021541145A JP2021541145A JP7482882B2 JP 7482882 B2 JP7482882 B2 JP 7482882B2 JP 2021541145 A JP2021541145 A JP 2021541145A JP 2021541145 A JP2021541145 A JP 2021541145A JP 7482882 B2 JP7482882 B2 JP 7482882B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- operating system
- target
- processor
- assigned
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 121
- 239000013598 vector Substances 0.000 claims description 309
- 238000012545 processing Methods 0.000 claims description 64
- 238000005192 partition Methods 0.000 claims description 56
- 238000013519 translation Methods 0.000 claims description 33
- 238000013507 mapping Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 description 58
- 230000006870 function Effects 0.000 description 56
- 238000010586 diagram Methods 0.000 description 42
- 230000014616 translation Effects 0.000 description 30
- 230000005021 gait Effects 0.000 description 25
- 230000009286 beneficial effect Effects 0.000 description 20
- 230000007246 mechanism Effects 0.000 description 14
- 230000011664 signaling Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 238000007667 floating Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000012884 algebraic function Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012002 interactive response technology Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229920000638 styrene acrylonitrile Polymers 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Bus Control (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
Description
1.第1のゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行される第1のゲスト・オペレーティング・システムに割り込み信号を提供するための方法であって、このコンピュータ・システムが、バスおよびバス接続デバイスを介して複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、このコンピュータ・システムが、バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにバス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
第1のゲスト・オペレーティング・システムで使用するために割り当てられた複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するために第1のゲスト・オペレーティング・システムおよび1つまたは複数の第1のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
第1のゲスト・オペレーティング・システムが、第2のゲスト・オペレーティング・システムを第1のゲスト・オペレーティング・システムをホストするホストとして使用して実装され、
メモリが、第1のゲスト・オペレーティング・システムに割り当てられた第1のメモリ・セクション内に、割り込みターゲットIDごとの有向割り込み要約インジケータと共に有向割り込み要約ベクトルを含み、各有向割り込み要約インジケータが割り込みターゲットIDに割り当てられ、各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在するかどうかを示し、
メモリが、第2のゲスト・オペレーティング・システムに割り当てられた第2のメモリ・セクション内に、転送ベクトルを含み、転送ベクトルが、転送ベクトル・エントリの第1のセットを含み、転送ベクトル・エントリの第1のセットが、有向割り込み要約ベクトルの有向割り込み要約インジケータごとに、各有向割り込み要約インジケータに割り当てられた転送ベクトル・エントリを含み、各転送ベクトル・エントリが、第1のオペレーティング・システムに関して、各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在することを示すために、転送ベクトル・エントリの割り当て先である各有向割り込み要約インジケータが更新されるかどうかを示し、
方法が、
バス接続デバイスによって、第1のバス接続されたモジュールから割り込みターゲットIDと共に第1の割り込み信号を受信することであって、割り込みターゲットIDが、第1のゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサのうちの1つを、第1の割り込み信号を処理するための第1のターゲット・プロセッサとして識別する、受信することと、
バス接続デバイスによって、第1のターゲット・プロセッサが第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかをチェックすることと、
第1のターゲット・プロセッサが第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされている場合に、バス接続デバイスによって、受信された割り込みターゲットIDを論理プロセッサIDに変換し、第1のターゲット・プロセッサを直接アドレス指定するために変換から得られた論理プロセッサIDを使用して、第1の割り込み信号を処理するために第1のターゲット・プロセッサに転送することと、
そうでない場合に、バス接続デバイスによって、ブロードキャストを使用して第1の割り込み信号を処理するために第1のオペレーティング・システムに転送することであって、このブロードキャストが、バス接続デバイスによって、受信された割り込みターゲットIDに割り当てられた転送ベクトル・エントリの第1のセットのうちの1つの転送ベクトル・エントリを選択し、第1のオペレーティング・システムに関して、各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在することを示すために、選択された転送ベクトル・エントリの割り当て先である有向割り込み要約インジケータが更新されるということを示すように、選択された転送ベクトル・エントリを更新することを含む、転送することとを含む、方法。
2.第2のメモリ・セクションがゲスト割り込みテーブルをさらに含み、ゲスト割り込みテーブルが、ゲスト割り込みテーブル・エントリの第1のセットを含み、ゲスト割り込みテーブル・エントリの第1のセットが、有向割り込み要約ベクトルの有向割り込み要約インジケータごとに有向割り込み要約アドレス・インジケータを含み、各有向割り込み要約アドレス・インジケータが、第2のメモリ・セクション内の各有向割り込み要約インジケータのメモリ・アドレスを示し、
転送ベクトル・エントリの第1のセットの転送ベクトル・エントリの割り当てが、ゲスト割り込みテーブルを使用して実装され、転送ベクトル・エントリの第1のセットの各転送ベクトルに、ゲスト割り込みテーブル・エントリの第1のセットのうちの1つのゲスト割り込みテーブル・エントリが割り当てられており、各ゲスト割り込みテーブル・エントリの有向割り込み要約アドレス・インジケータが、各転送ベクトル・エントリの割り当て先である有向割り込み要約のメモリ・アドレスを示す、項目1に記載の方法。
3.転送ベクトル・エントリが単一のビットとしてそれぞれ実装される、項目1または2のいずれかに記載の方法。
4.有向割り込み要約ベクトルがメモリ内の連続領域として実装される、項目1ないし3のいずれかに記載の方法。
5.有向割り込み要約インジケータが単一のビットとしてそれぞれ実装される、項目1ないし4のいずれかに記載の方法。
6.メモリが、割り込みターゲットIDごとに割り込みテーブル・エントリを含む割り込みテーブルをさらに含み、割り込みテーブル・エントリの各々が、第2のメモリ・セクション内の各転送ベクトル・エントリのメモリ・アドレスを示す転送ベクトル・エントリ・アドレス・インジケータを含み、
方法が、
バス接続デバイスによって、受信された割り込みターゲットIDに割り当てられた割り込みテーブルの割り込みテーブル・エントリのコピーを取り出すことであって、取り出されたコピーが、第2のメモリ・セクション内の受信された割り込みターゲットIDに割り当てられた転送ベクトル・エントリのメモリ・アドレスを示す転送ベクトル・エントリ・アドレス・インジケータを含む、取り出すことと、
バス接続デバイスによって、受信された割り込みターゲットIDに割り当てられた転送ベクトル・エントリを選択するために、割り込みテーブル・エントリの取り出されたコピーに含まれている転送ベクトル・エントリ・アドレス・インジケータを使用することとをさらに含む、項目1ないし5のいずれかに記載の方法。
7.割り込みテーブル・エントリの取り出されたコピーが、論理プロセッサIDへの受信された割り込みターゲットIDのマッピングをさらに含み、方法が、バス接続デバイスによって、論理プロセッサIDへの受信された割り込みターゲットIDの変換のために、割り込みテーブル・エントリのコピーに含まれているマッピングを使用することをさらに含む、項目6に記載の方法。
8.割り込みテーブル・エントリの取り出されたコピーが、割り込みターゲットIDによって識別された第1のターゲット・プロセッサが、第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかを示す実行中インジケータをさらに含み、方法が、バス接続デバイスによって、第1のターゲット・プロセッサが第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかをチェックするために、割り込みテーブル・エントリのコピーに含まれている実行中インジケータを使用することをさらに含む、項目6または7のいずれかに記載の方法。
9.実行中インジケータが単一のビットとして実装される、項目8に記載の方法。
10.割り込みテーブルが第2のメモリ・セクションに含まれている、項目6ないし9のいずれかに記載の方法。
11.割り込みテーブル・エントリの取り出されたコピーが、第1のゲスト・オペレーティング・システムの割り当て先である論理パーティションを識別する第1の論理パーティションID、および第2のメモリ・セクション内の第1のゲスト・オペレーティング・システムに割り当てられたゲスト割り込み状態領域のメモリ・アドレスを示す第1のゲスト割り込み状態領域アドレス・インジケータをさらに含む、項目6ないし10のいずれかに記載の方法。
12.方法が、バス接続デバイスによって、デバイス・テーブルからデバイス・テーブル・エントリのコピーを取り出すことをさらに含み、このデバイス・テーブル・エントリが、割り込みテーブルのメモリ・アドレスを示す割り込みテーブル・アドレス・インジケータを含み、バス接続デバイスが、割り込みテーブル・エントリの第1のコピーを取り出すために、割り込みテーブルのメモリ・アドレスを使用する、項目6ないし10のいずれかに記載の方法。
13.デバイス・テーブルがメモリの第3のメモリ・セクションに格納され、第3のメモリ・セクションが、第1および第2のオペレーティング・システムによるアクセスに対して保護されている、項目12に記載の方法。
14.デバイス・テーブル・エントリの取り出されたコピーが、第1のゲスト・オペレーティング・システムの割り当て先である論理パーティションを識別する第2の論理パーティションID、および第2のメモリ・セクション内の第1のゲスト・オペレーティング・システムに割り当てられたゲスト割り込み状態領域のメモリ・アドレスを示す第2のゲスト割り込み状態領域アドレス・インジケータをさらに含み、
方法が、バス接続デバイスによって、割り込みテーブル・エントリによって提供された第1の論理パーティションIDおよび第1のゲスト割り込み状態領域アドレス・インジケータの第1の組合せと、保護された第3のメモリ・セクションに格納されているデバイス・テーブル・エントリによって提供された第2の論理パーティションIDおよび第2のゲスト割り込み状態領域アドレス・インジケータの第2の組合せとの比較を使用して、第2のゲスト・オペレーティング・システムによってアクセス可能な第2のメモリ・セクションに格納されている割り込みテーブル・エントリが第2のゲスト・オペレーティング・システムによって変更されていないことをチェックすることをさらに含み、第1の組合せおよび第2の組合せの一致が、割り込みテーブル・エントリが変更されていないことを示す、項目13に記載の方法。
15.デバイス・テーブル・エントリが、ゲスト・オペレーティング・システムが割り当てられた論理パーティションを識別する論理パーティションIDをさらに含み、バス接続デバイスによる第1の割り込み信号の転送が、第1の割り込み信号と共に論理パーティションIDを転送することをさらに含む、項目14に記載の方法。
16.デバイス・テーブル・エントリが、第1の割り込み信号が割り当てられた割り込みサブクラスを識別する割り込みサブクラスIDをさらに含み、バス接続デバイスによる第1の割り込み信号の転送が、第1の割り込み信号と共に割り込みサブクラスIDを転送することをさらに含む、項目12ないし15のいずれかに記載の方法。
17.第2のメモリ・セクションが、各割り込みターゲットIDに割り当てられた割り込みターゲットIDごとの第1の有向割り込み信号ベクトルをさらに含み、各第1の有向割り込み信号ベクトルが、第1のバス接続されたモジュールに割り当てられた第1のバス接続されたモジュールごとの第1の割り込み信号インジケータを含み、各第1の有向割り込み信号ベクトルが、第1のバス接続されたモジュールによって発行され、各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在するかどうかを示し、
方法が、
バス接続デバイスによって、第1の割り込み信号のアドレス指定先である割り込みターゲットIDに割り当てられた第1の有向割り込み信号ベクトルを選択することと、
バス接続デバイスによって、選択された第1の有向割り込み信号ベクトル内で、第1の割り込み信号を発行した第1のバス接続されたモジュールに割り当てられた第1の有向割り込み信号インジケータを選択することと、
バス接続デバイスによって、選択された第1の有向割り込み信号インジケータを更新し、更新された第1の有向割り込み信号インジケータが、第1のバス接続されたモジュールによって発行され、各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在することを示すようにすることとをさらに含む、項目1ないし16のいずれかに記載の方法。
18.ターゲット・プロセッサの割り込みターゲットIDを含むメッセージ信号割り込みの形態で第1の割り込み信号が受信される、項目1ないし17のいずれかに記載の方法。
19.第2のメモリ・セクションが、バス接続されたモジュールごとに割り込み要約インジケータを含む割り込み要約ベクトルをさらに含み、各割り込み要約インジケータがバス接続されたモジュールに割り当てられ、各バス接続されたモジュールによって発行された処理される割り込み信号が存在するかどうかを示し、
転送ベクトルが転送ベクトル・エントリの第2のセットを含み、転送ベクトル・エントリの第2のセットが、割り込み要約ベクトルの割り込み要約インジケータごとに、各割り込み要約インジケータに割り当てられた転送ベクトル・エントリを含み、各転送ベクトル・エントリが、第1のオペレーティング・システムに関して、各バス接続されたモジュールによって発行された処理される第1の割り込み信号が存在することを示すために、転送ベクトル・エントリの割り当て先である各割り込み要約インジケータが更新されるかどうかを示し、
方法が、
バス接続デバイスによって、第2のバス接続されたモジュールから割り込みターゲットIDと共に第2の割り込み信号を受信することであって、割り込みターゲットIDが、第2の割り込み信号を処理するための第2のターゲット・プロセッサとして第1のゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサのうちの1つを識別する、受信することと、
バス接続デバイスによって、第2のターゲット・プロセッサが第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかをチェックすることと、
第2のターゲット・プロセッサが第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされている場合に、バス接続デバイスによって、受信された割り込みターゲットIDを論理プロセッサIDに変換し、第2のターゲット・プロセッサを直接アドレス指定するために変換から得られた論理プロセッサIDを使用して、第2の割り込み信号を処理するために第2のターゲット・プロセッサに転送することと、
そうでない場合に、バス接続デバイスによって、ブロードキャストを使用して第2の割り込み信号を処理するために第1のオペレーティング・システムに転送することであって、このブロードキャストが、バス接続デバイスによって、受信された割り込みターゲットIDに割り当てられた転送ベクトル・エントリの第2のセットのうちの1つの転送ベクトル・エントリを選択し、第1のオペレーティング・システムに関して、第2のバス接続されたモジュールによって発行された処理される第1の割り込み信号が存在することを示すために、選択された転送ベクトル・エントリが割り当てられている割り込み要約インジケータが更新されるということを示すように、選択された転送ベクトル・エントリを更新することを含む、転送することとをさらに含む、項目1ないし18のいずれかに記載の方法。
20.ゲスト割り込みテーブルがゲスト割り込みテーブル・エントリの第2のセットを含み、ゲスト割り込みテーブル・エントリの第2のセットが、割り込み要約ベクトルの割り込み要約インジケータごとに割り込み要約アドレス・インジケータを含み、各割り込み要約アドレス・インジケータが、第2のメモリ・セクション内の各割り込み要約インジケータのメモリ・アドレスを示し、
転送ベクトル・エントリの第2のセットの転送ベクトル・エントリの割り当てが、ゲスト割り込みテーブルを使用して実装され、転送ベクトル・エントリの第2のセットの各転送ベクトルに、ゲスト割り込みテーブル・エントリの第2のセットのうちの1つのゲスト割り込みテーブル・エントリが割り当てられており、各ゲスト割り込みテーブル・エントリの有向割り込み要約アドレス・インジケータが、各転送ベクトル・エントリの割り当て先である割り込み要約インジケータのメモリ・アドレスを示す、項目19に記載の方法。
21.第2のメモリ・セクションが、各バス接続されたモジュールに割り当てられたバス接続されたモジュールごとの割り込み信号ベクトルをさらに含み、各割り込み信号ベクトルが、各バス接続されたモジュールに割り当てられた割り込みターゲットIDごとの割り込み信号インジケータを含み、各割り込み信号ベクトルが、各バス接続されたモジュールによって発行され、各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するかどうかを示し、
方法が、
バス接続デバイスによって、第2のバス接続されたモジュールに割り当てられた有向割り込み信号ベクトルを選択することと、
バス接続デバイスによって、選択された割り込み信号ベクトル内で、第2の割り込み信号のアドレス指定先である割り込みターゲットIDに割り当てられた割り込み信号インジケータを選択することと、
バス接続デバイスによって、選択された割り込み信号インジケータを更新し、更新された割り込み信号インジケータが、第2のバス接続されたモジュールによって発行され、各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在することを示すようにすることとをさらに含む、項目19または20のいずれかに記載の方法。
22.第1のゲスト・オペレーティング・システムが第2のレベルの仮想化のゲスト・オペレーティング・システムであり、第2のゲスト・オペレーティング・システムが第1のレベルの仮想化のゲスト・オペレーティング・システムである、項目1ないし21のいずれかに記載の方法。
23.第1のゲスト・オペレーティング・システムが第3のレベルの仮想化のゲスト・オペレーティング・システムであり、第2のゲスト・オペレーティング・システムが第2のレベルの仮想化のゲスト・オペレーティング・システムである、項目1ないし22のいずれかに記載の方法。
24.第1のゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行される第1のゲスト・オペレーティング・システムに割り込み信号を提供するためのコンピュータ・システムであって、このコンピュータ・システムが、バスおよびバス接続デバイスを介して複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、このコンピュータ・システムが、バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにバス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
第1のゲスト・オペレーティング・システムで使用するために割り当てられた複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するために第1のゲスト・オペレーティング・システムおよび1つまたは複数の第1のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
第1のゲスト・オペレーティング・システムが、第2のゲスト・オペレーティング・システムを第1のゲスト・オペレーティング・システムをホストするホストとして使用して実装され、
メモリが、第1のゲスト・オペレーティング・システムに割り当てられた第1のメモリ・セクション内に、割り込みターゲットIDごとの有向割り込み要約インジケータと共に有向割り込み要約ベクトルを含み、各有向割り込み要約インジケータが割り込みターゲットIDに割り当てられ、各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在するかどうかを示し、
メモリが、第2のゲスト・オペレーティング・システムに割り当てられた第2のメモリ・セクション内に、転送ベクトルを含み、転送ベクトルが、転送ベクトル・エントリの第1のセットを含み、転送ベクトル・エントリの第1のセットが、有向割り込み要約ベクトルの有向割り込み要約インジケータごとに、各有向割り込み要約インジケータに割り当てられた転送ベクトル・エントリを含み、各転送ベクトル・エントリが、第1のオペレーティング・システムに関して、各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在することを示すために、転送ベクトル・エントリの割り当て先である各有向割り込み要約インジケータが更新されるかどうかを示し、
コンピュータ・システムが、
バス接続デバイスによって、第1のバス接続されたモジュールから割り込みターゲットIDと共に第1の割り込み信号を受信することであって、割り込みターゲットIDが、第1のゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサのうちの1つを、第1の割り込み信号を処理するための第1のターゲット・プロセッサとして識別する、受信することと、
バス接続デバイスによって、第1のターゲット・プロセッサが第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかをチェックすることと、
第1のターゲット・プロセッサが第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされている場合に、バス接続デバイスによって、受信された割り込みターゲットIDを論理プロセッサIDに変換し、第1のターゲット・プロセッサを直接アドレス指定するために変換から得られた論理プロセッサIDを使用して、第1の割り込み信号を処理するために第1のターゲット・プロセッサに転送することと、
そうでない場合に、バス接続デバイスによって、ブロードキャストを使用して第1の割り込み信号を処理するために第1のオペレーティング・システムに転送することであって、このブロードキャストが、バス接続デバイスによって、受信された割り込みターゲットIDに割り当てられた転送ベクトル・エントリの第1のセットのうちの1つの転送ベクトル・エントリを選択し、第1のオペレーティング・システムに関して、各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在することを示すために、選択された転送ベクトル・エントリの割り当て先である有向割り込み要約インジケータが更新されるということを示すように、選択された転送ベクトル・エントリを更新することを含む、転送することとを含む方法を実行するように構成される、コンピュータ・システム。
25.第1のゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行される第1のゲスト・オペレーティング・システムに割り込み信号を提供するためのコンピュータ・プログラム製品であって、このコンピュータ・システムが、バスおよびバス接続デバイスを介して複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、このコンピュータ・システムが、バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにバス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
第1のゲスト・オペレーティング・システムで使用するために割り当てられた複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するために第1のゲスト・オペレーティング・システムおよび1つまたは複数の第1のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
第1のゲスト・オペレーティング・システムが、第2のゲスト・オペレーティング・システムを第1のゲスト・オペレーティング・システムをホストするホストとして使用して実装され、
メモリが、第1のゲスト・オペレーティング・システムに割り当てられた第1のメモリ・セクション内に、割り込みターゲットIDごとの有向割り込み要約インジケータと共に有向割り込み要約ベクトルを含み、各有向割り込み要約インジケータが割り込みターゲットIDに割り当てられ、各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在するかどうかを示し、
メモリが、第2のゲスト・オペレーティング・システムに割り当てられた第2のメモリ・セクション内に、転送ベクトルを含み、転送ベクトルが、転送ベクトル・エントリの第1のセットを含み、転送ベクトル・エントリの第1のセットが、有向割り込み要約ベクトルの有向割り込み要約インジケータごとに、各有向割り込み要約インジケータに割り当てられた転送ベクトル・エントリを含み、各転送ベクトル・エントリが、第1のオペレーティング・システムに関して、各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在することを示すために、転送ベクトル・エントリの割り当て先である各有向割り込み要約インジケータが更新されるかどうかを示し、
コンピュータ・プログラム製品が、処理回路によって読み取り可能な、方法を実行するために処理回路によって実行される命令を格納しているコンピュータ可読の非一過性媒体を備え、方法が、
バス接続デバイスによって、第1のバス接続されたモジュールから割り込みターゲットIDと共に第1の割り込み信号を受信することであって、割り込みターゲットIDが、第1のゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサのうちの1つを、第1の割り込み信号を処理するための第1のターゲット・プロセッサとして識別する、受信することと、
バス接続デバイスによって、第1のターゲット・プロセッサが第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかをチェックすることと、
第1のターゲット・プロセッサが第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされている場合に、バス接続デバイスによって、受信された割り込みターゲットIDを論理プロセッサIDに変換し、第1のターゲット・プロセッサを直接アドレス指定するために変換から得られた論理プロセッサIDを使用して、第1の割り込み信号を処理するために第1のターゲット・プロセッサに転送することと、
そうでない場合に、バス接続デバイスによって、ブロードキャストを使用して第1の割り込み信号を処理するために第1のオペレーティング・システムに転送することであって、このブロードキャストが、バス接続デバイスによって、受信された割り込みターゲットIDに割り当てられた転送ベクトル・エントリの第1のセットのうちの1つの転送ベクトル・エントリを選択し、第1のオペレーティング・システムに関して、各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在することを示すために、選択された転送ベクトル・エントリの割り当て先である有向割り込み要約インジケータが更新されるということを示すように、選択された転送ベクトル・エントリを更新することを含む、転送することとを含む、コンピュータ・プログラム製品。
Claims (25)
- 第1のゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行される前記第1のゲスト・オペレーティング・システムに割り込み信号を提供するための方法であって、前記コンピュータ・システムが、バスおよびバス接続デバイスを介して前記複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、前記コンピュータ・システムが、前記バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
前記複数のプロセッサの各プロセッサに、前記各プロセッサをアドレス指定するために前記バス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
前記第1のゲスト・オペレーティング・システムで使用するために割り当てられた前記複数のプロセッサの各プロセッサに、前記各プロセッサをアドレス指定するために前記第1のゲスト・オペレーティング・システムおよび前記1つまたは複数の第1のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
前記第1のゲスト・オペレーティング・システムが、第2のゲスト・オペレーティング・システムを前記第1のゲスト・オペレーティング・システムをホストするホストとして使用して実装され、
前記メモリが、前記第1のゲスト・オペレーティング・システムに割り当てられた第1のメモリ・セクション内に、割り込みターゲットIDごとの有向割り込み要約インジケータと共に有向割り込み要約ベクトルを含み、各有向割り込み要約インジケータが割り込みターゲットIDに割り当てられ、前記各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在するかどうかを示し、
前記メモリが、前記第2のゲスト・オペレーティング・システムに割り当てられた第2のメモリ・セクション内に、転送ベクトルを含み、前記転送ベクトルが、転送ベクトル・エントリの第1のセットを含み、前記転送ベクトル・エントリの第1のセットが、前記有向割り込み要約ベクトルの前記有向割り込み要約インジケータごとに、前記各有向割り込み要約インジケータに割り当てられた転送ベクトル・エントリを含み、各転送ベクトル・エントリが、前記第1のゲスト・オペレーティング・システムに関して、前記各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在することを示すために、前記転送ベクトル・エントリの割り当て先である前記各有向割り込み要約インジケータが更新されるかどうかを示し、
前記方法が、
前記バス接続デバイスによって、第1のバス接続されたモジュールから割り込みターゲットIDと共に第1の割り込み信号を受信することであって、前記割り込みターゲットIDが、前記第1のゲスト・オペレーティング・システムで使用するために割り当てられた前記プロセッサのうちの1つを、前記第1の割り込み信号を処理するための第1のターゲット・プロセッサとして識別する、前記受信することと、
前記バス接続デバイスによって、前記第1のターゲット・プロセッサが前記第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかをチェックすることと、
前記第1のターゲット・プロセッサが前記第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされている場合に、前記バス接続デバイスによって、前記受信された割り込みターゲットIDを論理プロセッサIDに変換し、前記第1のターゲット・プロセッサを直接アドレス指定するために前記変換から得られた前記論理プロセッサIDを使用して、前記第1の割り込み信号を処理するために前記第1のターゲット・プロセッサに転送することと、
そうでない場合に、前記バス接続デバイスによって、ブロードキャストを使用して前記第1の割り込み信号を処理するために前記第1のゲスト・オペレーティング・システムに転送することであって、前記ブロードキャストが、前記バス接続デバイスによって、前記受信された割り込みターゲットIDに割り当てられた前記転送ベクトル・エントリの第1のセットのうちの1つの転送ベクトル・エントリを選択し、前記第1のゲスト・オペレーティング・システムに関して、前記各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在することを示すために、前記選択された転送ベクトル・エントリの割り当て先である前記有向割り込み要約インジケータが更新されるということを示すように、前記選択された転送ベクトル・エントリを更新することを含む、前記転送することを含む、方法。 - 前記第2のメモリ・セクションがゲスト割り込みテーブルをさらに含み、前記ゲスト割り込みテーブルが、ゲスト割り込みテーブル・エントリの第1のセットを含み、前記ゲスト割り込みテーブル・エントリの第1のセットが、前記有向割り込み要約ベクトルの前記有向割り込み要約インジケータごとに有向割り込み要約アドレス・インジケータを含み、前記各有向割り込み要約アドレス・インジケータが、前記第2のメモリ・セクション内の前記各有向割り込み要約インジケータのメモリ・アドレスを示し、
前記転送ベクトル・エントリの第1のセットの前記転送ベクトル・エントリの前記割り当てが、前記ゲスト割り込みテーブルを使用して実装され、前記転送ベクトル・エントリの第1のセットの各転送ベクトルに、前記ゲスト割り込みテーブル・エントリの第1のセットのうちの1つのゲスト割り込みテーブル・エントリが割り当てられており、前記各ゲスト割り込みテーブル・エントリの有向割り込み要約アドレス・インジケータが、前記各転送ベクトル・エントリの割り当て先である前記有向割り込み要約インジケータの前記メモリ・アドレスを示す、請求項1に記載の方法。 - 前記転送ベクトル・エントリが単一のビットとしてそれぞれ実装される、請求項1に記載の方法。
- 前記有向割り込み要約ベクトルがメモリ内の連続領域として実装される、請求項1に記載の方法。
- 前記有向割り込み要約インジケータが単一のビットとしてそれぞれ実装される、請求項1に記載の方法。
- 前記メモリが、割り込みターゲットIDごとに割り込みテーブル・エントリを含む割り込みテーブルをさらに含み、前記割り込みテーブル・エントリの各々が、前記第2のメモリ・セクション内の前記各転送ベクトル・エントリのメモリ・アドレスを示す転送ベクトル・エントリ・アドレス・インジケータを含み、
前記方法が、
前記バス接続デバイスによって、前記受信された割り込みターゲットIDに割り当てられた前記割り込みテーブルの割り込みテーブル・エントリのコピーを取り出すことであって、前記取り出されたコピーが、前記第2のメモリ・セクション内の前記受信された割り込みターゲットIDに割り当てられた前記転送ベクトル・エントリのメモリ・アドレスを示す転送ベクトル・エントリ・アドレス・インジケータを含む、前記取り出すことと、
前記バス接続デバイスによって、前記受信された割り込みターゲットIDに割り当てられた前記転送ベクトル・エントリを前記選択するために、前記割り込みテーブル・エントリの前記取り出されたコピーに含まれている前記転送ベクトル・エントリ・アドレス・インジケータを使用することをさらに含む、請求項2に記載の方法。 - 前記割り込みテーブル・エントリの前記取り出されたコピーが、論理プロセッサIDへの前記受信された割り込みターゲットIDのマッピングをさらに含み、前記方法が、前記バス接続デバイスによって、前記論理プロセッサIDへの前記受信された割り込みターゲットIDの前記変換のために、前記割り込みテーブル・エントリの前記コピーに含まれている前記マッピングを使用することをさらに含む、請求項6に記載の方法。
- 前記割り込みテーブル・エントリの前記取り出されたコピーが、前記割り込みターゲットIDによって識別された前記第1のターゲット・プロセッサが、前記第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかを示す実行中インジケータをさらに含み、前記方法が、前記バス接続デバイスによって、前記第1のターゲット・プロセッサが前記第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかを前記チェックするために、前記割り込みテーブル・エントリの前記コピーに含まれている前記実行中インジケータを使用することをさらに含む、請求項6に記載の方法。
- 前記実行中インジケータが単一のビットとして実装される、請求項8に記載の方法。
- 前記割り込みテーブルが前記第2のメモリ・セクションに含まれている、請求項6に記載の方法。
- 前記割り込みテーブル・エントリの前記取り出されたコピーが、前記第1のゲスト・オペレーティング・システムの割り当て先である論理パーティションを識別する第1の論理パーティションID、および前記第2のメモリ・セクション内の前記第1のゲスト・オペレーティング・システムに割り当てられたゲスト割り込み状態領域のメモリ・アドレスを示す第1のゲスト割り込み状態領域アドレス・インジケータをさらに含む、請求項6に記載の方法。
- 前記方法が、前記バス接続デバイスによって、デバイス・テーブルからデバイス・テーブル・エントリのコピーを取り出すことをさらに含み、前記デバイス・テーブル・エントリが、前記割り込みテーブルのメモリ・アドレスを示す割り込みテーブル・アドレス・インジケータを含み、前記バス接続デバイスが、前記割り込みテーブル・エントリの前記コピーを前記取り出すために、前記割り込みテーブルの前記メモリ・アドレスを使用する、請求項11に記載の方法。
- 前記デバイス・テーブルが前記メモリの第3のメモリ・セクションに格納され、前記第3のメモリ・セクションが、前記第1および第2のゲスト・オペレーティング・システムによるアクセスに対して保護されている、請求項12に記載の方法。
- 前記デバイス・テーブル・エントリの前記取り出されたコピーが、前記第1のゲスト・オペレーティング・システムの割り当て先である前記論理パーティションを識別する第2の論理パーティションID、および前記第2のメモリ・セクション内の前記第1のゲスト・オペレーティング・システムに割り当てられた前記ゲスト割り込み状態領域の前記メモリ・アドレスを示す第2のゲスト割り込み状態領域アドレス・インジケータをさらに含み、
前記方法が、前記バス接続デバイスによって、前記割り込みテーブル・エントリによって提供された前記第1の論理パーティションIDおよび前記第1のゲスト割り込み状態領域アドレス・インジケータの第1の組合せと、前記保護された第3のメモリ・セクションに格納されているデバイス・テーブル・エントリによって提供された第2の論理パーティションIDおよび第2のゲスト割り込み状態領域アドレス・インジケータの第2の組合せとの比較を使用して、前記第2のゲスト・オペレーティング・システムによってアクセス可能な前記第2のメモリ・セクションに格納されている前記割り込みテーブル・エントリが前記第2のゲスト・オペレーティング・システムによって変更されていないことをチェックすることをさらに含み、前記第1の組合せおよび前記第2の組合せの一致が、前記割り込みテーブル・エントリが変更されていないことを示す、請求項13に記載の方法。 - 前記デバイス・テーブル・エントリが、前記ゲスト・オペレーティング・システムが割り当てられた論理パーティションを識別する論理パーティションIDをさらに含み、前記バス接続デバイスによる前記第1の割り込み信号の前記転送が、前記第1の割り込み信号と共に前記論理パーティションIDを転送することをさらに含む、請求項14に記載の方法。
- 前記デバイス・テーブル・エントリが、前記第1の割り込み信号が割り当てられた割り込みサブクラスを識別する割り込みサブクラスIDをさらに含み、前記バス接続デバイスによる前記第1の割り込み信号の前記転送が、前記第1の割り込み信号と共に前記割り込みサブクラスIDを転送することをさらに含む、請求項12に記載の方法。
- 前記第2のメモリ・セクションが、前記各割り込みターゲットIDに割り当てられた割り込みターゲットIDごとの第1の有向割り込み信号ベクトルをさらに含み、各第1の有向割り込み信号ベクトルが、前記第1のバス接続されたモジュールに割り当てられた第1のバス接続されたモジュールごとの第1の割り込み信号インジケータを含み、各第1の有向割り込み信号ベクトルが、前記第1のバス接続されたモジュールによって発行され、前記各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在するかどうかを示し、
前記方法が、
前記バス接続デバイスによって、前記第1の割り込み信号のアドレス指定先である前記割り込みターゲットIDに割り当てられた前記第1の有向割り込み信号ベクトルを選択することと、
前記バス接続デバイスによって、前記選択された第1の有向割り込み信号ベクトル内で、前記第1の割り込み信号を発行した前記第1のバス接続されたモジュールに割り当てられた前記第1の有向割り込み信号インジケータを選択することと、
前記バス接続デバイスによって、前記選択された第1の有向割り込み信号インジケータを更新し、前記更新された第1の有向割り込み信号インジケータが、前記第1のバス接続されたモジュールによって発行され、前記各割り込みターゲットIDに向けてアドレス指定された処理される第1の割り込み信号が存在することを示すようにすることをさらに含む、請求項1に記載の方法。 - 前記ターゲット・プロセッサの前記割り込みターゲットIDを含むメッセージ信号割り込みの形態で前記第1の割り込み信号が受信される、請求項1に記載の方法。
- 前記第2のメモリ・セクションが、バス接続されたモジュールごとに割り込み要約インジケータを含む割り込み要約ベクトルをさらに含み、各割り込み要約インジケータがバス接続されたモジュールに割り当てられ、前記各バス接続されたモジュールによって発行された処理される割り込み信号が存在するかどうかを示し、
前記転送ベクトルが転送ベクトル・エントリの第2のセットを含み、前記転送ベクトル・エントリの第2のセットが、前記割り込み要約ベクトルの前記割り込み要約インジケータごとに、前記各割り込み要約インジケータに割り当てられた転送ベクトル・エントリを含み、各転送ベクトル・エントリが、前記第1のゲスト・オペレーティング・システムに関して、前記各バス接続されたモジュールによって発行された処理される第1の割り込み信号が存在することを示すために、前記転送ベクトル・エントリの割り当て先である前記各割り込み要約インジケータが更新されるかどうかを示し、
前記方法が、
前記バス接続デバイスによって、第2のバス接続されたモジュールから割り込みターゲットIDと共に第2の割り込み信号を受信することであって、前記割り込みターゲットIDが、前記第2の割り込み信号を処理するための第2のターゲット・プロセッサとして前記第1のゲスト・オペレーティング・システムで使用するために割り当てられた前記プロセッサのうちの1つを識別する、前記受信することと、
前記バス接続デバイスによって、前記第2のターゲット・プロセッサが前記第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかをチェックすることと、
前記第2のターゲット・プロセッサが前記第1のゲスト・オペレーティング・システムで使用するためにスケジューリングされている場合に、前記バス接続デバイスによって、前記受信された割り込みターゲットIDを論理プロセッサIDに変換し、前記第2のターゲット・プロセッサを直接アドレス指定するために前記変換から得られた前記論理プロセッサIDを使用して、前記第2の割り込み信号を処理するために前記第2のターゲット・プロセッサに転送することと、
そうでない場合に、前記バス接続デバイスによって、ブロードキャストを使用して前記第2の割り込み信号を処理するために前記第1のゲスト・オペレーティング・システムに転送することであって、前記ブロードキャストが、前記バス接続デバイスによって、前記受信された割り込みターゲットIDに割り当てられた前記転送ベクトル・エントリの第2のセットのうちの1つの転送ベクトル・エントリを選択し、前記第1のゲスト・オペレーティング・システムに関して、前記第2のバス接続されたモジュールによって発行された処理される第1の割り込み信号が存在することを示すために、前記選択された転送ベクトル・エントリが割り当てられている前記割り込み要約インジケータが更新されるということを示すように、前記選択された転送ベクトル・エントリを更新することを含む、前記転送することをさらに含む、請求項2に記載の方法。 - 前記ゲスト割り込みテーブルがゲスト割り込みテーブル・エントリの第2のセットを含み、前記ゲスト割り込みテーブル・エントリの第2のセットが、前記割り込み要約ベクトルの前記割り込み要約インジケータごとに割り込み要約アドレス・インジケータを含み、前記各割り込み要約アドレス・インジケータが、前記第2のメモリ・セクション内の前記各割り込み要約インジケータのメモリ・アドレスを示し、
前記転送ベクトル・エントリの第2のセットの前記転送ベクトル・エントリの前記割り当てが、前記ゲスト割り込みテーブルを使用して実装され、前記転送ベクトル・エントリの第2のセットの各転送ベクトルに、前記ゲスト割り込みテーブル・エントリの第2のセットのうちの1つのゲスト割り込みテーブル・エントリが割り当てられており、前記各ゲスト割り込みテーブル・エントリの有向割り込み要約アドレス・インジケータが、前記各転送ベクトル・エントリの割り当て先である前記割り込み要約インジケータの前記メモリ・アドレスを示す、請求項19に記載の方法。 - 前記第2のメモリ・セクションが、前記各バス接続されたモジュールに割り当てられたバス接続されたモジュールごとの割り込み信号ベクトルをさらに含み、各割り込み信号ベクトルが、前記各バス接続されたモジュールに割り当てられた割り込みターゲットIDごとの割り込み信号インジケータを含み、各割り込み信号ベクトルが、前記各バス接続されたモジュールによって発行され、前記各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するかどうかを示し、
前記方法が、
前記バス接続デバイスによって、前記第2のバス接続されたモジュールに割り当てられた前記有向割り込み信号ベクトルを選択することと、
前記バス接続デバイスによって、前記選択された割り込み信号ベクトル内で、前記第2の割り込み信号のアドレス指定先である前記割り込みターゲットIDに割り当てられた前記割り込み信号インジケータを選択することと、
前記バス接続デバイスによって、前記選択された割り込み信号インジケータを更新し、前記更新された割り込み信号インジケータが、前記第2のバス接続されたモジュールによって発行され、前記各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在することを示すようにすることをさらに含む、請求項19に記載の方法。 - 前記第1のゲスト・オペレーティング・システムが第2のレベルの仮想化のゲスト・オペレーティング・システムであり、前記第2のゲスト・オペレーティング・システムが第1のレベルの仮想化のゲスト・オペレーティング・システムである、請求項1に記載の方法。
- 前記第1のゲスト・オペレーティング・システムが第3のレベルの仮想化のゲスト・オペレーティング・システムであり、前記第2のゲスト・オペレーティング・システムが第2のレベルの仮想化のゲスト・オペレーティング・システムである、請求項1に記載の方法。
- 請求項1~23の何れか1項に記載の方法を、コンピュータ・ハードウェアによる手段として構成した、コンピュータ・システム。
- 請求項1~23の何れか1項に記載の方法を、コンピュータに実行させる、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19157097 | 2019-02-14 | ||
EP19157097.7 | 2019-02-14 | ||
PCT/EP2020/050496 WO2020164818A1 (en) | 2019-02-14 | 2020-01-10 | Directed interrupt for multilevel virtualization |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022520523A JP2022520523A (ja) | 2022-03-31 |
JP7482882B2 true JP7482882B2 (ja) | 2024-05-14 |
Family
ID=65440827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021541145A Active JP7482882B2 (ja) | 2019-02-14 | 2020-01-10 | マルチレベルの仮想化のための有向割り込み方法、システム、プログラム |
Country Status (10)
Country | Link |
---|---|
US (2) | US11138139B2 (ja) |
EP (1) | EP3924818A1 (ja) |
JP (1) | JP7482882B2 (ja) |
CN (1) | CN113454589A (ja) |
AU (1) | AU2020222167B2 (ja) |
BR (1) | BR112021016093A2 (ja) |
CA (1) | CA3130164A1 (ja) |
IL (1) | IL284681B2 (ja) |
TW (1) | TWI731554B (ja) |
WO (1) | WO2020164818A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020165666A1 (en) | 2019-02-14 | 2020-08-20 | International Business Machines Corporation | Directed interrupt virtualization with blocking indicator |
TWI759677B (zh) | 2019-02-14 | 2022-04-01 | 美商萬國商業機器公司 | 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
TWI727607B (zh) | 2019-02-14 | 2021-05-11 | 美商萬國商業機器公司 | 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
TWI764082B (zh) | 2019-02-14 | 2022-05-11 | 美商萬國商業機器公司 | 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品 |
JP7459119B2 (ja) | 2019-02-14 | 2024-04-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割り込みテーブルを使用したマルチレベルの仮想化のための有向割り込み方法、システム、プログラム |
EP3924817A1 (en) | 2019-02-14 | 2021-12-22 | International Business Machines Corporation | Directed interrupt virtualization |
CN113424150A (zh) | 2019-02-14 | 2021-09-21 | 国际商业机器公司 | 具有运行指示符的定向中断虚拟化 |
BR112021016093A2 (pt) | 2019-02-14 | 2021-10-26 | International Business Machines Corporation | Interrupção dirigida para virtualização de multiníveis |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090183180A1 (en) | 2001-06-08 | 2009-07-16 | Vmware, Inc. | High-performance virtual machine networking |
US20120131248A1 (en) | 2010-11-24 | 2012-05-24 | International Business Machines Corporation | Managing compressed memory using tiered interrupts |
JP2013519169A (ja) | 2010-02-05 | 2013-05-23 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 割込みの仮想化 |
JP2017538184A (ja) | 2014-10-08 | 2017-12-21 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 入出力(i/o)割込みの改良型優先ルーティングを実施する方法、システムおよびプログラム |
Family Cites Families (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4037723C2 (de) | 1990-11-27 | 1995-04-06 | Siemens Ag | Verfahren zum Übermitteln von an mehreren Datenschnittstellen einer prozessorgesteuerten Einrichtung vorliegenden Informationen an deren Prozessoreinrichtung |
US5848279A (en) | 1996-12-27 | 1998-12-08 | Intel Corporation | Mechanism for delivering interrupt messages |
GB2339035B (en) | 1998-04-29 | 2002-08-07 | Sgs Thomson Microelectronics | A method and system for transmitting interrupts |
US20030204655A1 (en) | 2002-04-24 | 2003-10-30 | Schmisseur Mark A. | Prioritizing vector generation in interrupt controllers |
US7028302B2 (en) | 2002-04-24 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | System and method for automatically tuning a multiprocessor computer system |
US7281075B2 (en) | 2003-04-24 | 2007-10-09 | International Business Machines Corporation | Virtualization of a global interrupt queue |
US20050080982A1 (en) | 2003-08-20 | 2005-04-14 | Vasilevsky Alexander D. | Virtual host bus adapter and method |
US7222203B2 (en) | 2003-12-08 | 2007-05-22 | Intel Corporation | Interrupt redirection for virtual partitioning |
US7386640B2 (en) | 2004-12-28 | 2008-06-10 | Intel Corporation | Method, apparatus and system to generate an interrupt by monitoring an external interface |
US8238376B2 (en) | 2005-04-13 | 2012-08-07 | Sony Corporation | Synchronized audio/video decoding for network devices |
US7447820B2 (en) | 2005-09-30 | 2008-11-04 | Intel Corporation | Retargeting of platform interrupts |
US8286162B2 (en) | 2005-12-30 | 2012-10-09 | Intel Corporation | Delivering interrupts directly to a virtual processor |
US9032127B2 (en) | 2006-09-14 | 2015-05-12 | Hewlett-Packard Development Company, L.P. | Method of balancing I/O device interrupt service loading in a computer system |
US20080162762A1 (en) | 2006-12-29 | 2008-07-03 | Gilbert Neiger | Interrupt remapping based on requestor identification |
US7627706B2 (en) | 2007-09-06 | 2009-12-01 | Intel Corporation | Creation of logical APIC ID with cluster ID and intra-cluster ID |
US8453143B2 (en) | 2007-09-19 | 2013-05-28 | Vmware, Inc. | Reducing the latency of virtual interrupt delivery in virtual machines |
EP2288996B1 (en) | 2008-04-28 | 2014-01-29 | Hewlett-Packard Development Company, L.P. | Virtual-interrupt-mode interface and method for virtualizing an interrupt mode |
EP2157511B1 (fr) | 2008-08-19 | 2012-01-18 | STMicroelectronics Rousset SAS | Procédé d'acheminement d'un signal d'interruption directement vers une unité de traitement virtuelle dans un système à une ou plusieurs unités de traitement physiques |
US7849247B2 (en) | 2008-10-14 | 2010-12-07 | Freescale Semiconductor, Inc. | Interrupt controller for accelerated interrupt handling in a data processing system and method thereof |
CN101398768B (zh) | 2008-10-28 | 2011-06-15 | 北京航空航天大学 | 一种分布式虚拟机监视器系统的构建方法 |
JP2010113667A (ja) | 2008-11-10 | 2010-05-20 | Renesas Technology Corp | 情報処理装置 |
JP5352848B2 (ja) | 2008-11-28 | 2013-11-27 | 株式会社日立製作所 | 仮想計算機の制御方法及び計算機装置 |
CN101427916B (zh) | 2008-12-05 | 2012-02-22 | 张锦景 | 电生理数据与病理图像监测的移动网络终端装置及方法 |
US8055827B2 (en) | 2009-01-26 | 2011-11-08 | Advanced Micro Devices, Inc. | Guest interrupt controllers for each processor to aid interrupt virtualization |
JP5320140B2 (ja) | 2009-04-14 | 2013-10-23 | 株式会社日立製作所 | 計算機システム、割込み中継回路及び割込み中継方法 |
US8635387B2 (en) | 2009-10-09 | 2014-01-21 | Emulex Design & Manufacturing Corporation | Enhanced I/O performance in a multi-processor system via interrupt affinity schemes |
US8566492B2 (en) | 2009-12-31 | 2013-10-22 | Intel Corporation | Posting interrupts to virtual processors |
US8478922B2 (en) | 2010-06-23 | 2013-07-02 | International Business Machines Corporation | Controlling a rate at which adapter interruption requests are processed |
US8381002B2 (en) | 2010-06-23 | 2013-02-19 | International Business Machines Corporation | Transparently increasing power savings in a power management environment |
KR20120042354A (ko) | 2010-10-25 | 2012-05-03 | 한국전자통신연구원 | 위성통신 시스템용 중심국의 이중모드 망동기 장치 및 그 방법 |
CN102184122B (zh) | 2011-05-16 | 2014-04-23 | 曙光信息产业股份有限公司 | 一种龙芯CPU主板bios及中断的实现方法 |
US8612659B1 (en) * | 2010-12-14 | 2013-12-17 | Vmware, Inc. | Hardware interrupt arbitration in virtualized computer systems |
US8601194B2 (en) | 2011-02-08 | 2013-12-03 | Red Hat Israel, Ltd. | On-demand interrupt vector allocation based on activity detection |
JP5737050B2 (ja) | 2011-08-15 | 2015-06-17 | 富士通株式会社 | 情報処理装置、割込み制御方法および割込み制御プログラム |
US8631181B2 (en) * | 2011-09-26 | 2014-01-14 | Oracle International Corporation | Validating message-signaled interrupts by tracking interrupt vectors assigned to devices |
US8874786B2 (en) | 2011-10-25 | 2014-10-28 | Dell Products L.P. | Network traffic control by association of network packets and processes |
US8910158B2 (en) * | 2011-12-14 | 2014-12-09 | Intel Corporation | Virtualizing interrupt priority and delivery |
US20130318269A1 (en) * | 2012-05-22 | 2013-11-28 | Xockets IP, LLC | Processing structured and unstructured data using offload processors |
US9740549B2 (en) * | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US9436626B2 (en) | 2012-08-09 | 2016-09-06 | Freescale Semiconductor, Inc. | Processor interrupt interface with interrupt partitioning and virtualization enhancements |
US9442870B2 (en) | 2012-08-09 | 2016-09-13 | Freescale Semiconductor, Inc. | Interrupt priority management using partition-based priority blocking processor registers |
US9043521B2 (en) | 2012-11-13 | 2015-05-26 | Intel Corporation | Technique for communicating interrupts in a computer system |
US10078603B2 (en) | 2012-11-30 | 2018-09-18 | Red Hat Israel, Ltd. | MSI events using dynamic memory monitoring |
WO2014120113A1 (en) | 2013-01-29 | 2014-08-07 | Hewlett-Packard Development Company | Assigning processors to memory mapped configuration |
US9235538B2 (en) * | 2013-02-07 | 2016-01-12 | Red Hat Israel, Ltd. | Injecting interrupts in virtualized computer systems |
US9830286B2 (en) | 2013-02-14 | 2017-11-28 | Red Hat Israel, Ltd. | Event signaling in virtualized systems |
US9378162B2 (en) | 2013-05-21 | 2016-06-28 | Arm Limited | Handling and routing interrupts to virtual processors |
US9384132B2 (en) | 2013-06-28 | 2016-07-05 | Intel Corporation | Emulated message signaled interrupts in a virtualization environment |
JP6029550B2 (ja) | 2013-07-19 | 2016-11-24 | 株式会社日立製作所 | 計算機の制御方法及び計算機 |
US9465760B2 (en) | 2013-11-18 | 2016-10-11 | Futurewei Technologies, Inc. | Method and apparatus for delivering MSI-X interrupts through non-transparent bridges to computing resources in PCI-express clusters |
US9756118B2 (en) | 2014-04-28 | 2017-09-05 | Vmware, Inc. | Virtual performance monitoring decoupled from hardware performance-monitoring units |
US9507740B2 (en) | 2014-06-10 | 2016-11-29 | Oracle International Corporation | Aggregation of interrupts using event queues |
US9772868B2 (en) | 2014-09-16 | 2017-09-26 | Industrial Technology Research Institute | Method and system for handling interrupts in a virtualized environment |
WO2016056060A1 (ja) | 2014-10-07 | 2016-04-14 | 株式会社日立製作所 | 計算機及びベクタの設定方法 |
US9910699B2 (en) | 2014-10-28 | 2018-03-06 | Intel Corporation | Virtual processor direct interrupt delivery mechanism |
US9697029B2 (en) | 2014-10-30 | 2017-07-04 | Red Hat Israel, Ltd. | Guest idle based VM request completion processing |
US9952987B2 (en) * | 2014-11-25 | 2018-04-24 | Intel Corporation | Posted interrupt architecture |
US9910700B2 (en) | 2015-08-26 | 2018-03-06 | Netapp, Inc. | Migration between CPU cores |
WO2017094132A1 (ja) | 2015-12-02 | 2017-06-08 | 株式会社日立製作所 | 計算機および計算機の制御方法 |
KR102509986B1 (ko) | 2016-03-28 | 2023-03-14 | 삼성전자주식회사 | 다중 코어 프로세서 및 다중 코어 프로세서를 제어하는 방법 |
CN106095578B (zh) | 2016-06-14 | 2019-04-09 | 上海交通大学 | 基于硬件辅助技术和虚拟cpu运行状态的直接中断递交方法 |
US10282327B2 (en) | 2017-01-19 | 2019-05-07 | International Business Machines Corporation | Test pending external interruption instruction |
US10210112B2 (en) | 2017-06-06 | 2019-02-19 | International Business Machines Corporation | Techniques for issuing interrupts in a data processing system with multiple scopes |
US20180356964A1 (en) | 2017-06-07 | 2018-12-13 | Sitting Man, Llc | Methods, systems, and computer program products for intergrating configuration, monitoring, and operations |
CN109144679B (zh) | 2017-06-27 | 2022-03-29 | 华为技术有限公司 | 中断请求的处理方法、装置及虚拟化设备 |
US10838760B2 (en) | 2017-11-29 | 2020-11-17 | Nxp Usa, Inc. | Systems and methods for interrupt distribution |
WO2020165666A1 (en) | 2019-02-14 | 2020-08-20 | International Business Machines Corporation | Directed interrupt virtualization with blocking indicator |
EP3924817A1 (en) | 2019-02-14 | 2021-12-22 | International Business Machines Corporation | Directed interrupt virtualization |
JP7459119B2 (ja) | 2019-02-14 | 2024-04-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割り込みテーブルを使用したマルチレベルの仮想化のための有向割り込み方法、システム、プログラム |
BR112021016093A2 (pt) | 2019-02-14 | 2021-10-26 | International Business Machines Corporation | Interrupção dirigida para virtualização de multiníveis |
TWI759677B (zh) | 2019-02-14 | 2022-04-01 | 美商萬國商業機器公司 | 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
CN113424150A (zh) | 2019-02-14 | 2021-09-21 | 国际商业机器公司 | 具有运行指示符的定向中断虚拟化 |
TWI764082B (zh) | 2019-02-14 | 2022-05-11 | 美商萬國商業機器公司 | 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品 |
TWI727607B (zh) | 2019-02-14 | 2021-05-11 | 美商萬國商業機器公司 | 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
-
2020
- 2020-01-10 BR BR112021016093-0A patent/BR112021016093A2/pt unknown
- 2020-01-10 CN CN202080013920.0A patent/CN113454589A/zh active Pending
- 2020-01-10 JP JP2021541145A patent/JP7482882B2/ja active Active
- 2020-01-10 AU AU2020222167A patent/AU2020222167B2/en active Active
- 2020-01-10 WO PCT/EP2020/050496 patent/WO2020164818A1/en unknown
- 2020-01-10 EP EP20700274.2A patent/EP3924818A1/en active Pending
- 2020-01-10 CA CA3130164A patent/CA3130164A1/en active Pending
- 2020-01-10 IL IL284681A patent/IL284681B2/en unknown
- 2020-01-17 TW TW109101665A patent/TWI731554B/zh active
- 2020-02-13 US US16/789,532 patent/US11138139B2/en active Active
-
2021
- 2021-06-25 US US17/358,172 patent/US11822493B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090183180A1 (en) | 2001-06-08 | 2009-07-16 | Vmware, Inc. | High-performance virtual machine networking |
JP2013519169A (ja) | 2010-02-05 | 2013-05-23 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 割込みの仮想化 |
US20120131248A1 (en) | 2010-11-24 | 2012-05-24 | International Business Machines Corporation | Managing compressed memory using tiered interrupts |
JP2017538184A (ja) | 2014-10-08 | 2017-12-21 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 入出力(i/o)割込みの改良型優先ルーティングを実施する方法、システムおよびプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN113454589A (zh) | 2021-09-28 |
TW202040567A (zh) | 2020-11-01 |
IL284681B1 (en) | 2023-11-01 |
AU2020222167A1 (en) | 2021-05-27 |
CA3130164A1 (en) | 2020-08-20 |
IL284681A (en) | 2021-08-31 |
US20200264993A1 (en) | 2020-08-20 |
EP3924818A1 (en) | 2021-12-22 |
TWI731554B (zh) | 2021-06-21 |
WO2020164818A1 (en) | 2020-08-20 |
IL284681B2 (en) | 2024-03-01 |
BR112021016093A2 (pt) | 2021-10-26 |
JP2022520523A (ja) | 2022-03-31 |
AU2020222167B2 (en) | 2022-09-22 |
US11138139B2 (en) | 2021-10-05 |
US20210318973A1 (en) | 2021-10-14 |
US11822493B2 (en) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7482882B2 (ja) | マルチレベルの仮想化のための有向割り込み方法、システム、プログラム | |
JP7379502B2 (ja) | フォールバックを伴う有向割り込みの仮想化方法、システム、プログラム | |
JP7324287B2 (ja) | 割り込みテーブルを使用した有向割り込みの仮想化方法、システム、プログラム | |
JP7459119B2 (ja) | 割り込みテーブルを使用したマルチレベルの仮想化のための有向割り込み方法、システム、プログラム | |
JP7335339B2 (ja) | 有向割り込みの仮想化方法、システム、プログラム | |
JP7398465B2 (ja) | 有向割り込みの仮想化のための割り込み信号伝達方法、システム、プログラム | |
JP7450627B2 (ja) | 実行中インジケータを使用した有向割り込みの仮想化方法、システム、プログラム | |
JP7448550B2 (ja) | ブロッキング・インジケータを使用した有向割り込みの仮想化方法、システム、プログラム | |
KR102672582B1 (ko) | 지시된 인터럽트 가상화를 위한 인터럽트 시그널링 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220128 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220512 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230817 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240123 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240402 |
|
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: 20240416 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240430 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7482882 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |