Subject: [PATCHv2 07/18] arm64: mm: add code to safely replace TTBR1_EL1

From: [email-masked] (Mark Rutland)
Date: Tue, 5 Jan 2016 15:45:10 +0000

On Tue, Jan 05, 2016 at 03:22:18PM +0000, Catalin Marinas wrote:
> On Mon, Jan 04, 2016 at 05:56:40PM +0000, Mark Rutland wrote:
> > +	.pushsection ".idmap.text", "ax"
> > +/*
> > + * void idmap_cpu_replace_ttbr1(phys_addr_t new_pgd, phys_addr_t reserved_pgd)
> > + *
> > + * This is the low-level counterpart to cpu_replace_ttbr1, and should not be
> > + * called by anything else. It can only be executed from a TTBR0 mapping.
> > + */
> > +ENTRY(idmap_cpu_replace_ttbr1)
> > +	mrs	x2, daif
> > +	msr	daifset, #0xf
> > +
> > +	msr	ttbr1_el1, x1
> 
> Would it work to avoid the second argument and only use adrp, now that
> empty_zero_page is at a fixed offset relative to this function?

Yes, it would.

I've folded that in locally.

Thanks,
Mark.