JP2022520928A - 割り込みテーブルを使用した有向割り込みの仮想化方法、システム、プログラム - Google Patents
割り込みテーブルを使用した有向割り込みの仮想化方法、システム、プログラム Download PDFInfo
- Publication number
- JP2022520928A JP2022520928A JP2021541135A JP2021541135A JP2022520928A JP 2022520928 A JP2022520928 A JP 2022520928A JP 2021541135 A JP2021541135 A JP 2021541135A JP 2021541135 A JP2021541135 A JP 2021541135A JP 2022520928 A JP2022520928 A JP 2022520928A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- bus
- processor
- target
- interrupt signal
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims abstract description 189
- 238000000034 method Methods 0.000 claims abstract description 173
- 238000012545 processing Methods 0.000 claims abstract description 82
- 238000012546 transfer Methods 0.000 claims abstract description 50
- 230000008569 process Effects 0.000 claims abstract description 20
- 239000013598 vector Substances 0.000 claims description 99
- 230000000903 blocking effect Effects 0.000 claims description 38
- 238000005192 partition Methods 0.000 claims description 37
- 238000013507 mapping Methods 0.000 claims description 35
- 238000013519 translation Methods 0.000 claims description 25
- 230000008859 change Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 16
- 230000011664 signaling Effects 0.000 claims description 15
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 230000001052 transient effect Effects 0.000 claims description 5
- 230000007717 exclusion Effects 0.000 claims description 3
- 238000003860 storage Methods 0.000 description 67
- 230000006870 function Effects 0.000 description 47
- 238000010586 diagram Methods 0.000 description 38
- 230000014616 translation Effects 0.000 description 22
- 230000009286 beneficial effect Effects 0.000 description 19
- 230000000694 effects Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 230000008054 signal transmission Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000007667 floating Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 3
- 230000001934 delay 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
- 230000003287 optical effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000012884 algebraic function Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect 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
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 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
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 229920000638 styrene acrylonitrile Polymers 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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
- G06F9/45545—Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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)
- Multi Processors (AREA)
- Bus Control (AREA)
Abstract
Description
1.ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行されるゲスト・オペレーティング・システムに割り込み信号を提供するための方法であって、このコンピュータ・システムが、バスおよびバス接続デバイスを介して複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、このコンピュータ・システムが、バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにバス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
ゲスト・オペレーティング・システムで使用するために割り当てられた複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにゲスト・オペレーティング・システムおよび1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
方法が、
バス接続デバイスによって、バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、この割り込みターゲットIDが、ゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサのうちの1つを、割り込み信号を処理するためのターゲット・プロセッサとして識別する、受信することと、
バス接続デバイスによって、メモリに格納されている割り込みテーブルから、受信された割り込みターゲットIDに割り当てられた割り込みテーブル・エントリの第1のコピーを取り出すことであって、割り込みテーブル・エントリの第1のコピーが、論理プロセッサIDへの受信された割り込みターゲットIDの第1のマッピングを含む、取り出すことと、
バス接続デバイスによって、割り込みテーブル・エントリの第1のコピーを使用して受信された割り込みターゲットIDを論理プロセッサIDに変換することと、
バス接続デバイスによって、ターゲット・プロセッサを直接アドレス指定するために変換から得られた論理プロセッサIDを使用して、割り込み信号を処理するためにターゲット・プロセッサに転送することとを含む、方法。
2.ターゲット・プロセッサの割り込みターゲットIDを含むメッセージ信号割り込みの形態で割り込み信号が受信される、項目1に記載の方法。
3.割り込みテーブル・エントリの第1のコピーが、割り込みターゲットIDによって識別されたターゲット・プロセッサが、ゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかを示す実行中インジケータの第1のコピーをさらに含み、方法が、
バス接続デバイスによって、実行中インジケータの第1のコピーを使用して、ターゲット・プロセッサがゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかをチェックし、
ターゲット・プロセッサがスケジューリングされている場合は、割り込み信号の転送を続行し、
ターゲット・プロセッサがスケジューリングされていない場合は、バス接続デバイスによって、ブロードキャストを使用して割り込み信号を処理するために複数のプロセッサに転送することをさらに含む、項目1または2のいずれかに記載の方法。
4.割り込みテーブル・エントリの第1のコピーが、割り込みターゲットIDによって識別されたターゲット・プロセッサが割り込み信号を受信することを現在ブロックされているかどうかを示す割り込みブロッキング・インジケータをさらに含み、方法が、
バス接続デバイスによって、割り込みブロッキング・インジケータを使用して、ターゲット・プロセッサが割り込み信号を受信することをブロックされているかどうかをチェックし、
ターゲット・プロセッサがブロックされていない場合は、割り込み信号の転送を続行し、
ターゲット・プロセッサがブロックされている場合は、バス接続デバイスによって、割り込み信号が処理のためにターゲット・プロセッサに転送されるのをブロックすることをさらに含む、項目1ないし3のいずれかに記載の方法。
5.バス接続デバイスによって、ブロードキャストを使用して、割り込み信号を処理するために複数のプロセッサのうちの残りのプロセッサに転送することをさらに含む、項目4に記載の方法。
6.ゲスト・オペレーティング・システムの割り込みハンドラによって、ターゲット・プロセッサによって処理するためにターゲット・プロセッサに向けてアドレス指定された割り込みが保留中であるかどうかをチェックし、ターゲット・プロセッサによって処理するためにターゲット・プロセッサに向けてアドレス指定された割り込みが保留中でない場合、ゲスト・オペレーティング・システムによって、ターゲット・プロセッサがブロックされていないことを示すように、ターゲット・プロセッサに割り当てられた割り込みテーブル・エントリ内の割り込みブロッキング・インジケータを変更することをさらに含む、項目4または5のいずれかに記載の方法。
7.方法が、ターゲット・プロセッサがブロックされていない場合、バス接続デバイスによって、第1の論理プロセッサIDがブロックされていることを示すように、割り込みターゲットIDに割り当てられた割り込みテーブル・エントリ内の割り込みブロッキング・インジケータを変更することをさらに含み、この変更することが、処理のためのターゲット・プロセッサへの割り込み信号の転送前に実行される、項目6に記載の方法。
8.方法が、
バス接続デバイスによって、割り込みブロッキング・インジケータの変更後に、受信された割り込みターゲットIDに割り当てられた割り込みテーブル・エントリの第2のコピーを取り出すことと、
バス接続デバイスによって割り込みテーブル・エントリの第2のコピーをチェックし、割り込みテーブル・エントリの第1のコピーと相対的な割り込みテーブルの第2のコピーの事前に定義された種類の変更を除外することとをさらに含み、事前に定義された種類の変更の正常な除外が、処理のためのターゲット・プロセッサへの割り込み信号の転送に必要である、項目7に記載の方法。
9.事前に定義された種類の変更が、割り込みテーブル・エントリの第2のコピーに含まれている論理プロセッサIDのうちの第2の1つへの受信された割り込みターゲットIDの第2のマッピングと相対的な受信された割り込みターゲットIDの第1のマッピングの変更であり、第2のマッピングが第1のマッピングと相対的な変更を含む場合、バス接続デバイスによって、ブロードキャストを使用して、割り込み信号が処理のために複数のプロセッサに転送される、項目8に記載の方法。
10.事前に定義された種類の変更が、割り込みテーブル・エントリの第2のコピーに含まれている実行中インジケータの第2のコピーと相対的な実行中インジケータの第1のコピーの変更であり、実行中インジケータの第2のコピーが、実行中ビットの第1のコピーと相対的な変更を含んでおり、第2の実行中インジケータが、ターゲット・プロセッサがオペレーティング・システムで使用するためにスケジューリングされていないことを示している場合、割り込み信号が、バス接続デバイスによって、ブロードキャストを使用して処理のために複数のプロセッサに転送される、項目8または9のいずれかに記載の方法。
11.この方法が、バス接続デバイスによって、メモリに格納されたデバイス・テーブルからデバイス・テーブル・エントリのコピーを取り出すことをさらに含み、このデバイス・テーブル・エントリが、割り込みテーブルのメモリ・アドレスを示す割り込みテーブル・アドレス・インジケータを含み、バス接続デバイスが、割り込みテーブル・エントリの第1のコピーを取り出すために、割り込みテーブルのメモリ・アドレスを使用する、項目1ないし10のいずれかに記載の方法。
12.デバイス・テーブル・エントリが、ターゲット・プロセッサが直接アドレス指定されるかどうかを示す直接信号伝達インジケータをさらに含み、方法が、
直接信号伝達インジケータが割り込み信号の直接転送を示している場合に、ターゲット・プロセッサの論理プロセッサIDを使用してターゲット・プロセッサを直接アドレス指定する割り込み信号の転送が実行され、
そうでない場合に、バス接続デバイスによって、ブロードキャストを使用して、割り込み信号を処理するために複数のプロセッサに転送することをさらに含む、項目11に記載の方法。
13.メモリが、割り込み要約ベクトルをさらに含み、デバイス・テーブル・エントリが、割り込み要約ベクトルのメモリ・アドレスを示す割り込み要約ベクトル・アドレス・インジケータをさらに含み、割り込み要約ベクトルが、バス接続されたモジュールごとに割り込み要約インジケータを含み、各割り込み要約インジケータが、バス接続されたモジュールに割り当てられ、各バス接続されたモジュールによって発行された処理される割り込み信号が存在するかどうかを示し、
方法が、バス接続デバイスによって、割り込み要約ベクトルの示されたメモリ・アドレスを使用して、受信された割り込み信号の発行元であるバス接続されたモジュールに割り当てられた割り込み要約インジケータを更新し、更新された割り込み要約インジケータが、各バス接続されたモジュールによって発行された処理される割り込み信号が存在するということを示すようにすることをさらに含む、項目11または12のいずれかに記載の方法。
14.メモリが、有向割り込み要約ベクトルをさらに含み、デバイス・テーブル・エントリが、有向割り込み要約ベクトルのメモリ・アドレスを示す有向割り込み要約ベクトル・アドレス・インジケータをさらに含み、有向割り込み要約ベクトルが、割り込みターゲットIDごとに有向割り込み要約インジケータを含み、各有向割り込み要約インジケータが、割り込みターゲットIDに割り当てられ、各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するかどうかを示し、
方法が、バス接続デバイスによって、有向割り込み要約ベクトルの示されたメモリ・アドレスを使用して、受信された割り込み信号のアドレス指定先であるターゲット・プロセッサIDに割り当てられた割り込み要約インジケータを更新し、更新された割り込み要約インジケータが、各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するということを示すようにすることをさらに含む、項目11ないし13のいずれかに記載の方法。
15.メモリが1つまたは複数の割り込み信号ベクトルをさらに含み、デバイス・テーブル・エントリが、1つまたは複数の割り込み信号ベクトルのうちの1つの割り込み信号ベクトルのメモリ・アドレスを示す割り込み信号ベクトル・アドレス・インジケータをさらに含み、割り込み信号ベクトルの各々が、1つまたは複数の信号インジケータを含み、各割り込み信号インジケータが、1つまたは複数のバス接続されたモジュールのうちの1つのバス接続されたモジュールおよび割り込みターゲットIDに割り当てられ、割り込み信号が、各割り込みターゲットIDに向けてアドレス指定された各バス接続されたモジュールから受信されたかどうかを示し、
方法が、
バス接続デバイスによって、割り込み信号ベクトルの示されたメモリ・アドレスを使用して、受信された割り込み信号を発行したバス接続されたモジュール、および受信された割り込み信号のアドレス指定先である割り込みターゲットIDに割り当てられた割り込み信号インジケータを選択することと、
選択された割り込み信号インジケータが、各バス接続されたモジュールによって発行され、各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在することを示すように、選択された割り込み信号インジケータを更新することとをさらに含む、項目11ないし14のいずれかに記載の方法。
16.割り込み信号ベクトルが、各割り込みターゲットIDに割り当てられた割り込みターゲットIDごとの割り込み信号インジケータをそれぞれ含み、割り込み信号ベクトルの各々が個別のバス接続されたモジュールに割り当てられ、各割り込み信号ベクトルの割り込み信号インジケータが、各個別のバス接続されたモジュールにさらに割り当てられる、項目15に記載の方法。
17.割り込み信号ベクトルが、各バス接続されたモジュールに割り当てられたバス接続されたモジュールごとの割り込み信号インジケータをそれぞれ含み、割り込み信号ベクトルの各々が個別のターゲット・プロセッサIDに割り当てられ、各割り込み信号ベクトルの割り込み信号インジケータが、各ターゲット・プロセッサIDにさらに割り当てられる、項目15に記載の方法。
18.デバイス・テーブル・エントリが、ゲスト・オペレーティング・システムが割り当てられた論理パーティションを識別する論理パーティションIDをさらに含み、バス接続デバイスによる割り込み信号の転送が、割り込み信号と共に論理パーティションIDを転送することをさらに含む、項目1ないし17のいずれかに記載の方法。
19.方法が、バス接続デバイスによって、受信された割り込み信号が割り当てられた割り込みサブクラスを識別する割り込みサブクラスIDを取り出すことをさらに含み、バス接続デバイスによる割り込み信号の転送が、割り込み信号と共に割り込みサブクラスIDを転送することをさらに含む、項目1ないし18のいずれかに記載の方法。
20.ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行されるゲスト・オペレーティング・システムに割り込み信号を提供するためのコンピュータ・システムであって、このコンピュータ・システムが、バスおよびバス接続デバイスを介して複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、このコンピュータ・システムが、バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにバス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
ゲスト・オペレーティング・システムで使用するために割り当てられた複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにゲスト・オペレーティング・システムおよび1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
このコンピュータ・システムが、
バス接続デバイスによって、バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、この割り込みターゲットIDが、ゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサのうちの1つを、割り込み信号を処理するためのターゲット・プロセッサとして識別する、受信することと、
バス接続デバイスによって、メモリに格納されている割り込みテーブルから、受信された割り込みターゲットIDに割り当てられた割り込みテーブル・エントリの第1のコピーを取り出すことであって、割り込みテーブル・エントリの第1のコピーが、論理プロセッサIDへの受信された割り込みターゲットIDの現在のマッピングを含む、取り出すことと、
バス接続デバイスによって、割り込みテーブル・エントリの第1のコピーを使用して受信された割り込みターゲットIDを論理プロセッサIDに変換することと、
バス接続デバイスによって、ターゲット・プロセッサを直接アドレス指定するために変換から得られた論理プロセッサIDを使用して、割り込み信号を処理するためにターゲット・プロセッサに転送することとを含む方法を実行するように構成されている、コンピュータ・システム。
21.ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行されるゲスト・オペレーティング・システムに割り込み信号を提供するためのコンピュータ・プログラム製品であって、このコンピュータ・システムが、バスおよびバス接続デバイスを介して複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、このコンピュータ・システムが、バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにバス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
ゲスト・オペレーティング・システムで使用するために割り当てられた複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにゲスト・オペレーティング・システムおよび1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
このコンピュータ・プログラム製品が、処理回路によって読み取り可能な、方法を実行するために処理回路によって実行される命令を格納しているコンピュータ可読の非一過性媒体を備え、この方法が、
バス接続デバイスによって、バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、この割り込みターゲットIDが、ゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサのうちの1つを、割り込み信号を処理するためのターゲット・プロセッサとして識別する、受信することと、
バス接続デバイスによって、メモリに格納されている割り込みテーブルから、受信された割り込みターゲットIDに割り当てられた割り込みテーブル・エントリの第1のコピーを取り出すことであって、割り込みテーブル・エントリの第1のコピーが、論理プロセッサIDへの受信された割り込みターゲットIDの現在のマッピングを含む、取り出すことと、
バス接続デバイスによって、割り込みテーブル・エントリの第1のコピーを使用して受信された割り込みターゲットIDを論理プロセッサIDに変換することと、
バス接続デバイスによって、ターゲット・プロセッサを直接アドレス指定するために変換から得られた論理プロセッサIDを使用して、割り込み信号を処理するためにターゲット・プロセッサに転送することとを含む、コンピュータ・プログラム製品。
Claims (21)
- ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行される前記ゲスト・オペレーティング・システムに割り込み信号を提供するための方法であって、前記コンピュータ・システムが、バスおよびバス接続デバイスを介して前記複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、前記コンピュータ・システムが、前記バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
前記複数のプロセッサの各プロセッサに、前記各プロセッサをアドレス指定するために前記バス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
前記ゲスト・オペレーティング・システムで使用するために割り当てられた前記複数のプロセッサの各プロセッサに、前記各プロセッサをアドレス指定するために前記ゲスト・オペレーティング・システムおよび前記1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
前記方法が、
前記バス接続デバイスによって、前記バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、前記割り込みターゲットIDが、前記ゲスト・オペレーティング・システムで使用するために割り当てられた前記プロセッサのうちの1つを、前記割り込み信号を処理するためのターゲット・プロセッサとして識別する、前記受信することと、
前記バス接続デバイスによって、前記メモリに格納されている割り込みテーブルから、前記受信された割り込みターゲットIDに割り当てられた割り込みテーブル・エントリの第1のコピーを取り出すことであって、前記割り込みテーブル・エントリの前記第1のコピーが、論理プロセッサIDへの前記受信された割り込みターゲットIDの第1のマッピングを含む、前記取り出すことと、
前記バス接続デバイスによって、前記割り込みテーブル・エントリの前記第1のコピーを使用して前記受信された割り込みターゲットIDを前記論理プロセッサIDに変換することと、
前記バス接続デバイスによって、前記ターゲット・プロセッサを直接アドレス指定するために前記変換から得られた前記論理プロセッサIDを使用して、前記割り込み信号を処理するために前記ターゲット・プロセッサに転送することとを含む、方法。 - 前記ターゲット・プロセッサの前記割り込みターゲットIDを含むメッセージ信号割り込みの形態で前記割り込み信号が受信される、請求項1に記載の方法。
- 前記割り込みテーブル・エントリの前記第1のコピーが、前記割り込みターゲットIDによって識別された前記ターゲット・プロセッサが、前記ゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかを示す実行中インジケータの第1のコピーをさらに含み、前記方法が、
前記バス接続デバイスによって、前記実行中インジケータの前記第1のコピーを使用して、前記ターゲット・プロセッサが前記ゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかをチェックし、
前記ターゲット・プロセッサがスケジューリングされている場合は、前記割り込み信号の前記転送を続行し、
前記ターゲット・プロセッサがスケジューリングされていない場合は、前記バス接続デバイスによって、ブロードキャストを使用して前記割り込み信号を処理するために前記複数のプロセッサに転送することをさらに含む、請求項1に記載の方法。 - 前記割り込みテーブル・エントリの前記第1のコピーが、前記割り込みターゲットIDによって識別された前記ターゲット・プロセッサが割り込み信号を受信することを現在ブロックされているかどうかを示す割り込みブロッキング・インジケータをさらに含み、前記方法が、
前記バス接続デバイスによって、前記割り込みブロッキング・インジケータを使用して、前記ターゲット・プロセッサが割り込み信号を受信することをブロックされているかどうかをチェックし、
前記ターゲット・プロセッサがブロックされていない場合は、前記割り込み信号の前記転送を続行し、
前記ターゲット・プロセッサがブロックされている場合は、前記バス接続デバイスによって、前記割り込み信号が処理のために前記ターゲット・プロセッサに転送されるのをブロックすることをさらに含む、請求項1に記載の方法。 - 前記バス接続デバイスによって、ブロードキャストを使用して、前記割り込み信号を処理するために前記複数のプロセッサのうちの前記残りのプロセッサに転送することをさらに含む、請求項4に記載の方法。
- 前記ゲスト・オペレーティング・システムの割り込みハンドラによって、前記ターゲット・プロセッサによって処理するために前記ターゲット・プロセッサに向けてアドレス指定された割り込みが保留中であるかどうかをチェックし、前記ターゲット・プロセッサによって処理するために前記ターゲット・プロセッサに向けてアドレス指定された割り込みが保留中でない場合、前記ゲスト・オペレーティング・システムによって、前記ターゲット・プロセッサがブロックされていないことを示すように、前記ターゲット・プロセッサに割り当てられた前記割り込みテーブル・エントリ内の前記割り込みブロッキング・インジケータを変更することをさらに含む、請求項4に記載の方法。
- 前記方法が、前記ターゲット・プロセッサがブロックされていない場合、前記バス接続デバイスによって、前記第1の論理プロセッサIDがブロックされていることを示すように、前記割り込みターゲットIDに割り当てられた前記割り込みテーブル・エントリ内の前記割り込みブロッキング・インジケータを変更することをさらに含み、前記変更することが、処理のための前記ターゲット・プロセッサへの前記割り込み信号の前記転送前に実行される、請求項6に記載の方法。
- 前記方法が、
前記バス接続デバイスによって、前記割り込みブロッキング・インジケータの前記変更後に、前記受信された割り込みターゲットIDに割り当てられた前記割り込みテーブル・エントリの第2のコピーを取り出すことと、
前記バス接続デバイスによって前記割り込みテーブル・エントリの前記第2のコピーをチェックし、前記割り込みテーブル・エントリの前記第1のコピーと相対的な前記割り込みテーブルの前記第2のコピーの事前に定義された種類の変更を除外することとをさらに含み、前記事前に定義された種類の変更の正常な除外が、処理のための前記ターゲット・プロセッサへの前記割り込み信号の前記転送に必要である、請求項7に記載の方法。 - 前記事前に定義された種類の変更が、前記割り込みテーブル・エントリの前記第2のコピーに含まれている前記論理プロセッサIDのうちの第2の1つへの前記受信された割り込みターゲットIDの第2のマッピングと相対的な前記受信された割り込みターゲットIDの前記第1のマッピングの変更であり、前記第2のマッピングが前記第1のマッピングと相対的な変更を含む場合、前記バス接続デバイスによって、ブロードキャストを使用して、前記割り込み信号が処理のために前記複数のプロセッサに転送される、請求項8に記載の方法。
- 前記事前に定義された種類の変更が、前記割り込みテーブル・エントリの前記第2のコピーに含まれている実行中インジケータの第2のコピーと相対的な前記実行中インジケータの前記第1のコピーの変更であり、実行中インジケータの前記第2のコピーが、前記実行中ビットの前記第1のコピーと相対的な変更を含んでおり、前記第2の実行中インジケータが、前記ターゲット・プロセッサが前記オペレーティング・システムで使用するためにスケジューリングされていないことを示している場合、前記割り込み信号が、前記バス接続デバイスによって、ブロードキャストを使用して処理のために前記複数のプロセッサに転送される、請求項8に記載の方法。
- 前記方法が、前記バス接続デバイスによって、前記メモリに格納されたデバイス・テーブルからデバイス・テーブル・エントリのコピーを取り出すことをさらに含み、前記デバイス・テーブル・エントリが、前記割り込みテーブルのメモリ・アドレスを示す割り込みテーブル・アドレス・インジケータを含み、前記バス接続デバイスが、前記割り込みテーブル・エントリの前記第1のコピーを前記取り出すために、前記割り込みテーブルの前記メモリ・アドレスを使用する、請求項1に記載の方法。
- 前記デバイス・テーブル・エントリが、前記ターゲット・プロセッサが直接アドレス指定されるかどうかを示す直接信号伝達インジケータをさらに含み、前記方法が、
前記直接信号伝達インジケータが前記割り込み信号の直接転送を示している場合に、前記ターゲット・プロセッサの論理プロセッサIDを使用して前記ターゲット・プロセッサを直接アドレス指定する前記割り込み信号の前記転送が実行され、
そうでない場合に、前記バス接続デバイスによって、ブロードキャストを使用して、前記割り込み信号を処理するために前記複数のプロセッサに転送することをさらに含む、請求項11に記載の方法。 - 前記メモリが、割り込み要約ベクトルをさらに含み、前記デバイス・テーブル・エントリが、前記割り込み要約ベクトルのメモリ・アドレスを示す割り込み要約ベクトル・アドレス・インジケータをさらに含み、前記割り込み要約ベクトルが、バス接続されたモジュールごとに割り込み要約インジケータを含み、各割り込み要約インジケータが、バス接続されたモジュールに割り当てられ、前記各バス接続されたモジュールによって発行された処理される割り込み信号が存在するかどうかを示し、
前記方法が、前記バス接続デバイスによって、前記割り込み要約ベクトルの前記示されたメモリ・アドレスを使用して、受信された前記割り込み信号の発行元である前記バス接続されたモジュールに割り当てられた前記割り込み要約インジケータを更新し、前記更新された割り込み要約インジケータが、前記各バス接続されたモジュールによって発行された処理される割り込み信号が存在するということを示すようにすることをさらに含む、請求項11に記載の方法。 - 前記メモリが、有向割り込み要約ベクトルをさらに含み、前記デバイス・テーブル・エントリが、前記有向割り込み要約ベクトルのメモリ・アドレスを示す有向割り込み要約ベクトル・アドレス・インジケータをさらに含み、前記有向割り込み要約ベクトルが、割り込みターゲットIDごとに有向割り込み要約インジケータを含み、各有向割り込み要約インジケータが、割り込みターゲットIDに割り当てられ、前記各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するかどうかを示し、
前記方法が、前記バス接続デバイスによって、前記有向割り込み要約ベクトルの前記示されたメモリ・アドレスを使用して、前記受信された割り込み信号のアドレス指定先である前記ターゲット・プロセッサIDに割り当てられた前記割り込み要約インジケータを更新し、前記更新された割り込み要約インジケータが、前記各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するということを示すようにすることをさらに含む、請求項11に記載の方法。 - 前記メモリが1つまたは複数の割り込み信号ベクトルをさらに含み、前記デバイス・テーブル・エントリが、前記1つまたは複数の割り込み信号ベクトルのうちの1つの割り込み信号ベクトルのメモリ・アドレスを示す割り込み信号ベクトル・アドレス・インジケータをさらに含み、前記割り込み信号ベクトルの各々が、1つまたは複数の信号インジケータを含み、各割り込み信号インジケータが、前記1つまたは複数のバス接続されたモジュールのうちの1つのバス接続されたモジュールおよび割り込みターゲットIDに割り当てられ、割り込み信号が、前記各割り込みターゲットIDに向けてアドレス指定された前記各バス接続されたモジュールから受信されたかどうかを示し、
前記方法が、
前記バス接続デバイスによって、前記割り込み信号ベクトルの前記示されたメモリ・アドレスを使用して、前記受信された割り込み信号を発行した前記バス接続されたモジュール、および前記受信された割り込み信号のアドレス指定先である前記割り込みターゲットIDに割り当てられた前記割り込み信号インジケータを選択することと、
前記選択された割り込み信号インジケータが、前記各バス接続されたモジュールによって発行され、前記各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在することを示すように、前記選択された割り込み信号インジケータを更新することとをさらに含む、請求項11に記載の方法。 - 前記割り込み信号ベクトルが、前記各割り込みターゲットIDに割り当てられた割り込みターゲットIDごとの割り込み信号インジケータをそれぞれ含み、前記割り込み信号ベクトルの各々が個別のバス接続されたモジュールに割り当てられ、前記各割り込み信号ベクトルの前記割り込み信号インジケータが、前記各個別のバス接続されたモジュールにさらに割り当てられる、請求項15に記載の方法。
- 前記割り込み信号ベクトルが、前記各バス接続されたモジュールに割り当てられたバス接続されたモジュールごとの割り込み信号インジケータをそれぞれ含み、前記割り込み信号ベクトルの各々が個別のターゲット・プロセッサIDに割り当てられ、前記各割り込み信号ベクトルの前記割り込み信号インジケータが、前記各ターゲット・プロセッサIDにさらに割り当てられる、請求項15に記載の方法。
- 前記デバイス・テーブル・エントリが、前記ゲスト・オペレーティング・システムが割り当てられた論理パーティションを識別する論理パーティションIDをさらに含み、前記バス接続デバイスによる前記割り込み信号の前記転送が、前記割り込み信号と共に前記論理パーティションIDを転送することをさらに含む、請求項1に記載の方法。
- 前記方法が、前記バス接続デバイスによって、前記受信された割り込み信号が割り当てられた割り込みサブクラスを識別する割り込みサブクラスIDを取り出すことをさらに含み、前記バス接続デバイスによる前記割り込み信号の前記転送が、前記割り込み信号と共に前記割り込みサブクラスIDを転送することをさらに含む、請求項1に記載の方法。
- ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行される前記ゲスト・オペレーティング・システムに割り込み信号を提供するための前記コンピュータ・システムであって、前記コンピュータ・システムが、バスおよびバス接続デバイスを介して前記複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、前記コンピュータ・システムが、前記バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
前記複数のプロセッサの各プロセッサに、前記各プロセッサをアドレス指定するために前記バス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
前記ゲスト・オペレーティング・システムで使用するために割り当てられた前記複数のプロセッサの各プロセッサに、前記各プロセッサをアドレス指定するために前記ゲスト・オペレーティング・システムおよび前記1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
前記コンピュータ・システムが、
前記バス接続デバイスによって、前記バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、前記割り込みターゲットIDが、前記ゲスト・オペレーティング・システムで使用するために割り当てられた前記プロセッサのうちの1つを、前記割り込み信号を処理するためのターゲット・プロセッサとして識別する、前記受信することと、
前記バス接続デバイスによって、前記メモリに格納されている割り込みテーブルから、前記受信された割り込みターゲットIDに割り当てられた割り込みテーブル・エントリの第1のコピーを取り出すことであって、前記割り込みテーブル・エントリの前記第1のコピーが、論理プロセッサIDへの前記受信された割り込みターゲットIDの現在のマッピングを含む、前記取り出すことと、
前記バス接続デバイスによって、前記割り込みテーブル・エントリの前記第1のコピーを使用して前記受信された割り込みターゲットIDを前記論理プロセッサIDに変換することと、
前記バス接続デバイスによって、前記ターゲット・プロセッサを直接アドレス指定するために前記変換から得られた前記論理プロセッサIDを使用して、前記割り込み信号を処理するために前記ターゲット・プロセッサに転送することとを含む方法を実行するように構成されている、コンピュータ・システム。 - ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行される前記ゲスト・オペレーティング・システムに割り込み信号を提供するためのコンピュータ・プログラム製品であって、前記コンピュータ・システムが、バスおよびバス接続デバイスを介して前記複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、前記コンピュータ・システムが、前記バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
前記複数のプロセッサの各プロセッサに、前記各プロセッサをアドレス指定するために前記バス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
前記ゲスト・オペレーティング・システムで使用するために割り当てられた前記複数のプロセッサの各プロセッサに、前記各プロセッサをアドレス指定するために前記ゲスト・オペレーティング・システムおよび前記1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
前記コンピュータ・プログラム製品が、処理回路によって読み取り可能な、方法を実行するために前記処理回路によって実行される命令を格納しているコンピュータ可読の非一過性媒体を備え、前記方法が、
前記バス接続デバイスによって、前記バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、前記割り込みターゲットIDが、前記ゲスト・オペレーティング・システムで使用するために割り当てられた前記プロセッサのうちの1つを、前記割り込み信号を処理するためのターゲット・プロセッサとして識別する、前記受信することと、
前記バス接続デバイスによって、前記メモリに格納されている割り込みテーブルから、前記受信された割り込みターゲットIDに割り当てられた割り込みテーブル・エントリの第1のコピーを取り出すことであって、前記割り込みテーブル・エントリの前記第1のコピーが、論理プロセッサIDへの前記受信された割り込みターゲットIDの現在のマッピングを含む、前記取り出すことと、
前記バス接続デバイスによって、前記割り込みテーブル・エントリの前記第1のコピーを使用して前記受信された割り込みターゲットIDを前記論理プロセッサIDに変換することと、
前記バス接続デバイスによって、前記ターゲット・プロセッサを直接アドレス指定するために前記変換から得られた前記論理プロセッサIDを使用して、前記割り込み信号を処理するために前記ターゲット・プロセッサに転送することとを含む、コンピュータ・プログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19157094.4 | 2019-02-14 | ||
EP19157094 | 2019-02-14 | ||
PCT/EP2020/052539 WO2020164934A1 (en) | 2019-02-14 | 2020-02-03 | Directed interrupt virtualization with interrupt table |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022520928A true JP2022520928A (ja) | 2022-04-04 |
JPWO2020164934A5 JPWO2020164934A5 (ja) | 2022-06-08 |
JP7324287B2 JP7324287B2 (ja) | 2023-08-09 |
Family
ID=65440825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021541135A Active JP7324287B2 (ja) | 2019-02-14 | 2020-02-03 | 割り込みテーブルを使用した有向割り込みの仮想化方法、システム、プログラム |
Country Status (6)
Country | Link |
---|---|
US (3) | US11016800B2 (ja) |
EP (1) | EP3924820A1 (ja) |
JP (1) | JP7324287B2 (ja) |
CN (1) | CN113412472A (ja) |
TW (1) | TWI727607B (ja) |
WO (1) | WO2020164934A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113424150A (zh) * | 2019-02-14 | 2021-09-21 | 国际商业机器公司 | 具有运行指示符的定向中断虚拟化 |
TWI759677B (zh) | 2019-02-14 | 2022-04-01 | 美商萬國商業機器公司 | 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
TWI764082B (zh) | 2019-02-14 | 2022-05-11 | 美商萬國商業機器公司 | 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品 |
WO2020164820A1 (en) | 2019-02-14 | 2020-08-20 | International Business Machines Corporation | Directed interrupt virtualization |
WO2020164819A1 (en) | 2019-02-14 | 2020-08-20 | International Business Machines Corporation | Directed interrupt for multilevel virtualization with interrupt table |
BR112021016093A2 (pt) | 2019-02-14 | 2021-10-26 | International Business Machines Corporation | Interrupção dirigida para virtualização de multiníveis |
TWI727607B (zh) * | 2019-02-14 | 2021-05-11 | 美商萬國商業機器公司 | 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
JP7448550B2 (ja) | 2019-02-14 | 2024-03-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ブロッキング・インジケータを使用した有向割り込みの仮想化方法、システム、プログラム |
TWI780521B (zh) * | 2020-11-24 | 2022-10-11 | 大陸商合肥沛睿微電子股份有限公司 | 電子裝置及空間複用方法 |
US11442879B2 (en) * | 2021-01-07 | 2022-09-13 | Foundation Of Soongsil University-Industry Cooperation | Interrupt request processing device |
WO2023140703A1 (en) * | 2022-01-20 | 2023-07-27 | Samsung Electronics Co., Ltd. | Method and electronic device for communication on single wire interface |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010128911A (ja) * | 2008-11-28 | 2010-06-10 | Hitachi Ltd | 仮想計算機の制御方法、仮想計算機の制御プログラム及び計算機装置 |
JP2013519170A (ja) * | 2010-02-05 | 2013-05-23 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ゲストローカル割込みコントローラを仮想化するように構成されたプロセッサ |
Family Cites Families (67)
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 |
GB2339035B (en) | 1998-04-29 | 2002-08-07 | Sgs Thomson Microelectronics | A method and system for transmitting interrupts |
US7620955B1 (en) | 2001-06-08 | 2009-11-17 | Vmware, Inc. | High-performance virtual machine networking |
US7028302B2 (en) | 2002-04-24 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | System and method for automatically tuning a multiprocessor computer system |
US20030204655A1 (en) | 2002-04-24 | 2003-10-30 | Schmisseur Mark A. | Prioritizing vector generation in interrupt controllers |
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 |
US8453143B2 (en) | 2007-09-19 | 2013-05-28 | Vmware, Inc. | Reducing the latency of virtual interrupt delivery in virtual machines |
JP5108975B2 (ja) | 2008-04-28 | 2012-12-26 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | 仮想割り込みモードインターフェース及び割り込みモードを仮想化するための方法 |
ATE542177T1 (de) | 2008-08-19 | 2012-02-15 | St Microelectronics Rousset | Weiterleitungsverfahren eines unterbrechungssignals direkt an eine virtuelle bearbeitungseinheit in einem system mit einer oder mehreren physischen bearbeitungseinheiten |
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 |
CN101427916B (zh) | 2008-12-05 | 2012-02-22 | 张锦景 | 电生理数据与病理图像监测的移动网络终端装置及方法 |
US8234432B2 (en) | 2009-01-26 | 2012-07-31 | Advanced Micro Devices, Inc. | Memory structure to store interrupt state for inactive guests |
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及中断的实现方法 |
US8495267B2 (en) | 2010-11-24 | 2013-07-23 | International Business Machines Corporation | Managing shared computer memory using multiple interrupts |
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 |
US20130054945A1 (en) | 2011-08-24 | 2013-02-28 | Microsoft Corporation | Adaptive sensing for early booting of devices |
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 |
US20140165196A1 (en) | 2012-05-22 | 2014-06-12 | Xockets IP, LLC | Efficient packet handling, redirection, and inspection 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 |
US9442870B2 (en) | 2012-08-09 | 2016-09-13 | Freescale Semiconductor, Inc. | Interrupt priority management using partition-based priority blocking processor registers |
US9436626B2 (en) * | 2012-08-09 | 2016-09-06 | Freescale Semiconductor, Inc. | Processor interrupt interface with interrupt partitioning and virtualization enhancements |
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 |
EP2951705A4 (en) * | 2013-01-29 | 2016-11-02 | Hewlett Packard Development Co | ASSIGNING PROCESSORS TO MEMORY TOPOGRAPHY 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 |
CN104101293A (zh) | 2013-04-07 | 2014-10-15 | 鸿富锦精密工业(深圳)有限公司 | 量测机台坐标系归一系统及方法 |
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 |
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 |
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 |
KR102509986B1 (ko) | 2016-03-28 | 2023-03-14 | 삼성전자주식회사 | 다중 코어 프로세서 및 다중 코어 프로세서를 제어하는 방법 |
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 |
US10838760B2 (en) | 2017-11-29 | 2020-11-17 | Nxp Usa, Inc. | Systems and methods for interrupt distribution |
KR102585784B1 (ko) | 2018-01-25 | 2023-10-06 | 삼성전자주식회사 | 오디오 재생시 인터럽트를 지원하는 애플리케이션 프로세서, 이를 포함하는 전자 장치 및 그 동작 방법 |
BR112021016093A2 (pt) | 2019-02-14 | 2021-10-26 | International Business Machines Corporation | Interrupção dirigida para virtualização de multiníveis |
WO2020164819A1 (en) | 2019-02-14 | 2020-08-20 | International Business Machines Corporation | Directed interrupt for multilevel virtualization with interrupt table |
TWI727607B (zh) | 2019-02-14 | 2021-05-11 | 美商萬國商業機器公司 | 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
TWI759677B (zh) | 2019-02-14 | 2022-04-01 | 美商萬國商業機器公司 | 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
TWI764082B (zh) | 2019-02-14 | 2022-05-11 | 美商萬國商業機器公司 | 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品 |
CN113424150A (zh) | 2019-02-14 | 2021-09-21 | 国际商业机器公司 | 具有运行指示符的定向中断虚拟化 |
WO2020164820A1 (en) | 2019-02-14 | 2020-08-20 | International Business Machines Corporation | Directed interrupt virtualization |
JP7448550B2 (ja) | 2019-02-14 | 2024-03-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ブロッキング・インジケータを使用した有向割り込みの仮想化方法、システム、プログラム |
-
2020
- 2020-01-16 TW TW109101483A patent/TWI727607B/zh active
- 2020-02-03 CN CN202080013265.9A patent/CN113412472A/zh active Pending
- 2020-02-03 WO PCT/EP2020/052539 patent/WO2020164934A1/en unknown
- 2020-02-03 JP JP2021541135A patent/JP7324287B2/ja active Active
- 2020-02-03 EP EP20702302.9A patent/EP3924820A1/en active Pending
- 2020-02-13 US US16/789,514 patent/US11016800B2/en active Active
- 2020-12-30 US US17/137,755 patent/US11256538B2/en active Active
-
2021
- 2021-12-13 US US17/643,910 patent/US11593153B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010128911A (ja) * | 2008-11-28 | 2010-06-10 | Hitachi Ltd | 仮想計算機の制御方法、仮想計算機の制御プログラム及び計算機装置 |
JP2013519170A (ja) * | 2010-02-05 | 2013-05-23 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ゲストローカル割込みコントローラを仮想化するように構成されたプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
US11593153B2 (en) | 2023-02-28 |
US20200264917A1 (en) | 2020-08-20 |
WO2020164934A1 (en) | 2020-08-20 |
EP3924820A1 (en) | 2021-12-22 |
US11256538B2 (en) | 2022-02-22 |
JP7324287B2 (ja) | 2023-08-09 |
US20220100557A1 (en) | 2022-03-31 |
US20210117229A1 (en) | 2021-04-22 |
TWI727607B (zh) | 2021-05-11 |
TW202046101A (zh) | 2020-12-16 |
CN113412472A (zh) | 2021-09-17 |
US11016800B2 (en) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7379502B2 (ja) | フォールバックを伴う有向割り込みの仮想化方法、システム、プログラム | |
JP7324287B2 (ja) | 割り込みテーブルを使用した有向割り込みの仮想化方法、システム、プログラム | |
JP7398465B2 (ja) | 有向割り込みの仮想化のための割り込み信号伝達方法、システム、プログラム | |
JP7459119B2 (ja) | 割り込みテーブルを使用したマルチレベルの仮想化のための有向割り込み方法、システム、プログラム | |
JP7450627B2 (ja) | 実行中インジケータを使用した有向割り込みの仮想化方法、システム、プログラム | |
JP7335339B2 (ja) | 有向割り込みの仮想化方法、システム、プログラム | |
JP7448550B2 (ja) | ブロッキング・インジケータを使用した有向割り込みの仮想化方法、システム、プログラム | |
JP7482882B2 (ja) | マルチレベルの仮想化のための有向割り込み方法、システム、プログラム | |
KR102672582B1 (ko) | 지시된 인터럽트 가상화를 위한 인터럽트 시그널링 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220512 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220527 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230622 |
|
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: 20230711 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230728 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7324287 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |