All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: laurent@vivier.eu, Song Gao <gaosong@loongson.cn>,
	Xiaojuan Yang <yangxiaojuan@loongson.cn>
Subject: [PATCH v21 09/13] target/loongarch: Fix helper_asrtle_d/asrtgt_d raise wrong exception
Date: Sun,  3 Jul 2022 14:29:09 +0530	[thread overview]
Message-ID: <20220703085913.772936-10-richard.henderson@linaro.org> (raw)
In-Reply-To: <20220703085913.772936-1-richard.henderson@linaro.org>

From: Song Gao <gaosong@loongson.cn>

Raise EXCCODE_BCE instead of EXCCODE_ADEM for helper_asrtle_d/asrtgt_d.

Signed-off-by: Song Gao <gaosong@loongson.cn>
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220624031049.1716097-10-gaosong@loongson.cn>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/loongarch/cpu.c       | 2 ++
 target/loongarch/op_helper.c | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c
index e32d4cc269..0013582a3a 100644
--- a/target/loongarch/cpu.c
+++ b/target/loongarch/cpu.c
@@ -51,6 +51,7 @@ static const char * const excp_names[] = {
     [EXCCODE_IPE] = "Instruction privilege error",
     [EXCCODE_FPE] = "Floating Point Exception",
     [EXCCODE_DBP] = "Debug breakpoint",
+    [EXCCODE_BCE] = "Bound Check Exception",
 };
 
 const char *loongarch_exception_name(int32_t exception)
@@ -176,6 +177,7 @@ static void loongarch_cpu_do_interrupt(CPUState *cs)
     case EXCCODE_INE:
     case EXCCODE_IPE:
     case EXCCODE_FPE:
+    case EXCCODE_BCE:
         env->CSR_BADV = env->pc;
         QEMU_FALLTHROUGH;
     case EXCCODE_ADEM:
diff --git a/target/loongarch/op_helper.c b/target/loongarch/op_helper.c
index d87049851f..df049cec59 100644
--- a/target/loongarch/op_helper.c
+++ b/target/loongarch/op_helper.c
@@ -49,14 +49,14 @@ target_ulong helper_bitswap(target_ulong v)
 void helper_asrtle_d(CPULoongArchState *env, target_ulong rj, target_ulong rk)
 {
     if (rj > rk) {
-        do_raise_exception(env, EXCCODE_ADEM, GETPC());
+        do_raise_exception(env, EXCCODE_BCE, 0);
     }
 }
 
 void helper_asrtgt_d(CPULoongArchState *env, target_ulong rj, target_ulong rk)
 {
     if (rj <= rk) {
-        do_raise_exception(env, EXCCODE_ADEM, GETPC());
+        do_raise_exception(env, EXCCODE_BCE, 0);
     }
 }
 
-- 
2.34.1



  parent reply	other threads:[~2022-07-03  9:37 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-03  8:59 [PATCH v21 00/13] Add LoongArch linux-user emulation support Richard Henderson
2022-07-03  8:59 ` [PATCH v21 01/13] linux-user: Add LoongArch generic header files Richard Henderson
2022-07-03  8:59 ` [PATCH v21 02/13] linux-user: Add LoongArch signal support Richard Henderson
2022-07-03  8:59 ` [PATCH v21 03/13] linux-user: Add LoongArch elf support Richard Henderson
2022-07-03  8:59 ` [PATCH v21 04/13] linux-user: Add LoongArch syscall support Richard Henderson
2022-07-03  8:59 ` [PATCH v21 05/13] linux-user: Add LoongArch cpu_loop support Richard Henderson
2022-07-03  8:59 ` [PATCH v21 06/13] scripts: add loongarch64 binfmt config Richard Henderson
2022-07-03  8:59 ` [PATCH v21 07/13] target/loongarch: remove badaddr from CPULoongArch Richard Henderson
2022-07-03  8:59 ` [PATCH v21 08/13] target/loongarch: Fix missing update CSR_BADV Richard Henderson
2022-07-03  8:59 ` Richard Henderson [this message]
2022-07-03  8:59 ` [PATCH v21 10/13] target/loongarch: remove unused include hw/loader.h Richard Henderson
2022-07-03  8:59 ` [PATCH v21 11/13] target/loongarch: Adjust functions and structure to support user-mode Richard Henderson
2022-07-03  8:59 ` [PATCH v21 12/13] default-configs: Add loongarch linux-user support Richard Henderson
2022-07-03  8:59 ` [PATCH v21 13/13] target/loongarch: Update README Richard Henderson
2022-07-04  3:57 ` [PATCH v21 00/13] Add LoongArch linux-user emulation support gaosong
2022-07-04  5:42   ` Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220703085913.772936-10-richard.henderson@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=gaosong@loongson.cn \
    --cc=laurent@vivier.eu \
    --cc=qemu-devel@nongnu.org \
    --cc=yangxiaojuan@loongson.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.