diff options
author | Richard Henderson | 2022-01-07 22:32:25 +0100 |
---|---|---|
committer | Laurent Vivier | 2022-01-11 18:40:43 +0100 |
commit | 7337adeac0900a944ba789ad24b11c6a00099897 (patch) | |
tree | 548618fbea4faf3101c7312fc1906902fe14d522 | |
parent | linux-user/hppa: Use force_sig_fault (diff) | |
download | qemu-7337adeac0900a944ba789ad24b11c6a00099897.tar.gz qemu-7337adeac0900a944ba789ad24b11c6a00099897.tar.xz qemu-7337adeac0900a944ba789ad24b11c6a00099897.zip |
linux-user/hppa: Use the proper si_code for PRIV_OPR, PRIV_REG, OVERFLOW
These si_codes have been properly set by the kernel since the beginning.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220107213243.212806-7-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
-rw-r--r-- | linux-user/hppa/cpu_loop.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/linux-user/hppa/cpu_loop.c b/linux-user/hppa/cpu_loop.c index 4740da1b7a..a65e1571a0 100644 --- a/linux-user/hppa/cpu_loop.c +++ b/linux-user/hppa/cpu_loop.c @@ -144,11 +144,17 @@ void cpu_loop(CPUHPPAState *env) env->iaoq_b = env->gr[31] + 4; break; case EXCP_ILL: + force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPN, env->iaoq_f); + break; case EXCP_PRIV_OPR: + force_sig_fault(TARGET_SIGILL, TARGET_ILL_PRVOPC, env->iaoq_f); + break; case EXCP_PRIV_REG: - force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPN, env->iaoq_f); + force_sig_fault(TARGET_SIGILL, TARGET_ILL_PRVREG, env->iaoq_f); break; case EXCP_OVERFLOW: + force_sig_fault(TARGET_SIGFPE, TARGET_FPE_INTOVF, env->iaoq_f); + break; case EXCP_COND: case EXCP_ASSIST: force_sig_fault(TARGET_SIGFPE, 0, env->iaoq_f); |