|
[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 at 12:58, <julien.grall@xxxxxxxxxx> wrote:
>
> 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).
If qemu is mapping this _machine_ range to every guest (or every
guest getting a GFX device passed through) that would be wrong
then too afaict.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |