]> git.ipfire.org Git - thirdparty/qemu.git/commit
target/alpha: fix tlb_fill trap_arg2 value for instruction fetch
authorAurelien Jarno <aurelien@aurel32.net>
Thu, 22 Aug 2019 17:45:14 +0000 (10:45 -0700)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Mon, 28 Oct 2019 04:31:56 +0000 (23:31 -0500)
commit4bfd496be385073644f639e58790b84bf5f7a5ef
treedec4a7541ff60064134091278e904a499aaa94c1
parent499a5d6bb47ec8be73fc47a37952c4d595957232
target/alpha: fix tlb_fill trap_arg2 value for instruction fetch

Commit e41c94529740cc26 ("target/alpha: Convert to CPUClass::tlb_fill")
slightly changed the way the trap_arg2 value is computed in case of TLB
fill. The type of the variable used in the ternary operator has been
changed from an int to an enum. This causes the -1 value to not be
sign-extended to 64-bit in case of an instruction fetch. The trap_arg2
ends up with 0xffffffff instead of 0xffffffffffffffff. Fix that by
changing the -1 into -1LL.

This fixes the execution of user space processes in qemu-system-alpha.

Fixes: e41c94529740cc26
Cc: qemu-stable@nongnu.org
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
[rth: Test MMU_DATA_LOAD and MMU_DATA_STORE instead of implying them.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit cb1de55a83eaca9ee32be9c959dca99e11f2fea8)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
target/alpha/helper.c