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

Re: [Xen-devel] [PATCH 25/38] arm: remove old identity map of boot paddr when we are done with it.



At 19:04 +0100 on 06 Jun (1339009473), Stefano Stabellini wrote:
> On Fri, 1 Jun 2012, Ian Campbell wrote:
> > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> > ---
> >  xen/arch/arm/mm.c |    8 ++++++++
> >  1 files changed, 8 insertions(+), 0 deletions(-)
> > 
> > diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> > index 160a4e9..ab52171 100644
> > --- a/xen/arch/arm/mm.c
> > +++ b/xen/arch/arm/mm.c
> > @@ -214,6 +214,14 @@ void __init setup_pagetables(unsigned long 
> > boot_phys_offset)
> >      lpae_t pte, *p;
> >      int i;
> >  
> > +    if ( boot_phys_offset != 0 )
> > +    {
> > +        /* Remove the old identity mapping of the boot paddr */
> > +        pte.bits = 0;
> > +        dest_va = (unsigned long)_start + boot_phys_offset;
> > +        write_pte(xen_second + second_linear_offset(dest_va), pte);
> > +    }
> 
> It looks like we are already doing this few lines below.

We used to do this here and now we do it futher down, after the copy.
That way the secondary CPUs can come up on the pre-copy tables where
the identity map still exists.

> Also now that I am thinking about it, considering that bits is a 64 bit
> field, shouldn't this be:
> 
> pte.bits = 0ULL;

It's OK; the 0 will be sign-extended by the compiler to 64 bits. 

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.