xen: implement "extra" memory to reserve space for pages not present at boot
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Mon, 30 Aug 2010 23:41:02 +0000 (16:41 -0700)
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Fri, 22 Oct 2010 19:57:27 +0000 (12:57 -0700)
commit42ee1471e9b879479a15debac752314a596c738e
tree119d3a47d8561a5447b8de882fa45362cb34b8f7
parent35ae11fd146384d222f3bb1f17eed1970cc92c36
xen: implement "extra" memory to reserve space for pages not present at boot

When using the e820 map to get the initial pseudo-physical address space,
look for either Xen-provided memory which doesn't lie within an E820
region, or an E820 RAM region which extends beyond the Xen-provided
memory range.

Count these pages, and add them to a new "extra memory" range.  This range
has an E820 RAM range to describe it - so the kernel will allocate page
structures for it - but it is also marked reserved so that the kernel
will not attempt to use it.

The balloon driver can then add this range as a set of currently
ballooned-out pages, which can be used to extend the domain beyond its
original size.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
arch/x86/xen/setup.c