WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [PATCH 7/8] xen/mmu: Introduce IDENTITY_FRAME_BIT

On Tue, Jan 04, 2011 at 04:26:15PM +0000, Ian Campbell wrote:
> On Thu, 2010-12-30 at 19:48 +0000, Konrad Rzeszutek Wilk wrote:
> > @@ -52,9 +53,12 @@ static inline unsigned long pfn_to_mfn(unsigned long pfn)
> >  
> >     mfn = get_phys_to_machine(pfn);
> >  
> > -   if (mfn != INVALID_P2M_ENTRY)
> > +   if (mfn != INVALID_P2M_ENTRY) {
> >             mfn &= ~FOREIGN_FRAME_BIT;
> >  
> > +           if (mfn & IDENTITY_FRAME_BIT)
> > +                   mfn &= ~IDENTITY_FRAME_BIT;
> > +   }
> 
> I don't think the inner-if buys us anything here and the whole thing is
> equivalent to:
>       if (mfn != INVALID_P2M_ENTRY)
>               mfn &= ~(FOREIGN_FRAME_BIT|IDENTITY_FRAME_BIT);
> 
> Not sure if the FOREIGN_FRAME_BIT|IDENTITY_FRAME_BIT construct gets
> enough use to be worthy of a #define FRAME_TYPE_MASK etc.

Yeah, that is much better.
> 
> >     return mfn;
> >  }
> >  
> > diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
> > index d98bd43..d470435 100644
> > --- a/arch/x86/xen/mmu.c
> > +++ b/arch/x86/xen/mmu.c
> > @@ -425,10 +425,10 @@ unsigned long get_phys_to_machine(unsigned long pfn)
> >      * would be wrong.
> >      */
> >     if (p2m_top[topidx] == p2m_mid_identity)
> > -           return pfn;
> > +           return pfn | IDENTITY_FRAME_BIT;
> 
> It's probably worth defining IDENTITY_FRAME(m) in the pattern of
> FOREIGN_FRAME(m).

<nods>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>