target-tricore: fix depositing bits from PCXI into ICR
Spotted by Coverity, because (env->PCXI & MASK_PCXI_PCPN) >> 24 is always zero. The immediately preceding assignment is also wrong though. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Message-Id: <1435147270-1040-1-git-send-email-pbonzini@redhat.com>
This commit is contained in:
parent
dc1e1350f8
commit
5f37fd8e29
@ -2545,10 +2545,10 @@ void helper_rfm(CPUTriCoreState *env)
|
|||||||
env->PC = (env->gpr_a[11] & ~0x1);
|
env->PC = (env->gpr_a[11] & ~0x1);
|
||||||
/* ICR.IE = PCXI.PIE; */
|
/* ICR.IE = PCXI.PIE; */
|
||||||
env->ICR = (env->ICR & ~MASK_ICR_IE) |
|
env->ICR = (env->ICR & ~MASK_ICR_IE) |
|
||||||
((env->PCXI & ~MASK_PCXI_PIE) >> 15);
|
((env->PCXI & MASK_PCXI_PIE) >> 15);
|
||||||
/* ICR.CCPN = PCXI.PCPN; */
|
/* ICR.CCPN = PCXI.PCPN; */
|
||||||
env->ICR = (env->ICR & ~MASK_ICR_CCPN) |
|
env->ICR = (env->ICR & ~MASK_ICR_CCPN) |
|
||||||
((env->PCXI & ~MASK_PCXI_PCPN) >> 24);
|
((env->PCXI & MASK_PCXI_PCPN) >> 24);
|
||||||
/* {PCXI, PSW, A[10], A[11]} = M(DCX, 4 * word); */
|
/* {PCXI, PSW, A[10], A[11]} = M(DCX, 4 * word); */
|
||||||
env->PCXI = cpu_ldl_data(env, env->DCX);
|
env->PCXI = cpu_ldl_data(env, env->DCX);
|
||||||
psw_write(env, cpu_ldl_data(env, env->DCX+4));
|
psw_write(env, cpu_ldl_data(env, env->DCX+4));
|
||||||
|
Loading…
Reference in New Issue
Block a user