qemu/target-ppc
Thomas Huth 159d2e39a8 ppc: Yet another fix for the huge page support detection mechanism
Commit 86b50f2e1b ("Disable huge page support if it is not available
for main RAM") already made sure that huge page support is not announced
to the guest if the normal RAM of non-NUMA configurations is not backed
by a huge page filesystem. However, there is one more case that can go
wrong: NUMA is enabled, but the RAM of the NUMA nodes are not configured
with huge page support (and only the memory of a DIMM is configured with
it). When QEMU is started with the following command line for example,
the Linux guest currently crashes because it is trying to use huge pages
on a memory region that does not support huge pages:

 qemu-system-ppc64 -enable-kvm ... -m 1G,slots=4,maxmem=32G -object \
   memory-backend-file,policy=default,mem-path=/hugepages,size=1G,id=mem-mem1 \
   -device pc-dimm,id=dimm-mem1,memdev=mem-mem1 -smp 2 \
   -numa node,nodeid=0 -numa node,nodeid=1

To fix this issue, we've got to make sure to disable huge page support,
too, when there is a NUMA node that is not using a memory backend with
huge page support.

Fixes: 86b50f2e1b
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-07-18 10:52:19 +10:00
..
arch_dump.c
cpu-models.c
cpu-models.h
cpu-qom.h
cpu.h
dfp_helper.c
excp_helper.c
fpu_helper.c
gdbstub.c
helper_regs.h
helper.h
int_helper.c
kvm_ppc.h
kvm-stub.c
kvm.c ppc: Yet another fix for the huge page support detection mechanism 2016-07-18 10:52:19 +10:00
machine.c
Makefile.objs
mem_helper.c
mfrom_table_gen.c
mfrom_table.c
misc_helper.c
mmu_helper.c
mmu-hash32.c
mmu-hash32.h
mmu-hash64.c target-ppc: fix left shift overflow in hpte_page_shift 2016-07-18 10:45:44 +10:00
mmu-hash64.h
monitor.c
STATUS
timebase_helper.c
trace-events
translate_init.c
translate.c
user_only_helper.c