JP5617761B2 - Computer system, computer, and interrupt processing method for computer system - Google Patents

Computer system, computer, and interrupt processing method for computer system Download PDF

Info

Publication number
JP5617761B2
JP5617761B2 JP2011113566A JP2011113566A JP5617761B2 JP 5617761 B2 JP5617761 B2 JP 5617761B2 JP 2011113566 A JP2011113566 A JP 2011113566A JP 2011113566 A JP2011113566 A JP 2011113566A JP 5617761 B2 JP5617761 B2 JP 5617761B2
Authority
JP
Japan
Prior art keywords
interrupt
generated
devices
information
generation
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
JP2011113566A
Other languages
Japanese (ja)
Other versions
JP2012243135A (en
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2011113566A priority Critical patent/JP5617761B2/en
Publication of JP2012243135A publication Critical patent/JP2012243135A/en
Application granted granted Critical
Publication of JP5617761B2 publication Critical patent/JP5617761B2/en
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Description

本発明は、複数のデバイスが割込み信号線を共有して計算機へ割込みを通知する場合に、割込みを発生したデバイスを特定して割込み処理を実行させる計算機システムに関するものである。 The present invention, when a plurality of devices to notify the interruption to the computer shares the interrupt signal line, to a computer system to execute the identified interrupt processing device that generated the interrupt.

複数のデバイスが同一の割込み番号を共有する場合に、複数のオペレーティングシステム(OS)を切替えて割込み処理を行うマルチオペレーティング計算機システムとして、従来、OS間制御部が割込みを発生したデバイスの判定をし、複数のOSの中から割込みを発生したデバイスに割付けられたOSを起動させるものがある(例えば、特許文献1参照)。 As a multi-operating computer system that performs interrupt processing by switching between multiple operating systems (OS) when multiple devices share the same interrupt number, the inter-OS controller has conventionally determined the device that generated the interrupt. In some cases, an OS assigned to a device that generates an interrupt is started from a plurality of OSs (see, for example, Patent Document 1).

特開2001−229038号公報JP 2001-229038 A

上記のような複数のデバイスが割込み信号線を共有するシステムにおいては、OS間制御部が割込みを発生したデバイスに割り付けられたOSを起動した後、このOSが割込みを発生したデバイスの確認を行うことが多い。 In a system in which a plurality of devices as described above share an interrupt signal line, the inter-OS control unit starts the OS assigned to the device that generated the interrupt, and then the OS checks the device that generated the interrupt. There are many cases.

しかしながら、デバイス識別レジスタがリードによりクリアされるレジスタで構成されている場合、OS間制御部がこのレジスタを参照する時にデバイス識別レジスタの値がクリアされ、その後起動したOSが割込み発生デバイスの確認をできないという課題があった。 However, when the device identification register is configured by a register that is cleared by reading, the value of the device identification register is cleared when the inter-OS control unit refers to this register, and then the OS that has started up confirms the interrupt generation device. There was a problem that it was not possible.

本発明はこのような課題を解決するためになされたもので、デバイス識別レジスタの種別によらず、OSから割込み発生デバイスを確認できる計算機システムを得ることを目的とする。 The present invention has been made to solve such a problem, and an object of the present invention is to provide a computer system that can confirm an interrupt generation device from an OS regardless of the type of a device identification register.

本発明に係る計算機システムは、複数のデバイスと、前記複数のデバイスが共有する割込み信号線を介して接続され、前記複数のデバイスに割込みが発生した場合に、該複数のデバイスのうちいずれかからの割込みであるかを判定し、複数のOSのうち前記割込みを発生したデバイスに対応するOSを起動させる計算機と、を備えた計算機システムにおいて、前記計算機は、前記複数のデバイスのうち割込みが発生したデバイスを判定するための情報を記憶した情報テーブルと、前記複数のデバイスのうちいずれかから割込みが発生した場合に、前記情報テーブルを参照して割込みを発生したデバイスを判定し、前記割込みを発生したデバイスに対応するOSに割込みが発生したことを示す割込み発生信号を送信する割込み判定部と、前記割込み発生信号を受信したOSから送信される前記割込みを発生したデバイスを確認するための確認信号を受信し、前記割込み判定部によって判定された前記割込みを発生したデバイスに関する情報を前記割込みが発生したデバイスに対応するOSに送信する割込み発生模擬部と、を有することを特徴とする。 The computer system according to the present invention is connected to a plurality of devices via an interrupt signal line shared by the plurality of devices, and when an interrupt occurs in the plurality of devices , the computer system starts from any one of the plurality of devices. And a computer that activates an OS corresponding to a device that has generated the interrupt among a plurality of OSs. The computer generates an interrupt among the plurality of devices. When an interrupt occurs from any of the plurality of devices, the information table storing information for determining the device that has determined the device that generated the interrupt with reference to the information table, and the interrupt An interrupt determination unit for transmitting an interrupt generation signal indicating that an interrupt has occurred in the OS corresponding to the generated device; The confirmation signal for confirming the device that has generated the interrupt is transmitted from the OS that has received the generation signal, and the interrupt has generated information on the device that has generated the interrupt determined by the interrupt determination unit. And an interrupt generation simulation unit that transmits to an OS corresponding to the device.

本発明に係る計算機は、割込み信号線を共有する複数のデバイスと該割込み信号線で接続され、前記複数のデバイスのうち割込みが発生したデバイスに対応するOSを起動させる計算機において、前記複数のデバイスのうち割込みを発生したデバイスを判定するための情報を記憶した情報テーブルと、前記複数のデバイスのうちいずれかから割込みが発生した場合に、前記情報テーブルを参照して割込みを発生したデバイスを判定し、前記割込みを発生したデバイスに対応するOSに割込みが発生したことを示す割込み発生信号を送信する割込み判定部と、前記割込み発生信号を受信したOSから送信される前記割込みを発生したデバイスを確認するための確認信号を受信し、前記割込み判定部によって判定された前記割込みを発生したデバイスに関する情報を該OSに送信する割込み発生模擬部と、を有することを特徴とする。 A computer according to the present invention is a computer that is connected to a plurality of devices sharing an interrupt signal line by the interrupt signal line, and activates an OS corresponding to a device in which an interrupt has occurred among the plurality of devices. An information table that stores information for determining the device that has generated an interrupt, and when an interrupt has occurred from any of the plurality of devices, the device that has generated the interrupt is determined by referring to the information table An interrupt determination unit that transmits an interrupt generation signal indicating that an interrupt has occurred in an OS corresponding to the device that has generated the interrupt, and a device that has generated the interrupt transmitted from the OS that has received the interrupt generation signal. A device that has received a confirmation signal for confirmation and has generated the interrupt determined by the interrupt determination unit. Information about scan and having a, interrupt generator simulation part that transmits to the OS.

本発明に係る計算機システムの割込み処理方法は、複数のデバイスと、前記複数のデバイスが共有する割込み信号線を介して接続され、前記複数のデバイスに割込みが発生した場合に、該複数のデバイスのうちいずれかからの割込みであるかを判定し、前記割込みを発生したデバイスに対応するOSを起動させる計算機と、を備えた計算機システムの割込み処理方法において、前記複数のデバイスのうちいずれかから割込みが発生した場合に、前記複数のデバイスのうち割込みを発生したデバイスを判定するための情報を記憶した情報テーブルを参照し、割込みを発生したデバイスを判定する判定ステップと、
前記割込みを発生したデバイスに対応するOSに割込みが発生したことを示す割込み発生信号を送信するステップと、前記割込み発生信号を受信したOSが送信する割込みを発生したデバイスを確認するための確認信号を受信するステップと、前記割込み判定部によって判定された前記割込みを発生したデバイスに関する情報を該OSに送信する応答ステップと、を有することを特徴とする。
An interrupt processing method for a computer system according to the present invention is connected to a plurality of devices via an interrupt signal line shared by the plurality of devices, and when an interrupt occurs in the plurality of devices, An interrupt processing method for a computer system, comprising: a computer that determines whether the interrupt is from any one of them and activates an OS corresponding to the device that has generated the interrupt; A determination step of determining a device that has generated an interrupt with reference to an information table that stores information for determining a device that has generated an interrupt among the plurality of devices.
A step of transmitting an interrupt generation signal indicating that an interrupt has occurred in the OS corresponding to the device that has generated the interrupt; and a confirmation signal for confirming the device that has generated the interrupt transmitted by the OS that has received the interrupt generation signal And a response step of transmitting information related to the device that has generated the interrupt determined by the interrupt determination unit to the OS.

本発明によれば、計算機システム、計算機計算機システムの割込み処理方法は、上記構成を備えたことにより、デバイス識別レジスタの種別によらず、OSから割込み発生デバイスを確認できる。 According to the present invention, the computer system, the computer , and the interrupt processing method of the computer system have the above-described configuration, so that the interrupt generation device can be confirmed from the OS regardless of the type of the device identification register.

実施の形態1に係る計算機システムの構成を示す図である。1 is a diagram illustrating a configuration of a computer system according to a first embodiment. 実施の形態1に係る計算機システムの機能ブロック図である。2 is a functional block diagram of a computer system according to Embodiment 1. FIG. 実施の形態1に係る共有割込み判定テーブルの一例を示す図である。6 is a diagram illustrating an example of a shared interrupt determination table according to Embodiment 1. FIG. 実施の形態1における共有割込み判定テーブルへの情報の登録手順を示すシーケンス図である。6 is a sequence diagram illustrating a procedure for registering information in a shared interrupt determination table according to Embodiment 1. FIG. 実施の形態1に係る計算機システムの割込み処理手順を示すシーケンス図である。FIG. 3 is a sequence diagram illustrating an interrupt processing procedure of the computer system according to the first embodiment. 実施の形態1における共有割込み判定テーブルからの情報の削除手順を示すシーケンス図である。6 is a sequence diagram illustrating a procedure for deleting information from a shared interrupt determination table according to Embodiment 1. FIG.

実施の形態1.
本発明を実施するための実施の形態1に係る計算機システムを図1ないし図6を用いて説明する。
Embodiment 1 FIG.
A computer system according to Embodiment 1 for carrying out the present invention will be described with reference to FIGS.

図1において、計算機システム1は、計算機2と、ケーブルやネットワーク等を介して計算機2に接続されたキーボード31、マウス32、ディスプレイ33、プリンタ34、スキャナ35、外付けハードディスク36、など周辺機器であるデバイス3と、を備えている。計算機2は、CPU4、割込みコントローラ5、メモリ6、割込み信号線7、等を備えている。なお、デバイス3の一部または全部は、計算機2に内蔵しても良い。 In FIG. 1, a computer system 1 includes a computer 2 and peripheral devices such as a keyboard 31, a mouse 32, a display 33, a printer 34, a scanner 35, and an external hard disk 36 connected to the computer 2 via a cable or a network. A certain device 3 is provided. The computer 2 includes a CPU 4, an interrupt controller 5, a memory 6, an interrupt signal line 7, and the like. Part or all of the device 3 may be built in the computer 2.

計算機2の内外に設けられた各デバイス3は、PCI(Peripheral Component Interconnect)バス8を介して割込みコントローラ5に接続され、複数のデバイス3間で割込み信号線7を共有している。計算機2に設けられた割込み信号線7は、通常、PCIバス接続されたデバイス3の数よりも少ない。このため、各デバイス3は割込み信号線7を共有するが、割込み信号線7の数がPCIバスで接続されたデバイス3の数以上の場合にも共有することができる。 Each device 3 provided inside and outside the computer 2 is connected to an interrupt controller 5 via a PCI (Peripheral Component Interconnect) bus 8 and shares an interrupt signal line 7 among a plurality of devices 3. The number of interrupt signal lines 7 provided in the computer 2 is usually smaller than the number of devices 3 connected to the PCI bus. For this reason, each device 3 shares the interrupt signal line 7, but can also be shared when the number of interrupt signal lines 7 is equal to or greater than the number of devices 3 connected by the PCI bus.

図2は、計算機システム1の一例を示す機能ブロック図である。
計算機システム1は、ハードウェアのデバイス部30と、ソフトウェアの仮想マシンモニタ10及びオペレーティングシステム部20(以下、OS部20と称する)とで構成されている。ソフトウェアで構成される仮想マシンモニタ10及びOS部20は、物理的にはメモリ6に記憶され、CPU4からの指令(指示)に従い動作するものである。
なお、デバイス部30はデバイス3A〜3Cを総称するものであればよく、物理的な構成として備えていなくても良い。OS部20も同様に、OS21A〜21Cを総称するものであればよく、物理的な構成として備えていなくても良い。
FIG. 2 is a functional block diagram illustrating an example of the computer system 1.
The computer system 1 includes a hardware device unit 30, a software virtual machine monitor 10, and an operating system unit 20 (hereinafter referred to as an OS unit 20). The virtual machine monitor 10 and the OS unit 20 configured by software are physically stored in the memory 6 and operate according to a command (instruction) from the CPU 4.
The device unit 30 may be a generic name of the devices 3A to 3C and may not be provided as a physical configuration. Similarly, the OS unit 20 may be a generic name of the OSs 21A to 21C and may not be provided as a physical configuration.

図2の例では、OS部20には、デバイス部30のデバイス3A〜3Cを操作する3つのOS21A〜21Cが設けられ、各OSはデバイスを認識させるソフトウェアとしてデバイスドライバ22A〜22Cをそれぞれ1つずつ備えている。OS21A〜21Cは計算機2上で動作するソフトウェアであり、例えばMicrosoft Windows(登録商標)やLinux(登録商標)やリアルタイムOSなどがある。なお、1つのOSが複数のデバイスドライバ22A〜22Cを備えていても良い。また、OS21A〜21Cは、このOS上で動作する1つ又は複数のアプリケーションプログラムで構成されるアプリケーション部23A〜23Cを備えていても良い。 In the example of FIG. 2, the OS unit 20 is provided with three OSs 21A to 21C for operating the devices 3A to 3C of the device unit 30, and each OS has one device driver 22A to 22C as software for recognizing the device. It is prepared one by one. The OS 21A to 21C are software that operates on the computer 2, and include, for example, Microsoft Windows (registered trademark), Linux (registered trademark), and a real-time OS. One OS may include a plurality of device drivers 22A to 22C. The OSs 21A to 21C may include application units 23A to 23C configured by one or a plurality of application programs operating on the OS.

仮想マシンモニタ10は、デバイス部30の各デバイス3A〜3C上で動作するOS21A〜21C(又はデバイスドライバ22A〜22C)の切替え制御を行うソフトウェアであり、ハイパーバイザ、あるいはOS間制御部とも呼ばれる。 The virtual machine monitor 10 is software that performs switching control of the OS 21A to 21C (or device drivers 22A to 22C) operating on the devices 3A to 3C of the device unit 30, and is also called a hypervisor or an inter-OS control unit.

仮想マシンモニタ10は、割込みを発生したデバイスを判定するために必要な情報を記憶した共有割込み判定テーブル11、各OS21A〜21Cからの指示に応じて共有割込み判定テーブル11への情報の登録・更新・削除を行う共有割込み判定テーブル登録部12、共有割込み判定テーブル11に格納された情報を参照し、割込みを発生したデバイスがどのデバイスであるかを判定する共有割込み判定部13、デバイス3A〜3Cから割込みが発生した場合にOS21A〜21Cからデバイス3A〜3Cへの確認アクセスを受付け、デバイス3A〜3Cの割込み発生を模擬して応答する割込み発生模擬部14、が設けられている。 The virtual machine monitor 10 registers / updates information in the shared interrupt determination table 11 that stores information necessary for determining the device that has generated the interrupt, and in accordance with instructions from the OSs 21A to 21C. The shared interrupt determination table registration unit 12 that performs deletion, the information stored in the shared interrupt determination table 11, and the shared interrupt determination unit 13 that determines which device has generated the interrupt, and the devices 3A to 3C An interrupt generation simulation unit 14 is provided that receives confirmation access from the OS 21A to 21C to the devices 3A to 3C when an interrupt occurs from the OS 3A to 3C, and responds by simulating the interrupt generation of the devices 3A to 3C.

デバイス部30は3つのデバイス3A〜3Cを備えている。デバイス3A〜3Cは、計算機2に内蔵しているものと外部接続しているものとで同じ役割を果たすため、図2では区別していない。 The device unit 30 includes three devices 3A to 3C. The devices 3A to 3C play the same role depending on whether they are built in the computer 2 or externally connected, and are not distinguished in FIG.

図3は、共有割込み判定テーブル11の一例を示している。デバイス3それぞれに対して(a)割込み発生フラグレジスタのI/Oアドレス情報、(b)割込み発生を判定するためのビットマスク値、(c)割込み未発生時の割込み発生フラグレジスタの値、を1つずつ備えている。 FIG. 3 shows an example of the shared interrupt determination table 11. For each device 3, (a) I / O address information of the interrupt generation flag register, (b) a bit mask value for determining whether an interrupt has occurred, (c) a value of the interrupt generation flag register when no interrupt occurs One by one.

割込み発生フラグレジスタとは、各デバイス3に設けられた割込み発生の有無を識別するためのレジスタのことである。通常、データの読み書きは複数ビット単位で行うが、割込み発生フラグレジスタは1ビット又は数ビット程度である。よって、上記(a)で読み出したI/Oアドレスに対応するデータのうち、割込み発生の識別に不要なレジスタをマスクするために上記(b)を用いる。 The interrupt generation flag register is a register provided in each device 3 for identifying whether or not an interrupt has occurred. Normally, data is read and written in units of a plurality of bits, but the interrupt generation flag register is about 1 bit or several bits. Therefore, (b) is used to mask a register unnecessary for identifying the occurrence of an interrupt among the data corresponding to the I / O address read in (a).

ここで、計算機システム1の動作を説明する。 Here, the operation of the computer system 1 will be described.

・共有割込み判定テーブルへの情報の登録 ・ Registering information in the shared interrupt judgment table

図4に示すように、OS部20に設けられたOS21A〜21Cは、送信部(図示しない)から指示を送信することで共有割込み判定テーブル登録部12を呼び出し、自身に備えたアプリケーションプログラム23A〜23Cやデバイスドライバ22A〜22Cの情報を共有割込み判定テーブル11に登録させる(ステップS101)。上記呼び出しは、例えば仮想マシンモニタ10が提供するサービスコールであるハイパーコールを利用することにより可能となる。 As shown in FIG. 4, the OS 21A-21C provided in the OS unit 20 calls the shared interrupt determination table registration unit 12 by transmitting an instruction from a transmission unit (not shown), and the application program 23A- Information on 23C and device drivers 22A to 22C is registered in the shared interrupt determination table 11 (step S101). The call can be made by using a hyper call, which is a service call provided by the virtual machine monitor 10, for example.

共有割込み判定テーブル登録部12は、OS21A〜21Cからの指示に従い、デバイス3A〜3Cそれぞれについて共有割込み判定テーブル11を作成し、受信した情報を共有割込み判定テーブル11に登録する(ステップS102)。なお、共有割込み判定テーブル11が既に作成されている場合は、共有割込み判定テーブル登録部12は、OS21A〜21Cからの指示に従い、受信した情報の更新を行う。 The shared interrupt determination table registration unit 12 creates a shared interrupt determination table 11 for each of the devices 3A to 3C in accordance with instructions from the OS 21A to 21C, and registers the received information in the shared interrupt determination table 11 (step S102). If the shared interrupt determination table 11 has already been created, the shared interrupt determination table registration unit 12 updates the received information in accordance with instructions from the OSs 21A to 21C.

・共有割込み発生時の全体処理 ・ Overall processing when a shared interrupt occurs

図5に示すように、デバイス部30のいずれかのデバイス3A〜3Cに割込みが発生すると、割込みを発生したデバイス3はPCIバス8の割込み信号線7を介して共有割込み判定部13に割込み信号を送信する(ステップS111、第1の送信ステップ)。 As shown in FIG. 5, when an interrupt occurs in any of the devices 3 </ b> A to 3 </ b> C of the device unit 30, the device 3 that generated the interrupt sends an interrupt signal to the shared interrupt determination unit 13 via the interrupt signal line 7 of the PCI bus 8. Is transmitted (step S111, first transmission step).

共有割込み判定部13は、割込み信号を受信すると共有割込み判定テーブル11を参照し、この参照結果に基づき割込みを発生したデバイスを判定する(ステップS112、受信ステップ及び判定ステップ)。
具体的には、共有割込み判定部13が共有割込み判定テーブル11に割込み信号を送信すると、共有割込み判定テーブル11が(a)割込み発生フラグレジスタのI/Oアドレス情報、(b)割込み発生を判定するためのビットマスク値、(c)割込み未発生時の割込み発生フラグレジスタの値、を参照結果として返信する。
When the shared interrupt determination unit 13 receives the interrupt signal, the shared interrupt determination unit 13 refers to the shared interrupt determination table 11, and determines a device that has generated an interrupt based on the reference result (step S112, reception step and determination step).
Specifically, when the shared interrupt determination unit 13 transmits an interrupt signal to the shared interrupt determination table 11, the shared interrupt determination table 11 determines (a) I / O address information of the interrupt generation flag register, and (b) determines whether an interrupt has occurred. A bit mask value to be used and (c) the value of the interrupt generation flag register when no interrupt has occurred are returned as a reference result.

共有割込み判定部13は、受信した(a)割込み発生フラグレジスタのI/Oアドレスにアクセスし、このI/Oアドレスに対応するデバイス3A〜3C内のレジスタのデータを読み出す。読み出したI/Oアドレスのデータには割込み発生フラグレジスタ以外の値も含まれているため、読み出したI/Oアドレスのデータと、共有割込み判定テーブル11から受信した(b)割込み発生を判定するためのビットマスク値との論理積(AND)をとる。 The shared interrupt determination unit 13 accesses the received (a) I / O address of the interrupt generation flag register, and reads the data in the registers in the devices 3A to 3C corresponding to this I / O address. Since the read I / O address data includes values other than the interrupt occurrence flag register, the read I / O address data and the interrupt received from the shared interrupt determination table 11 are determined (b). The logical product (AND) with the bit mask value for this is taken.

次に、この論理積と共有割込み判定テーブル11から受信した(c)割込み未発生時の割込み発生フラグレジスタの値を比較し、一致する場合はこのデバイスは割込みを発生したデバイスではないと判定し、不一致の場合はこのデバイスが割込みを発生したデバイスであると判定する。 Next, the logical product is compared with the value of the interrupt generation flag register received from the shared interrupt determination table 11 (c) when no interrupt occurs, and if they match, it is determined that this device is not the device that generated the interrupt. If they do not match, it is determined that this device is the device that generated the interrupt.

ここで、デバイス3Aが割込みを発生したとして、以下の説明を行う。
共有割込み判定部13は、割込みを発生したデバイス3Aを特定すると、割込み発生模擬部14に判定結果を通知する(ステップS113)。判定結果の通知を受けた割込み発生模擬部14は、OS21Aから割込み発生を確認する確認信号が送信された場合に自身が呼び出されるように仮想マシンモニタ10に対して設定を行う(ステップS114)。この設定は、例えばメモリコントロールユニット(MMU)やCPUの特権モード、Intel VT(Virtualization Technology)やAMD-V(Virtualization)機能によるI/Oアクセス保護機能を用いて、このI/Oアドレスへのアクセス保護を行うことで実現できる。
Here, the following description will be given assuming that the device 3A generates an interrupt.
When the shared interrupt determination unit 13 specifies the device 3A that has generated the interrupt, the shared interrupt determination unit 13 notifies the interrupt generation simulation unit 14 of the determination result (step S113). The interrupt generation simulation unit 14 that has received the notification of the determination result sets the virtual machine monitor 10 to be called when the confirmation signal for confirming the occurrence of the interrupt is transmitted from the OS 21A (step S114). For this setting, for example, the memory control unit (MMU) or the privileged mode of the CPU, the I / O access protection function by Intel VT (Virtualization Technology) or AMD-V (Virtualization) function is used to access this I / O address. This can be achieved by providing protection.

割込み発生模擬部14は設定が完了すると共有割込み判定部13にこれを通知し、共有割込み判定部13は、割込み発生デバイスに対応するデバイスドライバ22Aを備えたOS21Aに割込み発生信号を送信する(ステップS115、第2の送信ステップ)。
なお、割込みを発生したデバイスがデバイス3B、3Cの場合は、これらの割込み発生デバイスに対応するデバイスドライバ22B、22C、及びこれを備えたOS21B、21Cが上記デバイスドライバ22A及びOS21Aと同様に動作する。
When the setting is completed, the interrupt generation simulation unit 14 notifies the shared interrupt determination unit 13 of this, and the shared interrupt determination unit 13 transmits an interrupt generation signal to the OS 21A provided with the device driver 22A corresponding to the interrupt generation device (step). S115, second transmission step).
When the devices that generate interrupts are the devices 3B and 3C, the device drivers 22B and 22C corresponding to these interrupt generating devices and the OS 21B and 21C including the devices operate in the same manner as the device drivers 22A and OS 21A. .

OS21Aは、割込み発生信号を受信すると(ステップS116)、割込みを発生したデバイス3Aへ割込みを発生しているか否かを確認するため、デバイス3Aに設けられた割込み発生フラグレジスタを読み出す確認信号(第1の確認信号)をOS21Aからデバイスドライバ22Aを介して、もしくはデバイスドライバ22Aから直接、デバイス3Aに向けて送信する(ステップS117、確認ステップ)。
なお、割込みを発生したデバイスがデバイス3B、3Cの場合は、デバイスドライバ22B又はOS21Bからデバイス3Bの確認信号(第2の確認信号)、デバイスドライバ22C又はOS21Cからデバイス3Cの確認信号が送信される。
When the OS 21A receives the interrupt generation signal (step S116), the OS 21A confirms whether or not an interrupt has occurred to the device 3A that has generated the interrupt, and a confirmation signal (first step) for reading the interrupt generation flag register provided in the device 3A. 1 confirmation signal) is transmitted from the OS 21A to the device 3A via the device driver 22A or directly from the device driver 22A (step S117, confirmation step).
If the device that generated the interrupt is the device 3B or 3C, a device 3B confirmation signal (second confirmation signal) is transmitted from the device driver 22B or OS21B, and a device 3C confirmation signal is transmitted from the device driver 22C or OS21C. .

仮想マシンモニタ10は、この確認信号を検知すると割込み発生模擬部14に通知し(ステップS118)、割込み発生模擬部14は、ステップS114による設定、すなわち確認信号を検知した場合に自身を呼び出す仮想マシンモニタ10への設定を解除する(ステップS119)。 When the virtual machine monitor 10 detects this confirmation signal, the virtual machine monitor 10 notifies the interrupt generation simulation unit 14 (step S118), and the interrupt generation simulation unit 14 calls itself when the setting in step S114 is detected, that is, when the confirmation signal is detected. The setting for the monitor 10 is canceled (step S119).

次に、割込み発生模擬部14は受信した確認信号に対し、ステップS113により通知された判定結果に従い、割込みを発生したデバイス3Aを模擬してこのデバイスの割込み発生フラグレジスタの値をOS21A又はデバイスドライバ22Aへ返信する(ステップS120、応答ステップ)。 Next, the interrupt generation simulation unit 14 simulates the device 3A that generated the interrupt according to the determination result notified in step S113 with respect to the received confirmation signal, and sets the value of the interrupt generation flag register of this device to the OS 21A or device driver. A reply is made to 22A (step S120, response step).

割込み発生模擬部14から割込み発生フラグレジスタの値を受信してOS21A又はデバイスドライバ22Aは対応するデバイス3Aの割込み発生を確認し(ステップS121)、このデバイス3Aに対して割込み処理を実行する(ステップS122)。 Upon receiving the value of the interrupt generation flag register from the interrupt generation simulation unit 14, the OS 21A or the device driver 22A confirms the generation of the interrupt of the corresponding device 3A (step S121), and executes interrupt processing for the device 3A (step S121). S122).

・共有割込み判定テーブルからの情報の削除 ・ Deleting information from the shared interrupt judgment table

ここで、デバイス3の交換等により、共有割込み判定テーブル11の登録情報が不要になった場合の削除手順について、図6を用いて説明する。 Here, a deletion procedure when registration information in the shared interrupt determination table 11 becomes unnecessary due to replacement of the device 3 or the like will be described with reference to FIG.

OS21は、デバイスドライバ22の無効化やアンロードを行い、これに伴い実行されるアプリケーション部23又はデバイスドライバ22からの指示(指令)により、共有割込み判定テーブル登録部12を呼び出す(ステップS131)。 The OS 21 invalidates and unloads the device driver 22, and calls the shared interrupt determination table registration unit 12 according to an instruction (command) from the application unit 23 or the device driver 22 executed in accordance with the invalidation or unload (step S131).

共有割込み判定テーブル登録部12は、割込み発生模擬部14から仮想マシンモニタ10に対してステップS114による設定(確認信号を検知した場合に自身を呼び出す設定)がなされている場合は設定の解除を通知し(ステップS132)、この通知を受けた割込み発生模擬部14は仮想マシンモニタ10に対する設定を解除する(ステップS133)。 The shared interrupt determination table registration unit 12 notifies the virtual machine monitor 10 of the interrupt generation simulation unit 14 that the setting is canceled when the setting in step S114 (setting to call itself when a confirmation signal is detected) is made. In response to this notification, the interrupt generation simulation unit 14 cancels the setting for the virtual machine monitor 10 (step S133).

割込み発生模擬部14の仮想マシンモニタ10に対する設定解除を割込み発生模擬部14又は仮想マシンモニタ10からの通知もしくは自身の検知により確認すると、共有割込み判定テーブル登録部12はOS21からの指示に従い、共有割込み判定テーブル11から指示されたデバイス3に関する情報を削除する(ステップS134)。デバイス3に関する情報とは、例えば、デバイス3の識別子、I/Oレジスタのアドレス情報、割込み発生フラグレジスタのビット情報、I/Oレジスタの割込み未発生時のデータ情報、等のことである。
なお、デバイス3に関する全ての情報を削除する場合は、共有割込み判定テーブル11を削除しても良い。
When the cancellation of the setting of the interrupt generation simulation unit 14 for the virtual machine monitor 10 is confirmed by the notification from the interrupt generation simulation unit 14 or the virtual machine monitor 10 or by its own detection, the shared interrupt determination table registration unit 12 is shared according to the instruction from the OS 21. Information about the device 3 instructed from the interrupt determination table 11 is deleted (step S134). The information regarding the device 3 includes, for example, the identifier of the device 3, the address information of the I / O register, the bit information of the interrupt generation flag register, the data information when no interrupt of the I / O register has occurred.
Note that the shared interrupt determination table 11 may be deleted when all information related to the device 3 is deleted.

本実施の形態によれば、計算機システム1は、仮想マシンモニタ10が割込みを発生したデバイス3を判定する共有割込み判定部13と、この割込み発生デバイスに関する情報を保持し、OS21又はデバイスドライバ22から送信される割込み発生の確認信号に対してこのデバイス3を模擬した応答を返す割込み発生模擬部14とを備えたことにより、OS21はデバイス3の割込み発生フラグレジスタに直接アクセスせず、仮想マシンモニタ10との間でデバイス3の割込み発生有無を確認することが可能となる。これにより、デバイス3に設けられた割込み発生フラグレジスタがリードによりクリアされるレジスタであっても、OS21から割込みを発生したデバイス3を確認できる。 According to the present embodiment, the computer system 1 retains the shared interrupt determination unit 13 that determines the device 3 on which the virtual machine monitor 10 has generated an interrupt, and information on the interrupt generation device, from the OS 21 or the device driver 22. The OS 21 does not directly access the interrupt generation flag register of the device 3 by providing the interrupt generation simulation unit 14 that returns a response simulating the device 3 in response to the interrupt generation confirmation signal that is transmitted. It is possible to confirm whether or not the interrupt of the device 3 has occurred. Thereby, even if the interrupt generation flag register provided in the device 3 is a register that is cleared by reading, the device 3 that has generated the interrupt from the OS 21 can be confirmed.

また、計算機システム1が使用するデバイス3を追加しても、OS部20や仮想マシンモニタ10の構成を変更することなく、共有割込み判定テーブル11の情報を更新することで、デバイス3の割込みを判定することもできる。 Even if the device 3 used by the computer system 1 is added, the interrupt of the device 3 can be interrupted by updating the information in the shared interrupt determination table 11 without changing the configuration of the OS unit 20 or the virtual machine monitor 10. It can also be determined.

なお、上記実施の形態では、一例として、「情報テーブル」を「共有割込み判定テーブル」、「情報テーブル登録更新部」を「共有割込み判定テーブル登録部」、「割込み判定部」を「共有割込み判定部」として説明した。名称は上記のものに限らず、同様の機能を果たすものであれば「〜手段」、「〜プログラム」等であっても良い。 In the above embodiment, as an example, the “information table” is “shared interrupt determination table”, the “information table registration update unit” is “shared interrupt determination table registration unit”, and the “interrupt determination unit” is “shared interrupt determination”. Part ". The name is not limited to the above, but may be “˜means”, “˜program” or the like as long as the same function is achieved.

計算機システム
計算機
3、3A〜3C デバイス
7 割込み信号線
8 PCI(Peripheral Component Interconnect)バス
10 仮想マシンモニタ
11 共有割込み判定テーブル
12 共有割込み判定テーブル登録部
13 共有割込み判定部
14 割込み発生模擬部
20 OS部(オペレーティングシステム部)
21、21A〜21C OS
22、22A〜22C デバイスドライバ
1 computer system 2 computers 3, 3A to 3C device 7 interrupt signal line 8 PCI (Peripheral Component Interconnect) bus
10 Virtual machine monitor
11 Shared interrupt judgment table
12 Shared interrupt judgment table registration part
13 Shared interrupt judgment block
14 Interrupt generation simulator
20 OS (Operating System)
21, 21A-21C OS
22, 22A-22C Device driver

Claims (5)

複数のデバイスと、Multiple devices,
前記複数のデバイスが共有する割込み信号線を介して接続され、Connected via an interrupt signal line shared by the plurality of devices,
前記複数のデバイスに割込みが発生した場合に、該複数のデバイスのうちいずれかからの割込みであるかを判定し、複数のOSのうち前記割込みを発生したデバイスに対応するOSを起動させる計算機と、A computer that, when an interrupt occurs in the plurality of devices, determines whether the interrupt is from any of the plurality of devices, and activates an OS corresponding to the device that generated the interrupt among the plurality of OSs; ,
を備えた計算機システムにおいて、In a computer system equipped with
前記計算機は、The calculator is
前記複数のデバイスのうち割込みが発生したデバイスを判定するための情報を記憶した情報テーブルと、An information table storing information for determining a device in which an interrupt has occurred among the plurality of devices;
前記複数のデバイスのうちいずれかから割込みが発生した場合に、前記情報テーブルを参照して割込みを発生したデバイスを判定し、前記割込みを発生したデバイスに対応するOSに割込みが発生したことを示す割込み発生信号を送信する割込み判定部と、When an interrupt is generated from any of the plurality of devices, the information table is referred to determine a device that has generated the interrupt, and indicates that an interrupt has occurred in the OS corresponding to the device that has generated the interrupt An interrupt determination unit for transmitting an interrupt generation signal;
前記割込み発生信号を受信したOSから送信される前記割込みを発生したデバイスを確認するための確認信号を受信し、前記割込み判定部によって判定された前記割込みを発生したデバイスに関する情報を前記割込みが発生したデバイスに対応するOSに送信する割込み発生模擬部と、The interrupt that receives the confirmation signal for confirming the device that has generated the interrupt is transmitted from the OS that has received the interrupt generation signal, and the interrupt generates information on the device that has generated the interrupt determined by the interrupt determination unit An interrupt generation simulator that transmits to the OS corresponding to the device
を有することを特徴とする計算機システム。A computer system characterized by comprising:
前記複数のデバイスは、割込み発生の有無を識別するための割込み発生フラグレジスタを備え、The plurality of devices include an interrupt generation flag register for identifying whether or not an interrupt has occurred,
前記割込みが発生したデバイスを判定するための情報は、前記割込み発生フラグレジスタのアドレス情報を有し、The information for determining the device in which the interrupt has occurred has address information of the interrupt generation flag register,
前記割込み判定部は、前記複数のデバイスのうちいずれかから割込みが発生した場合に、前記情報テーブルを参照して前記割込み発生フラグレジスタのアドレス情報に基づいて前記割込みが発生したデバイスの前記割込み発生フラグレジスタにアクセスして割込みが発生したデバイスを判定することを特徴とする請求項1に記載の計算機システム。The interrupt determination unit, when an interrupt occurs from any of the plurality of devices, refers to the information table, the interrupt generation of the device that has generated the interrupt based on the address information of the interrupt generation flag register The computer system according to claim 1, wherein a device in which an interrupt has occurred is determined by accessing a flag register.
前記計算機は、The calculator is
前記情報テーブルに記憶された前記割込みが発生したデバイスを判定するための情報の登録、変更、又は削除の指示を行う情報テーブル登録更新部を有することを特徴とする請求項1に記載の計算機システム。2. The computer system according to claim 1, further comprising: an information table registration / updating unit that instructs to register, change, or delete information for determining a device in which the interrupt occurs that is stored in the information table. .
割込み信号線を共有する複数のデバイスと該割込み信号線で接続され、前記複数のデバイスのうち割込みが発生したデバイスに対応するOSを起動させる計算機において、In a computer that is connected to a plurality of devices that share an interrupt signal line by the interrupt signal line and that starts an OS corresponding to a device that has generated an interrupt among the plurality of devices,
前記複数のデバイスのうち割込みを発生したデバイスを判定するための情報を記憶した情報テーブルと、An information table storing information for determining a device that has generated an interrupt among the plurality of devices;
前記複数のデバイスのうちいずれかから割込みが発生した場合に、前記情報テーブルを参照して割込みを発生したデバイスを判定し、前記割込みを発生したデバイスに対応するOSに割込みが発生したことを示す割込み発生信号を送信する割込み判定部と、When an interrupt is generated from any of the plurality of devices, the information table is referred to determine a device that has generated the interrupt, and indicates that an interrupt has occurred in the OS corresponding to the device that has generated the interrupt An interrupt determination unit for transmitting an interrupt generation signal;
前記割込み発生信号を受信したOSから送信される前記割込みを発生したデバイスを確認するための確認信号を受信し、前記割込み判定部によって判定された前記割込みを発生したデバイスに関する情報を該OSに送信する割込み発生模擬部と、The confirmation signal for confirming the device that has generated the interrupt is transmitted from the OS that has received the interrupt generation signal, and information related to the device that has generated the interrupt determined by the interrupt determination unit is transmitted to the OS Interrupt generation simulator
を有することを特徴とする計算機。A computer characterized by comprising:
複数のデバイスと、Multiple devices,
前記複数のデバイスが共有する割込み信号線を介して接続され、Connected via an interrupt signal line shared by the plurality of devices,
前記複数のデバイスに割込みが発生した場合に、該複数のデバイスのうちいずれかからの割込みであるかを判定し、前記割込みを発生したデバイスに対応するOSを起動させる計算機と、を備えた計算機システムの割込み処理方法において、A computer that, when an interrupt occurs in the plurality of devices, determines whether the interrupt is from any of the plurality of devices, and starts up an OS corresponding to the device that generated the interrupt; In the system interrupt handling method,
前記複数のデバイスのうちいずれかから割込みが発生した場合に、前記複数のデバイスのうち割込みを発生したデバイスを判定するための情報を記憶した情報テーブルを参照し、割込みを発生したデバイスを判定する判定ステップと、When an interrupt occurs from any of the plurality of devices, the information table storing information for determining the device that has generated the interrupt among the plurality of devices is referred to, and the device that has generated the interrupt is determined. A determination step;
前記割込みを発生したデバイスに対応するOSに割込みが発生したことを示す割込み発生信号を送信するステップと、Transmitting an interrupt generation signal indicating that an interrupt has occurred to an OS corresponding to the device that has generated the interrupt;
前記割込み発生信号を受信したOSが送信する割込みを発生したデバイスを確認するための確認信号を受信するステップと、Receiving a confirmation signal for confirming a device that has generated an interrupt transmitted by the OS that has received the interrupt generation signal;
前記割込み判定部によって判定された前記割込みを発生したデバイスに関する情報を該OSに送信する応答ステップと、A response step of transmitting, to the OS, information related to the device that has generated the interrupt determined by the interrupt determination unit;
を有することを特徴とする計算機システムの割込み処理方法。An interrupt processing method for a computer system, comprising:
JP2011113566A 2011-05-20 2011-05-20 Computer system, computer, and interrupt processing method for computer system Expired - Fee Related JP5617761B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011113566A JP5617761B2 (en) 2011-05-20 2011-05-20 Computer system, computer, and interrupt processing method for computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011113566A JP5617761B2 (en) 2011-05-20 2011-05-20 Computer system, computer, and interrupt processing method for computer system

Publications (2)

Publication Number Publication Date
JP2012243135A JP2012243135A (en) 2012-12-10
JP5617761B2 true JP5617761B2 (en) 2014-11-05

Family

ID=47464768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011113566A Expired - Fee Related JP5617761B2 (en) 2011-05-20 2011-05-20 Computer system, computer, and interrupt processing method for computer system

Country Status (1)

Country Link
JP (1) JP5617761B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4969258B2 (en) * 2007-01-30 2012-07-04 株式会社日立製作所 I / O device failure processing method for virtual machine system
JP2009181373A (en) * 2008-01-31 2009-08-13 Hitachi Ltd Method of storing/reproducing network reception history, and information processor
JP5251188B2 (en) * 2008-03-18 2013-07-31 富士通株式会社 Information processing apparatus, information processing apparatus control method, and computer program

Also Published As

Publication number Publication date
JP2012243135A (en) 2012-12-10

Similar Documents

Publication Publication Date Title
EP3540599B1 (en) Virtual machine live migration method and corresponding system
US10678583B2 (en) Guest controlled virtual device packet filtering
US10235515B2 (en) Method and apparatus for on-demand isolated I/O channels for secure applications
EP2430543B1 (en) Managing processing associated with hardware events
US8478922B2 (en) Controlling a rate at which adapter interruption requests are processed
US8458387B2 (en) Converting a message signaled interruption into an I/O adapter event notification to a guest operating system
JP5737050B2 (en) Information processing apparatus, interrupt control method, and interrupt control program
CN101202764A (en) Method and system for defining link state of virtual Ethernet adapter
JP5907179B2 (en) Virtual machine control program, virtual machine control method, and information processing apparatus
EP2785018A2 (en) Information processing device, transmission control method, and transmission control program
KR20130007792A (en) Apparatus and method for generating interrupt which supports multi processors
CN113391881A (en) Interrupt management method and device, electronic equipment and computer storage medium
US8139595B2 (en) Packet transfer in a virtual partitioned environment
JP5617761B2 (en) Computer system, computer, and interrupt processing method for computer system
US11301282B2 (en) Information protection method and apparatus
EP3413532A1 (en) Monitoring control-flow integrity
EP3255544B1 (en) Interrupt controller
CN114329439A (en) System on chip, interrupt isolation method and computer equipment
EP3413531A1 (en) Intrusion detection systems
WO2009113571A1 (en) Information processing device and method capable of operating a plurality of basic software programs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131021

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20140326

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140616

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: 20140819

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140901

R151 Written notification of patent or utility model registration

Ref document number: 5617761

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees