[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] hw/pt-graphics.c: Gave guest iomem permission for host opregion in qemu-xen-traditional
Currently guest couldn't access host opregion when igd is passed through to guest with qemu-xen-traditional. Because guest lack of iomem permission to map guest allocated opregion pages to host opregion pages. So guest should get iomem permission for host opregion before mapping. Signed-off-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> --- hw/pt-graphics.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/hw/pt-graphics.c b/hw/pt-graphics.c index 7302b25..893bf12 100644 --- a/hw/pt-graphics.c +++ b/hw/pt-graphics.c @@ -78,10 +78,20 @@ void igd_write_opregion(struct pt_dev *real_dev, uint32_t val) igd_guest_opregion = (val & ~0xfff) | (host_opregion & 0xfff); PT_LOG("Map OpRegion: %x -> %x\n", host_opregion, igd_guest_opregion); + ret = xc_domain_iomem_permission(xc_handle, domid, + host_opregion >> XC_PAGE_SHIFT, 3, 1); + if (ret) + { + PT_LOG("Error[%d]: Can't enable to access IGD host opregion: 0x%x\n", + ret, host_opregion >> XC_PAGE_SHIFT); + igd_guest_opregion = 0; + return; + } + ret = xc_domain_memory_mapping(xc_handle, domid, igd_guest_opregion >> XC_PAGE_SHIFT, host_opregion >> XC_PAGE_SHIFT, - 2, + 3, DPCI_ADD_MAPPING); if ( ret != 0 ) -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |