Patent ID: 8180944

Claim:
A method comprising: receiving an interrupt message in an input/output memory management unit (IOMMU), the interrupt message communicating an interrupt, wherein the interrupt is sourced by a peripheral device that is assigned to a first guest of a plurality of guests in a system; accessing, by the IOMMU, one or more first data structures in memory to map the interrupt message to the first guest, wherein the one or more first data structures also include a pointer to another memory location; locating, by a guest interrupt manager, one or more second data structures in memory responsive to the pointer, wherein the one or more second data structures include interrupt controller state for the first guest; recording the interrupt in the one or more second data structures, permitting the interrupt to be delivered to the first guest at a time that the first guest is executing; and in addition to recording the interrupt, communicating the interrupt to a first interrupt controller that is assigned to the first guest and that is a destination for the interrupt within the first guest in response to determining that the first guest is executing at a time that the interrupt message is received.