xen: allow extra memory to be in multiple regions
authorDavid Vrabel <david.vrabel@citrix.com>
Thu, 29 Sep 2011 11:26:19 +0000 (12:26 +0100)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 29 Sep 2011 15:12:10 +0000 (11:12 -0400)
commitdc91c728fddc29dfed1ae96f6807216b5f42d3a1
treeff1b08bd3a06d7a8204766a3f714cf7c2533e8f8
parent8b5d44a5ac93cd7a1b044db3ff0ba4955b4ba5ec
xen: allow extra memory to be in multiple regions

Allow the extra memory (used by the balloon driver) to be in multiple
regions (typically two regions, one for low memory and one for high
memory).  This allows the balloon driver to increase the number of
available low pages (if the initial number if pages is small).

As a side effect, the algorithm for building the e820 memory map is
simpler and more obviously correct as the map supplied by the
hypervisor is (almost) used as is (in particular, all reserved regions
and gaps are preserved).  Only RAM regions are altered and RAM regions
above max_pfn + extra_pages are marked as unused (the region is split
in two if necessary).

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
arch/x86/xen/setup.c