paravirt/x86, 64-bit: move __PAGE_OFFSET to leave a space for hypervisor
authorEduardo Habkost <ehabkost@redhat.com>
Wed, 25 Jun 2008 04:19:16 +0000 (00:19 -0400)
committerIngo Molnar <mingo@elte.hu>
Tue, 8 Jul 2008 11:11:04 +0000 (13:11 +0200)
commita6523748bddd38bcec11431f57502090b6014a96
tree1aa906ba270628323fcdfb26a0ae0f7cfba80ae6
parent491eccb721c2ee67250273a96e4515fb5b423337
paravirt/x86, 64-bit: move __PAGE_OFFSET to leave a space for hypervisor

Set __PAGE_OFFSET to the most negative possible address +
16*PGDIR_SIZE.  The gap is to allow a space for a hypervisor to fit.
The gap is more or less arbitrary, but it's what Xen needs.

When booting native, kernel/head_64.S has a set of compile-time
generated pagetables used at boot time.  This patch removes their
absolutely hard-coded layout, and makes it parameterised on
__PAGE_OFFSET (and __START_KERNEL_map).

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: xen-devel <xen-devel@lists.xensource.com>
Cc: Stephen Tweedie <sct@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/head_64.S
include/asm-x86/page_64.h