Patent ID: 9424211
Filing Date: 2016-08-23
CPC Classification: G06F

Claim Text:
1. An apparatus comprising: a physical device controller; a processor to execute a plurality of virtual machines, each virtual machine having a virtual device controller associated with the physical device controller, and a virtual machine monitor; a local interrupt controller; a system memory; programmable configuration storage in which to store a plurality of entries, including a first entry including a physical address value, a physical data value, a virtual address value, and a virtual data value, the physical address value associated with the local interrupt controller according to the virtual machine monitor's view of the system memory, the physical data value corresponding to a first address of an interrupt handler according to the virtual machine monitor's view of the system memory, the virtual address value associated with the local interrupt controller according to one of the plurality of virtual machines' view of the system memory, and the virtual data value corresponding to a second address of the interrupt handler according to the one of the plurality of virtual machines' view of the system memory, wherein additional entries include the first physical address value and the first physical data value to associate additional virtual machine's virtual device controllers with the physical device controller; virtualization circuitry to trap a first interrupt message without the virtual machine monitor intercepting the first interrupt message, the first interrupt message having the physical address value in an address field of the first interrupt message and the physical data value in a data field of the first interrupt message, from the physical device controller to the processor, and in response, send a second interrupt message, including the virtual address value in an address field of the second interrupt message and the virtual data value in a data field of the second interrupt message, to the processor from one of a plurality of virtual device controllers associated with the physical device controller, the second interrupt message corresponding to but separate from the first interrupt message.