target-ppc: fix hugepage support when using memory-backend-file
commit2d103aae876518a91636ad6f4a4d866269c0d953
authorMichael Roth <mdroth@linux.vnet.ibm.com>
Thu, 2 Jul 2015 20:46:14 +0000 (2 15:46 -0500)
committerAlexander Graf <agraf@suse.de>
Tue, 7 Jul 2015 15:44:49 +0000 (7 17:44 +0200)
tree86093232c84adac0b1f524e6dd714b188ddc32ea
parent5c464f66f5696724c892339de242fac41f4d57a6
target-ppc: fix hugepage support when using memory-backend-file

Current PPC code relies on -mem-path being used in order for
hugepage support to be detected. With the introduction of
MemoryBackendFile we can now handle this via:
  -object memory-file-backend,mem-path=...,id=hugemem0 \
  -numa node,id=mem0,memdev=hugemem0

Management tools like libvirt treat the 2 approaches as
interchangeable in some cases, which can lead to user-visible
regressions even for previously supported guest configurations.

Fix these by also iterating through any configured memory
backends that may be backed by hugepages.

Since the old code assumed hugepages always backed the entirety
of guest memory, play it safe an pick the minimum across the
max pages sizes for all backends, even ones that aren't backed
by hugepages.

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
target-ppc/kvm.c