×

Virtual machine control device, virtual machine control program, and virtual machine control circuit for managing interrupts of plural virtual machines

  • US 8,504,752 B2
  • Filed: 06/23/2009
  • Issued: 08/06/2013
  • Est. Priority Date: 06/24/2008
  • Status: Expired due to Fees
First Claim
Patent Images

1. A virtual machine control device comprising:

  • a virtual machine control unit that controls switching of a plurality of virtual machines operating on a CPU;

    a plurality of interrupt controllers that output an interrupt request notifying a generation of an interrupt as one virtual machine from among the plurality of virtual machines performs processing;

    an interrupt control unit that receives the interrupt request from the plurality of interrupt controllers and controls notification of the interrupt to the virtual machine control unit on the basis of an interrupt level indicating a priority of the generated interrupt; and

    an idle detection unit that detects that the CPU has executed a command for implementing a transition to an idle state and outputs the interrupt request to the interrupt control unit, whereinthe virtual machine control unit includes;

    a first interrupt type determination unit that determines a type of the interrupt notified from the interrupt control unit;

    an interrupt return destination storing unit that stores a program counter value immediately preceding the interrupt generation when the generated interrupt is determined to be an interrupt relating to a presently active virtual machine on the basis of the interrupt type determined by the first interrupt type determination unit;

    an interrupt mask level setting table that stores in advance as a first interrupt mask level a priority of an interrupt processing executed in each virtual machine and a priority of a task processing executed in each virtual machine;

    a first interrupt mask level setting unit that notifies to the interrupt control unit the first interrupt mask level corresponding to a next processing to be executed by the virtual machine from among the interrupt mask levels in the interrupt mask level setting table when the interrupt processing by the virtual machine has ended, andan update unit that requests the interrupt control unit to update an interrupt level in the interrupt control unit to the newest state, andthe interrupt control unit includes;

    an interrupt level storing unit that stores one or more interrupt levels indicating the priority of the generated interrupt and stores as a second interrupt mask level the interrupt level having the highest priority among the stored interrupt levels;

    a second interrupt mask level setting unit that sets in the interrupt level storing unit as an interrupt level the first interrupt mask level notified by the first interrupt mask level setting unit;

    an interrupt level setting unit that takes information indicating from where the interrupt request has been notified as an interrupt type and stores an interrupt level corresponding to each interrupt type;

    a second interrupt type determination unit that receives a newly generated interrupt request, determines from where, among the plurality of interrupt controllers and the idle detection unit, the newly generated interrupt request has been notified, determines an interrupt type, and sets in the interrupt level storing unit an interrupt level stored in the interrupt level setting unit corresponding to the determined interrupt type, anda priority determination unit that compares the second interrupt mask level stored in the interrupt level storing unit with the interrupt level of the newly generated interrupt notified from the second interrupt type determination unit, and notifies the interrupt to the virtual machine control unit when the interrupt level of the newly generated interrupt is higher than the second interrupt mask level stored in the interrupt level storing unit;

    the virtual machine includes a first virtual machine and a second virtual machine;

    the plurality of interrupt controllers include a first interrupt controller corresponding to the first virtual machine, and a second interrupt controller corresponding to the second virtual machine;

    the second interrupt controller includes an interrupt level notifying unit that notifies an interrupt level that has been set with respect to each interrupt processed by the second virtual machine at the time of interrupt generation;

    the interrupt control unit further includes a notification level reception unit that receives the interrupt level from the interrupt level notifying unit and notifies the received interrupt level to the second interrupt type determination unit;

    the second interrupt type determination unit outputs the interrupt level notified by the notification level reception unit to the interrupt level setting unit, andthe interrupt level setting unit takes the interrupt level outputted by the second interrupt type determination unit as an interrupt level relating to a notification from the second interrupt controller.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×