qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] target-ppc : Make hreg_store_msr returns exception


From: Pierre Mallard
Subject: [Qemu-devel] [PATCH] target-ppc : Make hreg_store_msr returns exception
Date: Fri, 5 Sep 2014 15:45:17 +0200

hreg_store_msr was both returning 0 or an exception number which could be 
POWERPC_EXCP_NONE. In case POWERPC_EXCP_NONE was returned, helper_store_msr 
was handling uncorrectly this return value and raise an exception. This patch 
correct this behavior by making hreg_store_msr always return an exception 
number, and helper_store_msr test for POWERPC_EXCP_NONE.

Signed-off-by: Pierre Mallard <address@hidden>
---
 target-ppc/excp_helper.c |    2 +-
 target-ppc/helper_regs.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/target-ppc/excp_helper.c b/target-ppc/excp_helper.c
index 922e86d..f76942b 100644
--- a/target-ppc/excp_helper.c
+++ b/target-ppc/excp_helper.c
@@ -855,7 +855,7 @@ void helper_store_msr(CPUPPCState *env, target_ulong val)
     CPUState *cs;
 
     val = hreg_store_msr(env, val, 0);
-    if (val != 0) {
+    if (val != POWERPC_EXCP_NONE) {
         cs = CPU(ppc_env_get_cpu(env));
         cs->interrupt_request |= CPU_INTERRUPT_EXITTB;
         helper_raise_exception(env, val);
diff --git a/target-ppc/helper_regs.h b/target-ppc/helper_regs.h
index 271fddf..36a522a 100644
--- a/target-ppc/helper_regs.h
+++ b/target-ppc/helper_regs.h
@@ -72,7 +72,7 @@ static inline int hreg_store_msr(CPUPPCState *env, 
target_ulong value,
     CPUState *cs = CPU(ppc_env_get_cpu(env));
 #endif
 
-    excp = 0;
+    excp = POWERPC_EXCP_NONE;
     value &= env->msr_mask;
 #if !defined(CONFIG_USER_ONLY)
     if (!alter_hv) {
-- 
1.7.10.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]