qemu-patch-raspberry4/target-ppc
Thomas Huth 3d4f253483 ppc: Huge page detection mechanism fixes - Episode III
After already fixing two issues with the huge page detection mechanism
(see commit 159d2e39a8 and 86b50f2e1b), Greg Kurz noticed another
case that caused the guest to crash where QEMU announces huge pages
though they should not be available for the guest:

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

That means if there is a global mem-path option, we still have
to look at the memory-backend objects that have been specified
additionally and return their minimum page size if that value
is smaller than the page size of the main memory.

Reported-by: Greg Kurz <groug@kaod.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Tested-by: Greg Kurz <groug@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-07-25 10:19:30 +10:00
..
arch_dump.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
cpu-models.c target-ppc: Add PVR for POWER8NVL processor 2016-03-16 09:55:05 +11:00
cpu-models.h target-ppc: Add PVR for POWER8NVL processor 2016-03-16 09:55:05 +11:00
cpu-qom.h ppc: Fix 64K pages support in full emulation 2016-07-01 09:57:01 +10:00
cpu.h target-*: Clean up cpu.h header guards 2016-07-12 16:19:16 +02:00
dfp_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
excp_helper.c ppc: Initial HDEC support 2016-07-01 09:57:01 +10:00
fpu_helper.c ppc: Fix xsrdpi, xvrdpi and xvrspi rounding 2016-07-05 10:43:02 +10:00
gdbstub.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
helper.h ppc: Initial HDEC support 2016-07-01 09:57:01 +10:00
helper_regs.h ppc: Fix support for odd MSR combinations 2016-07-18 10:40:27 +10:00
int_helper.c cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
kvm-stub.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
kvm.c ppc: Huge page detection mechanism fixes - Episode III 2016-07-25 10:19:30 +10:00
kvm_ppc.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
machine.c ppc: Use split I/D mmu modes to avoid flushes on interrupts 2016-05-30 13:20:04 +10:00
Makefile.objs kvm_ppc: remove kvmppc_timer_hack 2015-09-20 22:48:38 +02:00
mem_helper.c cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
mfrom_table.c find -type f | xargs sed -i 's/[\t ]$//g' # on most files 2007-09-16 21:08:06 +00:00
mfrom_table_gen.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
misc_helper.c ppc: Improve emulation of THRM registers 2016-06-22 11:12:17 +10:00
mmu-hash32.c cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
mmu-hash32.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
mmu-hash64.c target-ppc: fix left shift overflow in hpte_page_shift 2016-07-18 10:45:44 +10:00
mmu-hash64.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
mmu_helper.c Fix confusing argument names in some common functions 2016-07-12 13:06:08 +01:00
monitor.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
STATUS target-ppc: remove powerpc 970gx 2014-03-05 03:06:23 +01:00
timebase_helper.c ppc: Initial HDEC support 2016-07-01 09:57:01 +10:00
trace-events trace: split out trace events for target-ppc/ directory 2016-06-20 17:22:17 +01:00
translate.c target-ppc: gen_pause for instructions: yield, mdoio, mdoom, miso 2016-07-01 13:41:47 +10:00
translate_init.c ppc: abort if compat property contains an unknown value 2016-07-18 10:40:27 +10:00
user_only_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00