xen: Delay remapping memory of pv-domain
authorJuergen Gross <jgross@suse.com>
Fri, 28 Nov 2014 10:53:53 +0000 (11:53 +0100)
committerDavid Vrabel <david.vrabel@citrix.com>
Thu, 4 Dec 2014 14:08:48 +0000 (14:08 +0000)
commit1f3ac86b4c45a146e090d24bf66c49b95e72f071
treec383b9279b427a1c1a1dc8810c3cd6799bfaba1c
parent7108c9ce8f6e59f775b0c8250dba52b569b6cba2
xen: Delay remapping memory of pv-domain

Early in the boot process the memory layout of a pv-domain is changed
to match the E820 map (either the host one for Dom0 or the Xen one)
regarding placement of RAM and PCI holes. This requires removing memory
pages initially located at positions not suitable for RAM and adding
them later at higher addresses where no restrictions apply.

To be able to operate on the hypervisor supported p2m list until a
virtual mapped linear p2m list can be constructed, remapping must
be delayed until virtual memory management is initialized, as the
initial p2m list can't be extended unlimited at physical memory
initialization time due to it's fixed structure.

A further advantage is the reduction in complexity and code volume as
we don't have to be careful regarding memory restrictions during p2m
updates.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
arch/x86/include/asm/xen/page.h
arch/x86/xen/mmu.c
arch/x86/xen/p2m.c
arch/x86/xen/setup.c
arch/x86/xen/xen-ops.h