发明名称 Virtual input/output memory management unit within a guest virtual machine
摘要 A virtual input/output memory management unit (IOMMU) is configured to provide a firewall around memory requests associated with an input/output (I/O) device. The virtual IOMMU uses data structures including a guest page table, a host page table and a general control register (i.e., GCR3) table. The guest page table is implemented in hardware to support the speed requirements of the virtual IOMMU. The GCR3 table is indexed using a virtual DeviceID parameter stored in a device table.
申请公布号 US9424199(B2) 申请公布日期 2016.08.23
申请号 US201213597575 申请日期 2012.08.29
申请人 Advanced Micro Devices, Inc. 发明人 Kegel Andrew G.;Hummel Mark D.
分类号 G06F12/00;G06F12/10 主分类号 G06F12/00
代理机构 Volpe and Koenig, P.C. 代理人 Volpe and Koenig, P.C.
主权项 1. A method, comprising: receiving, by a virtual I/O memory management unit (IOMMU) within a virtual machine (VM), a memory request by an input/output (I/O) device, wherein the memory request includes a guest virtual address and the I/O device is directly assigned to the VM; translating, by the virtual IOMMU, the guest virtual address to a guest physical address using a guest page table, the guest page table being maintained by a guest OS (operating system) and accessed based on an indexed entry associated with a virtual I/O device identification in a device table in the virtual IOMMU, wherein the guest page table is implemented in hardware form and the device table is virtualized using software; and translating, by the virtual IOMMU, the guest physical address to a system physical address using a host page table, the host page table being maintained by a hypervisor; validating, by the virtual IOMMU, the guest virtual address using the guest page table to determine whether the guest virtual address is within a valid range of addresses authorized by the guest OS for the I/O device; and if the guest virtual address is not within a valid range of addresses authorized by the guest OS for the I/O device, precluding the memory request from accessing the guest virtual address.
地址 Sunnyvale CA US