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: Stefano Stabellini
Subject: Re: [Qemu-devel] [PULL 1/7] exec: Limit translation limiting in address_space_translate to xen
Date: Wed, 7 May 2014 16:30:36 +0100
User-agent: Alpine 2.02 (DEB 1266 2009-07-14)

On Wed, 7 May 2014, Paolo Bonzini wrote:
> 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.

Right, it makes sense, however we would still need to keep the 32-bit
mapcache code path working.


> 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.



reply via email to

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