xen: remove scratch frames for ballooned pages and m2p override
authorDavid Vrabel <david.vrabel@citrix.com>
Mon, 5 Jan 2015 17:06:01 +0000 (17:06 +0000)
committerDavid Vrabel <david.vrabel@citrix.com>
Wed, 28 Jan 2015 14:03:10 +0000 (14:03 +0000)
commit0bb599fd30108883b00c7d4a226eeb49111e6932
treee7939c55ff9b95a2eb180884bea213c1b78eb863
parent853d0289340026b30f93fd0e768340221d4e605c
xen: remove scratch frames for ballooned pages and m2p override

The scratch frame mappings for ballooned pages and the m2p override
are broken.  Remove them in preparation for replacing them with
simpler mechanisms that works.

The scratch pages did not ensure that the page was not in use.  In
particular, the foreign page could still be in use by hardware.  If
the guest reused the frame the hardware could read or write that
frame.

The m2p override did not handle the same frame being granted by two
different grant references.  Trying an M2P override lookup in this
case is impossible.

With the m2p override removed, the grant map/unmap for the kernel
mappings (for x86 PV) can be easily batched in
set_foreign_p2m_mapping() and clear_foreign_p2m_mapping().

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
arch/x86/include/asm/xen/page.h
arch/x86/xen/p2m.c
drivers/xen/balloon.c