From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32857) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWlOm-0008By-9q for qemu-devel@nongnu.org; Fri, 19 Feb 2016 08:47:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aWlOf-0005Xr-Ev for qemu-devel@nongnu.org; Fri, 19 Feb 2016 08:47:08 -0500 Received: from mail.uni-paderborn.de ([131.234.142.9]:56813) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWlOf-0005Xn-7U for qemu-devel@nongnu.org; Fri, 19 Feb 2016 08:47:01 -0500 Received: from magmaria.uni-paderborn.de ([131.234.189.24] helo=localhost.localdomain) by mail.uni-paderborn.de with esmtp (Exim 4.84 telepax) id 1aWlOe-0001En-4f for qemu-devel@nongnu.org; Fri, 19 Feb 2016 14:47:00 +0100 Received: from mail.uni-paderborn.de by magmaria with queue id 1050125-3 for qemu-devel@nongnu.org; Fri, 19 Feb 2016 13:47:00 GMT From: Bastian Koppelmann Date: Fri, 19 Feb 2016 14:46:55 +0100 Message-Id: <1455889615-3435-1-git-send-email-kbastian@mail.uni-paderborn.de> Subject: [Qemu-devel] [PATCH] target-tricore: fix save_context_upper using env->PSW List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kbastian@mail.uni-paderborn.de If the cached bits for C, V, SV, AV, or SAV were set, they would not be saved during the context save since env->PSW was stored instead of properly reading them using psw_read(). Signed-off-by: Bastian Koppelmann --- target-tricore/op_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target-tricore/op_helper.c b/target-tricore/op_helper.c index 3aa6326..796fe67 100644 --- a/target-tricore/op_helper.c +++ b/target-tricore/op_helper.c @@ -2279,7 +2279,7 @@ static bool cdc_zero(target_ulong *psw) static void save_context_upper(CPUTriCoreState *env, int ea) { cpu_stl_data(env, ea, env->PCXI); - cpu_stl_data(env, ea+4, env->PSW); + cpu_stl_data(env, ea+4, psw_read(env)); cpu_stl_data(env, ea+8, env->gpr_a[10]); cpu_stl_data(env, ea+12, env->gpr_a[11]); cpu_stl_data(env, ea+16, env->gpr_d[8]); -- 2.7.1