From patchwork Fri Mar 2 11:57:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bastian Koppelmann X-Patchwork-Id: 10254491 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 3E17E603ED for ; Fri, 2 Mar 2018 11:59:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2BFDF28970 for ; Fri, 2 Mar 2018 11:59:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2045A28979; Fri, 2 Mar 2018 11:59:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 544C128972 for ; Fri, 2 Mar 2018 11:59:26 +0000 (UTC) Received: from localhost ([::1]:34377 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1erjLR-00032d-Cx for patchwork-qemu-devel@patchwork.kernel.org; Fri, 02 Mar 2018 06:59:25 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56400) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1erjK2-0001oC-Kw for qemu-devel@nongnu.org; Fri, 02 Mar 2018 06:57:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1erjJy-0001zk-P9 for qemu-devel@nongnu.org; Fri, 02 Mar 2018 06:57:58 -0500 Received: from mail.uni-paderborn.de ([131.234.142.9]:46776) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1erjJy-0001xt-Dd for qemu-devel@nongnu.org; Fri, 02 Mar 2018 06:57:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.uni-paderborn.de; s=20170601; h=References:In-Reply-To:Message-Id:Date :Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=GuYM5AN4rXrWuOB7/I6U/k5nPd1l/xwu5hrJdBwJP1o=; b=CM0EAchM1AUo6USy4wkcKsUUs /i/2vCWNMCfFzAMbVAqWWn+kH2pAM9QoFrIOXznbiwqGLbamjCKtloZ0lvGhhQErDHfYooZQQbLS9 xPwhB9q1QkuI60cJeaCNqjaaYb8SmvQ3JMUQHr/a4ZzTTliIkLpfUpjwH1cyWTeoS1dPE=; From: Bastian Koppelmann To: peter.maydell@linaro.org Date: Fri, 2 Mar 2018 12:57:43 +0100 Message-Id: <20180302115743.3409-5-kbastian@mail.uni-paderborn.de> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180302115743.3409-1-kbastian@mail.uni-paderborn.de> References: <20180302115743.3409-1-kbastian@mail.uni-paderborn.de> X-IMT-Spam-Score: 0.0 () X-PMX-Version: 6.4.2.2738846, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2018.3.2.115116, AntiVirus-Engine: 5.46.1.0, AntiVirus-Data: 2018.2.23.5461000 X-IMT-Authenticated-Sender: uid=kbastian,ou=People,o=upb,c=de X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 131.234.142.9 Subject: [Qemu-devel] [PULL 4/4] tricore: renamed masking of PIE 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: Florian Artmeier , David Brenken , qemu-devel@nongnu.org, Georg Hofstetter Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: David Brenken between 1.3 ISA and 1.6 ISA the IE mask has changed. We reflect this by add an ISA suffix to the existing mask and add the corresponding mask for 1.6. Signed-off-by: David Brenken Signed-off-by: Florian Artmeier Signed-off-by: Georg Hofstetter Message-Id: <20180301155619.8640-5-david.brenken@efs-auto.org> Signed-off-by: Bastian Koppelmann [BK: Added why we made this change to the commit message] --- target/tricore/cpu.h | 3 ++- target/tricore/op_helper.c | 16 ++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/target/tricore/cpu.h b/target/tricore/cpu.h index 6d89f625d0..07b8b59f58 100644 --- a/target/tricore/cpu.h +++ b/target/tricore/cpu.h @@ -229,7 +229,8 @@ void tricore_cpu_dump_state(CPUState *cpu, FILE *f, #define MASK_PCXI_PCPN 0xff000000 -#define MASK_PCXI_PIE 0x00800000 +#define MASK_PCXI_PIE_1_3 0x00800000 +#define MASK_PCXI_PIE_1_6 0x00200000 #define MASK_PCXI_UL 0x00400000 #define MASK_PCXI_PCXS 0x000f0000 #define MASK_PCXI_PCXO 0x0000ffff diff --git a/target/tricore/op_helper.c b/target/tricore/op_helper.c index 475b6ce081..16955f273e 100644 --- a/target/tricore/op_helper.c +++ b/target/tricore/op_helper.c @@ -84,7 +84,7 @@ raise_exception_sync_internal(CPUTriCoreState *env, uint32_t class, int tin, ICR.IE and ICR.CCPN are saved */ /* PCXI.PIE = ICR.IE */ - env->PCXI = ((env->PCXI & ~MASK_PCXI_PIE) + + env->PCXI = ((env->PCXI & ~MASK_PCXI_PIE_1_3) + ((env->ICR & MASK_ICR_IE_1_3) << 15)); /* PCXI.PCPN = ICR.CCPN */ env->PCXI = (env->PCXI & 0xffffff) + @@ -2464,7 +2464,7 @@ void helper_call(CPUTriCoreState *env, uint32_t next_pc) env->PCXI = (env->PCXI & 0xffffff) + ((env->ICR & MASK_ICR_CCPN) << 24); /* PCXI.PIE = ICR.IE; */ - env->PCXI = ((env->PCXI & ~MASK_PCXI_PIE) + + env->PCXI = ((env->PCXI & ~MASK_PCXI_PIE_1_3) + ((env->ICR & MASK_ICR_IE_1_3) << 15)); /* PCXI.UL = 1; */ env->PCXI |= MASK_PCXI_UL; @@ -2562,7 +2562,7 @@ void helper_bisr(CPUTriCoreState *env, uint32_t const9) env->PCXI = (env->PCXI & 0xffffff) + ((env->ICR & MASK_ICR_CCPN) << 24); /* PCXI.PIE = ICR.IE */ - env->PCXI = ((env->PCXI & ~MASK_PCXI_PIE) + + env->PCXI = ((env->PCXI & ~MASK_PCXI_PIE_1_3) + ((env->ICR & MASK_ICR_IE_1_3) << 15)); /* PCXI.UL = 0 */ env->PCXI &= ~(MASK_PCXI_UL); @@ -2604,7 +2604,7 @@ void helper_rfe(CPUTriCoreState *env) env->PC = env->gpr_a[11] & ~0x1; /* ICR.IE = PCXI.PIE; */ env->ICR = (env->ICR & ~MASK_ICR_IE_1_3) - + ((env->PCXI & MASK_PCXI_PIE) >> 15); + + ((env->PCXI & MASK_PCXI_PIE_1_3) >> 15); /* ICR.CCPN = PCXI.PCPN; */ env->ICR = (env->ICR & ~MASK_ICR_CCPN) + ((env->PCXI & MASK_PCXI_PCPN) >> 24); @@ -2628,8 +2628,8 @@ void helper_rfm(CPUTriCoreState *env) { env->PC = (env->gpr_a[11] & ~0x1); /* ICR.IE = PCXI.PIE; */ - env->ICR = (env->ICR & ~MASK_ICR_IE_1_3) | - ((env->PCXI & MASK_PCXI_PIE) >> 15); + env->ICR = (env->ICR & ~MASK_ICR_IE_1_3) + | ((env->PCXI & MASK_PCXI_PIE_1_3) >> 15); /* ICR.CCPN = PCXI.PCPN; */ env->ICR = (env->ICR & ~MASK_ICR_CCPN) | ((env->PCXI & MASK_PCXI_PCPN) >> 24); @@ -2694,7 +2694,7 @@ void helper_svlcx(CPUTriCoreState *env) env->PCXI = (env->PCXI & 0xffffff) + ((env->ICR & MASK_ICR_CCPN) << 24); /* PCXI.PIE = ICR.IE; */ - env->PCXI = ((env->PCXI & ~MASK_PCXI_PIE) + + env->PCXI = ((env->PCXI & ~MASK_PCXI_PIE_1_3) + ((env->ICR & MASK_ICR_IE_1_3) << 15)); /* PCXI.UL = 0; */ env->PCXI &= ~MASK_PCXI_UL; @@ -2737,7 +2737,7 @@ void helper_svucx(CPUTriCoreState *env) env->PCXI = (env->PCXI & 0xffffff) + ((env->ICR & MASK_ICR_CCPN) << 24); /* PCXI.PIE = ICR.IE; */ - env->PCXI = ((env->PCXI & ~MASK_PCXI_PIE) + + env->PCXI = ((env->PCXI & ~MASK_PCXI_PIE_1_3) + ((env->ICR & MASK_ICR_IE_1_3) << 15)); /* PCXI.UL = 1; */ env->PCXI |= MASK_PCXI_UL;