From nobody Wed Oct 22 13:20:04 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1519919997560126.1074376346038; Thu, 1 Mar 2018 07:59:57 -0800 (PST) Received: from localhost ([::1]:57774 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1erQce-0003ZG-Jh for importer@patchew.org; Thu, 01 Mar 2018 10:59:56 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58367) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1erQZy-0001YS-IE for qemu-devel@nongnu.org; Thu, 01 Mar 2018 10:57:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1erQZu-0002Oi-Kr for qemu-devel@nongnu.org; Thu, 01 Mar 2018 10:57:10 -0500 Received: from mout.kundenserver.de ([212.227.126.131]:43757) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1erQZu-0002OW-9g for qemu-devel@nongnu.org; Thu, 01 Mar 2018 10:57:06 -0500 Received: from localhost.localdomain ([178.239.76.114]) by mrelayeu.kundenserver.de (mreue002 [212.227.15.167]) with ESMTPSA (Nemesis) id 0LisgQ-1eHpNB3ElC-00dG95; Thu, 01 Mar 2018 16:57:03 +0100 From: David Brenken To: qemu-devel@nongnu.org Date: Thu, 1 Mar 2018 16:56:18 +0100 Message-Id: <20180301155619.8640-4-david.brenken@efs-auto.org> X-Mailer: git-send-email 2.16.1.windows.4 In-Reply-To: <20180301155619.8640-1-david.brenken@efs-auto.org> References: <20180301155619.8640-1-david.brenken@efs-auto.org> X-Provags-ID: V03:K0:3OVMFFuYvEq3QIthAG188RepmTj2LhSOcFblngsCXMMMUIA8zHe EgmpMidI13V2xlUpaxyULn6GXkZYumBZtkktqaMY2L4gx7tEgMXnUAeX9CxJHMyr+9PayjJ AoIHbIJD/ArADxz+zBxzbBaV//OnitEX4YrlhocA7VXFszHmX6U6BYAmXRtXgPjntOV4BY+ E3foOn/gbdgUlG+6+/IIA== X-UI-Out-Filterresults: notjunk:1;V01:K0:Ysct3l/9nFg=:YVd1Mv9SxLQ/yvEhTWjFlJ LrysyxjCXC2Udjb4Je53dm/nKu3nqXWx/CLh8YQ5wwqFvVG2SZVd0sRQTu3N8ThV+c05Utvw9 o/wYwsOWYlIMT1ZhHdgB3Ff9X9Eyl+OyufiH15EHK3g0wxNjxc02OmidssROgJqQRqvKXmmxt zkNk0n4Vc5m7NEiSL8yNM3nrgcsHHl+7MplRZPrR6SRgQS3D7obrRW+MZsbmTX6l1ppUX4uG/ yiLXAGj3aTBr3Sh+pZPR74oIQ0VSXbwRJp4Cyh2ECPjiMaX9GfYYOcteuW7WB7nsQF88/Aity gboDfroypcAPM6JmBGmsuOItLBoBTRCJGu+oOXXxrp3mcLyahKQO3JzQXJy6ltfGgsOFYQlZl MG97dS/e5aeYCgtgW/ud0PVzNqTBaLbMtlzlgbDiLzc2mDoiuspwnBzlrDVjPCWcpdL99MZah 1ouXgSj6DMm+DIfy/KEz6f0F3kqZJuKKNI79WsNf0FnUry8c2kCERRCDFlcKoYg+Fd1eH8Z+I XQiAFvKCN9PLhgxQskZcRVVAObaNaIyisAMTaDcXvBMNlA8YvdwfAnWOy7QZsHvPo1CddLDa4 jZQTN7RDoXSrHCyhZZQiJlMjOS+PEAMv0tDsT8zqi9gWaJyKdu/1AZmP6PUqgpaFGtZgIbJ3A jxmbFP2fzCIGTTQpE5KiD3763NQ1TGoTd/TGTDTeW/yzGyoYeyvr7JqaKJeSaM3lXnC1kdYNR leCfjrLBkIMKww/RoF3YWeAJAfi3Zk43OcYfwA== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.126.131 Subject: [Qemu-devel] [PATCH v2 3/4] tricore: renamed masking of IE X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kbastian@mail.uni-paderborn.de, Florian Artmeier , David Brenken , Georg Hofstetter Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: David Brenken Signed-off-by: David Brenken Signed-off-by: Florian Artmeier Signed-off-by: Georg Hofstetter --- target/tricore/cpu.h | 3 ++- target/tricore/op_helper.c | 17 +++++++++-------- target/tricore/translate.c | 4 ++-- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/target/tricore/cpu.h b/target/tricore/cpu.h index c295763..a98b6f2 100644 --- a/target/tricore/cpu.h +++ b/target/tricore/cpu.h @@ -257,7 +257,8 @@ void tricore_cpu_dump_state(CPUState *cpu, FILE *f, #define MASK_CPUID_REV 0x000000ff =20 #define MASK_ICR_PIPN 0x00ff0000 -#define MASK_ICR_IE 0x00000100 +#define MASK_ICR_IE_1_3 0x00000100 +#define MASK_ICR_IE_1_6 0x00008000 #define MASK_ICR_CCPN 0x000000ff =20 #define MASK_FCX_FCXS 0x000f0000 diff --git a/target/tricore/op_helper.c b/target/tricore/op_helper.c index 098f217..475b6ce 100644 --- a/target/tricore/op_helper.c +++ b/target/tricore/op_helper.c @@ -85,7 +85,7 @@ raise_exception_sync_internal(CPUTriCoreState *env, uint3= 2_t class, int tin, =20 /* PCXI.PIE =3D ICR.IE */ env->PCXI =3D ((env->PCXI & ~MASK_PCXI_PIE) + - ((env->ICR & MASK_ICR_IE) << 15)); + ((env->ICR & MASK_ICR_IE_1_3) << 15)); /* PCXI.PCPN =3D ICR.CCPN */ env->PCXI =3D (env->PCXI & 0xffffff) + ((env->ICR & MASK_ICR_CCPN) << 24); @@ -2465,7 +2465,7 @@ void helper_call(CPUTriCoreState *env, uint32_t next_= pc) ((env->ICR & MASK_ICR_CCPN) << 24); /* PCXI.PIE =3D ICR.IE; */ env->PCXI =3D ((env->PCXI & ~MASK_PCXI_PIE) + - ((env->ICR & MASK_ICR_IE) << 15)); + ((env->ICR & MASK_ICR_IE_1_3) << 15)); /* PCXI.UL =3D 1; */ env->PCXI |=3D MASK_PCXI_UL; =20 @@ -2563,7 +2563,7 @@ void helper_bisr(CPUTriCoreState *env, uint32_t const= 9) ((env->ICR & MASK_ICR_CCPN) << 24); /* PCXI.PIE =3D ICR.IE */ env->PCXI =3D ((env->PCXI & ~MASK_PCXI_PIE) + - ((env->ICR & MASK_ICR_IE) << 15)); + ((env->ICR & MASK_ICR_IE_1_3) << 15)); /* PCXI.UL =3D 0 */ env->PCXI &=3D ~(MASK_PCXI_UL); /* PCXI[19: 0] =3D FCX[19: 0] */ @@ -2571,7 +2571,7 @@ void helper_bisr(CPUTriCoreState *env, uint32_t const= 9) /* FXC[19: 0] =3D new_FCX[19: 0] */ env->FCX =3D (env->FCX & 0xfff00000) + (new_FCX & 0xfffff); /* ICR.IE =3D 1 */ - env->ICR |=3D MASK_ICR_IE; + env->ICR |=3D MASK_ICR_IE_1_3; =20 env->ICR |=3D const9; /* ICR.CCPN =3D const9[7: 0];*/ =20 @@ -2603,7 +2603,8 @@ void helper_rfe(CPUTriCoreState *env) } env->PC =3D env->gpr_a[11] & ~0x1; /* ICR.IE =3D PCXI.PIE; */ - env->ICR =3D (env->ICR & ~MASK_ICR_IE) + ((env->PCXI & MASK_PCXI_PIE) = >> 15); + env->ICR =3D (env->ICR & ~MASK_ICR_IE_1_3) + + ((env->PCXI & MASK_PCXI_PIE) >> 15); /* ICR.CCPN =3D PCXI.PCPN; */ env->ICR =3D (env->ICR & ~MASK_ICR_CCPN) + ((env->PCXI & MASK_PCXI_PCPN) >> 24); @@ -2627,7 +2628,7 @@ void helper_rfm(CPUTriCoreState *env) { env->PC =3D (env->gpr_a[11] & ~0x1); /* ICR.IE =3D PCXI.PIE; */ - env->ICR =3D (env->ICR & ~MASK_ICR_IE) | + env->ICR =3D (env->ICR & ~MASK_ICR_IE_1_3) | ((env->PCXI & MASK_PCXI_PIE) >> 15); /* ICR.CCPN =3D PCXI.PCPN; */ env->ICR =3D (env->ICR & ~MASK_ICR_CCPN) | @@ -2694,7 +2695,7 @@ void helper_svlcx(CPUTriCoreState *env) ((env->ICR & MASK_ICR_CCPN) << 24); /* PCXI.PIE =3D ICR.IE; */ env->PCXI =3D ((env->PCXI & ~MASK_PCXI_PIE) + - ((env->ICR & MASK_ICR_IE) << 15)); + ((env->ICR & MASK_ICR_IE_1_3) << 15)); /* PCXI.UL =3D 0; */ env->PCXI &=3D ~MASK_PCXI_UL; =20 @@ -2737,7 +2738,7 @@ void helper_svucx(CPUTriCoreState *env) ((env->ICR & MASK_ICR_CCPN) << 24); /* PCXI.PIE =3D ICR.IE; */ env->PCXI =3D ((env->PCXI & ~MASK_PCXI_PIE) + - ((env->ICR & MASK_ICR_IE) << 15)); + ((env->ICR & MASK_ICR_IE_1_3) << 15)); /* PCXI.UL =3D 1; */ env->PCXI |=3D MASK_PCXI_UL; =20 diff --git a/target/tricore/translate.c b/target/tricore/translate.c index 54de0dd..aef0d9c 100644 --- a/target/tricore/translate.c +++ b/target/tricore/translate.c @@ -8379,12 +8379,12 @@ static void decode_sys_interrupts(CPUTriCoreState *= env, DisasContext *ctx) /* raise EXCP_DEBUG */ break; case OPC2_32_SYS_DISABLE: - tcg_gen_andi_tl(cpu_ICR, cpu_ICR, ~MASK_ICR_IE); + tcg_gen_andi_tl(cpu_ICR, cpu_ICR, ~MASK_ICR_IE_1_3); break; case OPC2_32_SYS_DSYNC: break; case OPC2_32_SYS_ENABLE: - tcg_gen_ori_tl(cpu_ICR, cpu_ICR, MASK_ICR_IE); + tcg_gen_ori_tl(cpu_ICR, cpu_ICR, MASK_ICR_IE_1_3); break; case OPC2_32_SYS_ISYNC: break; --=20 2.7.4