qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2] exec: fix address_space_get_iotlb_entry page


From: Peter Xu
Subject: Re: [Qemu-devel] [PATCH v2] exec: fix address_space_get_iotlb_entry page mask
Date: Wed, 31 May 2017 14:23:57 +0800
User-agent: Mutt/1.5.24 (2015-08-30)

On Tue, May 30, 2017 at 06:23:14PM +0200, Paolo Bonzini wrote:
> 
> 
> On 29/05/2017 06:02, Peter Xu wrote:
> > The IOTLB that it returned didn't guarantee that page_mask is indeed a
> > so-called page mask. That won't affect current usage since now only
> > vhost is using it (vhost API allows arbitary IOTLB range). However we
> > have IOTLB scemantic and we should best follow it. This patch fixes this
> > issue to make sure the page_mask is always a valid page mask.
> > 
> > Fixes: a764040 ("exec: abstract address_space_do_translate()")
> > Signed-off-by: Peter Xu <address@hidden>
> > ---
> > Sorry please use this one. The codes is merely the same, just avoided
> > moving the codes around unnecessarily.
> > ---
> >  exec.c | 14 ++++++--------
> >  1 file changed, 6 insertions(+), 8 deletions(-)
> > 
> > diff --git a/exec.c b/exec.c
> > index ff16f04..3db247c 100644
> > --- a/exec.c
> > +++ b/exec.c
> > @@ -529,16 +529,14 @@ IOMMUTLBEntry 
> > address_space_get_iotlb_entry(AddressSpace *as, hwaddr addr,
> >          section.offset_within_region;
> >  
> >      if (plen == (hwaddr)-1) {
> > -        /*
> > -         * We use default page size here. Logically it only happens
> > -         * for identity mappings.
> > -         */
> > -        plen = TARGET_PAGE_SIZE;
> > +        /* If not specified during translation, use default mask */
> > +        plen = TARGET_PAGE_MASK;
> > +    } else {
> > +        /* Make it a valid page mask */
> > +        assert(plen);
> > +        plen = (1ULL << (63 - clz64(plen))) - 1;
> 
> Would pow2floor be better?

Yes. :) Will respin. Thanks!

-- 
Peter Xu



reply via email to

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