[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v8 13/14] tools/libxl: explicitly grant access to needed I/O-memory ranges





On 26/05/14 11:11, Jan Beulich wrote:
On 25.05.14 at 19:08, <julien.grall@xxxxxxxxxx> wrote:
On 25/05/14 11:51, Arianna Avanzini wrote:
+
+        /*
+         * If VGA passthru is enabled by domain config, be sure that the
+         * domain can access VGA-related iomem regions.
+         */
+        if (d_config->b_info.u.hvm.gfx_passthru.val) {
+            uint64_t vga_iomem_start = 0xa0000 >> XC_PAGE_SHIFT;
+            ret = xc_domain_iomem_permission(CTX->xch, domid,
+                                             vga_iomem_start, 0x20, 1);
+            if (ret < 0) {
+                LOGE(ERROR,
+                     "failed to give dom%d access to iomem range "
+                     "%"PRIx64"-%"PRIx64" for VGA passthru",
+                     domid, vga_iomem_start, (vga_iomem_start + 0x20 - 1));
+                goto error_out;
+            }
+        }

IHMO, the guest doesn't need to have permission to this region. When
QEMU ask to map this region to the guest, the hypercall will only check
the permission on the domain where QEMU is running. Therefore, the
permission should be given to the stubdomain.

How would qemu be involved in I/O from/to a passed through
device?

AFAIU, the mapping of the range 0xa0000-* will be done by QEMU for an HVM guest (i.e calling xc_domain_memory_mapping).

--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.