xen: efficiently support a holey p2m table
commitcf0923ea295ba08ae656ef04164a43cb6553ba99
authorJeremy Fitzhardinge <jeremy@goop.org>
Mon, 26 May 2008 22:31:20 +0000 (26 23:31 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 27 May 2008 08:11:37 +0000 (27 10:11 +0200)
treec5c8ea1a226edcf7a29bec1953f65469a21756e5
parent8006ec3e911f93d702e1d4a4e387e244ab434924
xen: efficiently support a holey p2m table

When using sparsemem and memory hotplug, the kernel's pseudo-physical
address space can be discontigious.  Previously this was dealt with by
having the upper parts of the radix tree stubbed off.  Unfortunately,
this is incompatible with save/restore, which requires a complete p2m
table.

The solution is to have a special distinguished all-invalid p2m leaf
page, which we can point all the hole areas at.  This allows the tools
to see a complete p2m table, but it only costs a page for all memory
holes.

It also simplifies the code since it removes a few special cases.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/xen/mmu.c