xen/balloon: Don't rely on the page granularity is the same for Xen and Linux
authorJulien Grall <julien.grall@citrix.com>
Mon, 4 May 2015 14:39:08 +0000 (15:39 +0100)
committerDavid Vrabel <david.vrabel@citrix.com>
Fri, 23 Oct 2015 13:20:38 +0000 (14:20 +0100)
commit30756c62997822894fb34e2114f5dc727a12af30
treef48503562c024f160ebabcaba5be5b0414f3c871
parent9652c08012580c9961c77fc8726a877e0d437324
xen/balloon: Don't rely on the page granularity is the same for Xen and Linux

For ARM64 guests, Linux is able to support either 64K or 4K page
granularity. Although, the hypercall interface is always based on 4K
page granularity.

With 64K page granularity, a single page will be spread over multiple
Xen frame.

To avoid splitting the page into 4K frame, take advantage of the
extent_order field to directly allocate/free chunk of the Linux page
size.

Note that PVMMU is only used for PV guest (which is x86) and the page
granularity is always 4KB. Some BUILD_BUG_ON has been added to ensure
that because the code has not been modified.

Signed-off-by: Julien Grall <julien.grall@citrix.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
drivers/xen/balloon.c