Patent ID: 7653803
Filing Date: 2010-01-26
Classification: G06F

Abstract:
1. An input/output (I/O) memory management unit (IOMMU) comprising: at least one memory configured to store translation data; and control logic coupled to the memory and configured to translate an I/O device-generated memory request using the translation data, and wherein the translation data corresponds to: (i) one or more device table entries in a device table stored in a memory system of a computer system that includes the IOMMU, wherein the device table entry for a given request is selected by an identifier corresponding to the I/O device that generates the request; and (ii) one or more I/O page tables, wherein the selected device table entry for the given request includes a pointer to a set of I/O page tables to be used to translate the given request, and wherein the selected device table entry for the given request further comprises a second pointer to an interrupt remapping table that stores data for remapping interrupts signalled by the I/O device, wherein the control logic is configured to remap a first interrupt signalled by the I/O device responsive to receiving the first interrupt in the IOMMU and further responsive to the data in the selected device table entry.