xen: eliminate scalability issues from initial mapping setup
authorJuergen Gross <jgross@suse.com>
Fri, 17 Jul 2015 04:51:25 +0000 (06:51 +0200)
committerDavid Vrabel <david.vrabel@citrix.com>
Thu, 20 Aug 2015 11:24:18 +0000 (12:24 +0100)
commit8f5b0c63987207fd5c3c1f89c9eb6cb95b30386e
tree1fafc4612d09a433c6e7e0523fb5a110f15aebc6
parentd51e8b3e85972dee10be7943b0b0106742b1e847
xen: eliminate scalability issues from initial mapping setup

Direct Xen to place the initial P->M table outside of the initial
mapping, as otherwise the 1G (implementation) / 2G (theoretical)
restriction on the size of the initial mapping limits the amount
of memory a domain can be handed initially.

As the initial P->M table is copied rather early during boot to
domain private memory and it's initial virtual mapping is dropped,
the easiest way to avoid virtual address conflicts with other
addresses in the kernel is to use a user address area for the
virtual address of the initial P->M table. This allows us to just
throw away the page tables of the initial mapping after the copy
without having to care about address invalidation.

It should be noted that this patch won't enable a pv-domain to USE
more than 512 GB of RAM. It just enables it to be started with a
P->M table covering more memory. This is especially important for
being able to boot a Dom0 on a system with more than 512 GB memory.

Signed-off-by: Juergen Gross <jgross@suse.com>
Based-on-patch-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
arch/x86/xen/mmu.c
arch/x86/xen/setup.c
arch/x86/xen/xen-head.S