Re: [PATCH v2 3/3] paravirt: rename paravirt_enabled to paravirt_legacy
From: Luis R. Rodriguez
Date: Tue Feb 09 2016 - 02:00:25 EST
On Mon, Feb 08, 2016 at 04:46:08PM +0100, Borislav Petkov wrote:
> On Mon, Feb 08, 2016 at 10:31:36AM -0500, Boris Ostrovsky wrote:
> > This range is reserved for hypervisors but the only hypervisor that uses it
> > is Xen PV (lguest doesn't run in 64-bit mode).
>
> Yeah, this is mentioned in arch/x86/include/asm/page_64_types.h:
>
> /*
> * Set __PAGE_OFFSET to the most negative possible address +
> * PGDIR_SIZE*16 (pgd slot 272). The gap is to allow a space for a
> * hypervisor to fit. Choosing 16 slots here is arbitrary, but it's
> * what Xen requires.
> */
> #define __PAGE_OFFSET _AC(0xffff880000000000, UL)
>
> It is also in Documentation/x86/x86_64/mm.txt:
>
> ffff800000000000 - ffff87ffffffffff (=43 bits) guard hole, reserved for hypervisor
>
> albeit a bit laconic.
It doesn't sound like we have a replacement strategy for this yet?
If not, for PV we can rely on the subarch, but only once its set,
I can take this on as part of my work if agreeable given I'm adding
the use of the Xen subarch. If we want this in before linker table
stuff gets fleshed out this I can just split out setting the subarch
on xen_start_kernel() and replacing paravirt_enabled() where
applicable. But -- what about HVMLite for this, given as-is currently
HVMLite is to use PC subarch?
Luis