【手続補正書】
【提出日】平成23年6月10日(2011.6.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
【非特許文献１】“Intel(R) 64 and IA-32 Architectures Software Developer's Manual, Volume 3B: System Programming Guide”, Nov 2008, chapter 19 “INTRODUCTION TO VIRTUAL-MACHINE EXTENSIONS”
【非特許文献２】“Intel(R) Virtualization Technology for Directed I/O” Architecture Specification, Sep 2008, chapter 1 “Introduction”
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つ以上のCPUと、
前記CPU上に生成された仮想計算機と、
前記仮想計算機を制御する仮想計算機モニタと、
メモリと、
第１の割込みトランザクションを発行するI/Oデバイスと、
前記CPU、メモリ及びI/Oデバイスを接続する中継回路と、
前記第１の割込みトランザクションの受信状況を記憶する割込みインジケータが保持される割込みインジケータ保持部とを備え、
前記中継回路は、
前記第１の割込みトランザクションを受信する割込み受信部と、
前記受信した第１の割込みトランザクションの情報に基づき、前記第１の割込みトランザクションの発行元を特定する識別子を取得する識別子取得部と、
前記取得した識別子に対応する割込みインジケータを更新する割込みインジケータ更新部と、
前記割込み受信部における第１の割込みトランザクションの受信に基づき、前記CPUに第2の割込みトランザクションを通知する割込み送出部とを有し、
前記CPUは、前記第2の割込みトランザクションの受信に基づき、前記仮想計算機モニタを呼出す割込みコントローラを有し、
前記仮想計算機モニタは、前記割込みコントローラによる呼出しに基づき、前記更新された割込みインジケータを参照し、前記第１の割込みトランザクションを発行したI/Oデバイスを特定する割込みインジケータ参照部を備えることを特徴とする計算機装置。
【請求項２】
前記仮想計算機モニタは、更に前記割込み分配部を有し、
前記割込み分配部は、
I/Oデバイス制御情報部を参照して前記特定されたI/Oデバイスに対応する仮想計算機を特定し、
前記特定された仮想計算機に前記I/Oデバイスの割込みを通知することを特徴とする請求項１記載の計算機装置。
【請求項３】
前記第１の割込みトランザクションは、PCI express規定のAssert_INTxもしくはDeassert_INTxメッセージであって、
前記割込みインジケータ更新部は、更に、
受信した第1の割込みTxがAssert_INTxである場合に、対応するインジケータをセットする手段と、
受信した第1の割込みTxがDeassert_INTxである場合に、対応するインジケータをリセットする手段とを有する請求項１記載の計算機装置。
【請求項４】
前記識別子取得部は、更に、
Assert_INTxもしくはDeassert_INTxメッセージに含まれる要求元ID(Requester ID)と、
仮想ワイヤ区分(A〜D)の全て、もしくは一部を識別子として取得する手段を含む請求項３記載の計算機装置。
【請求項５】
前記第1の割込みトランザクションは、PCI express規定のMessage Signaled Interrupt(MSI)であって、
前記割込みインジケータ更新部は、更に、対応するインジケータをセットする手段を含む請求項１記載の計算機装置。
【請求項６】
前記識別子取得部は、更に、
MSIに含まれる要求元ID(Requester ID)と、宛先CPUのID情報と、割込みベクタ番号の全て、もしくは一部を識別子として取得する手段を含む請求項５記載の計算機装置。
【請求項７】
前記I/Oデバイスは、PCI express規定のMSIアドレスおよびデータレジスタを1つ以上有し、
前記仮想計算機モニタは、更に、
前記I/Oデバイスのうち、割込みを使用するI/Oデバイスのセットを定義する手段と、
前記割込みを使用するI/Oデバイスのセットに対して、ユニークな設定値を前記MSIアドレスおよびデータレジスタのペアに対して設定する手段とを有する請求項６記載の計算機装置。
【請求項８】
前記中継回路は、
前記第１の割込みトランザクションを受信し、受信した前記第１の割込みトランザクションをデコードし、前記デコードの情報を通知する割込み受信部と、
前記デコードの情報を受信し、前記デコードの情報に基づき前記第１の割込みトランザクションの発行元を特定する識別子を取得し、前記デコードの情報に基づき更新要求及び通知要求を発行する識別子取得部と、
前記更新要求を受信し、前記識別子に対応する割込みインジケータを更新する割込みインジケータ更新部と、
前記通知要求を受信し、前記通知要求に基づき第2の割込みトランザクションを通知する割込み送出部とを有し、
前記CPUは、前記第2の割込みトランザクションを受信し、前記第2の割込みトランザクションに基づく物理外部割込みを発行する割込みコントローラを有し、
前記仮想計算機モニタは、前記物理外部割込みに基づき割込みインジケータを参照し、前記第１の割込みトランザクションを発行したI/Oデバイスを特定する割込みインジケータ参照部とを備えることを特徴とする請求項１記載の計算機装置。
【請求項９】
前記割込みインジケータ保持部はメモリであり、
前記割込みインジケータ更新部は、
前記更新要求の受信により、前記メモリに保持される割込みインジケータを前記識別子に対応する割込みインジケータに更新するためのMWrTLP情報を生成し、
前記生成したMWrTLP情報を前記メモリに送出することを特徴とする請求項１記載の計算機装置。
【請求項１０】
前記割込みインジケータ保持部は、前記中継回路内に保持され、
前記割込みインジケータ更新部は、
前記更新要求の受信により、前記保持情報部に保持される割込みインジケータを前記識別子に対応する割込みインジケータに更新することを特徴とする請求項１記載の計算装置。
【請求項１１】
１つ以上のCPUと、前記CPU上に生成された仮想計算機と、前記仮想計算機を制御する仮想計算機モニタと、メモリと、I/Oデバイスと、前記CPU、メモリ及びI/Oデバイスを接続する中継回路とを備える計算機装置における割込み中継方法であって、
前記I/Oデバイスは、第１の割込みトランザクションを発行し、
前記第１の割込みトランザクションの前記中継回路における受信状況は、割込みインジケータに記憶され、
前記中継回路は、
前記第１の割込みトランザクションを受信し、
前記受信した第１の割込みトランザクションの情報に基づき、前記第１の割込みトランザクションの発行元を特定する識別子を取得し、
前記取得した識別子に対応する前記割込みインジケータを更新し、
前記第１の割込みトランザクションの受信に基づき、前記CPUに第2の割込みトランザクションを通知し、
前記CPUは、前記第2の割込みトランザクションの受信に基づき、前記仮想計算機モニタを呼出し、
前記仮想計算機モニタは、前記CPUによる呼出しに基づき、前記更新された割込みインジケータを参照し、前記第１の割込みトランザクションを発行したI/Oデバイスを特定することを特徴とする割込み中継方法。
【請求項１２】
計算機装置におけるCPU、メモリ及びI/Oデバイスを接続する中継回路であって、
第１の割込みトランザクションを受信する割込み受信部と、
前記受信した第１の割込みトランザクションの情報に基づき、前記第１の割込みトランザクションの発行元を特定する識別子を取得する識別子取得部と、
前記取得した識別子に対応し、前記第１の割込みトランザクションの受信状況を記憶する割込みインジケータを更新する割込みインジケータ更新部と、
前記割込み受信部における第１の割込みトランザクションの受信に基づき、第2の割込みトランザクションを通知する割込み送出部とを有することを特徴とする中継回路。