qemu/target
Leandro Lupori fb22d743b9 target/ppc: Fix regression in Radix MMU
Commit 47e83d9107 ended up unintentionally changing the control flow
of ppc_radix64_process_scoped_xlate(). When guest_visible is false,
it must not raise an exception, even if the radix configuration is
not valid.

This regression prevented Linux boot in a nested environment with
L1 using TCG and emulating KVM (cap-nested-hv=on) and L2 using
KVM. L2 would hang on Linux's futex_init(), when it tested how a
futex_atomic_cmpxchg_inatomic() handled a fault, because L1 would
start a loop of trying to perform partition scoped translations
and raising exceptions.

Fixes: 47e83d9107 ("target/ppc: Improve Radix xlate level validation")
Reported-by: Victor Colombo <victor.colombo@eldorado.org.br>
Signed-off-by: Leandro Lupori <leandro.lupori@eldorado.org.br>
Tested-by: Víctor Colombo <victor.colombo@eldorado.org.br>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20221028183617.121786-1-leandro.lupori@eldorado.org.br>
[danielhb: use %"PRIu64" to print 'nls']
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
2022-10-29 06:34:52 -03:00
..
alpha target/alpha: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
arm target/arm: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
avr target/avr: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
cris target/cris: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
hexagon target/hexagon: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
hppa target/hppa: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
i386 Revert incorrect cflags initialization. 2022-10-26 10:53:41 -04:00
loongarch target/loongarch: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
m68k target/m68k: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
microblaze target/microblaze: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
mips target/mips: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
nios2 target/nios2: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
openrisc target/openrisc: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
ppc target/ppc: Fix regression in Radix MMU 2022-10-29 06:34:52 -03:00
riscv Revert incorrect cflags initialization. 2022-10-26 10:53:41 -04:00
rx Revert incorrect cflags initialization. 2022-10-26 10:53:41 -04:00
s390x dump queue 2022-10-26 10:53:49 -04:00
sh4 target/sh4: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
sparc target/sparc: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
tricore target/tricore: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
xtensa target/xtensa: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
Kconfig hw/loongarch: Add support loongson3 virt machine type. 2022-06-06 18:09:03 +00:00
meson.build target/loongarch: Add target build suport 2022-06-06 18:09:03 +00:00