qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PULL 1/7] exec: Limit translation limiting in address_


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PULL 1/7] exec: Limit translation limiting in address_space_translate to xen
Date: Wed, 07 May 2014 17:22:35 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0

Il 07/05/2014 17:12, Peter Maydell ha scritto:
> -    if (memory_access_is_direct(mr, is_write)) {
> +    if (xen_enabled() && memory_access_is_direct(mr, is_write)) {
>          hwaddr page = ((addr & TARGET_PAGE_MASK) + TARGET_PAGE_SIZE) - addr;
>          len = MIN(page, len);
>      }
We should put this patch in (both as an efficiency thing and an
expedient fix) but we really need to either track down which
callers of this API are relying on the returned plen not being
truncated, or we need to fix Xen to not truncate either. This
is just a bandaid IMHO.

Fixing Xen to not truncate is not possible because of the Xen mapcache, unless of course QEMU is changed to avoid the mapcache completely on 64-bit hosts. I'm not sure if that makes sense from the Xen point of view.

Regarding fixing callers, a known one is virtio-scsi which is a bug and on my todo list. But another is VFIO, which cannot accept truncation if the IOMMU page size is greater than TARGET_PAGE_SIZE.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]