TriCore bugfixes

-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCgAGBQJVkTUxAAoJEArSxjlracoUd6IQAMCjrziaU5e6Y4yHFgaQmalC
 jzrc94zgT56D6zIhqESFE0akb3LY0vgVuFKvmi93KSl/Ry0IoJ37OFvhYDL06q7h
 DHa3/R4IBlt3DjIFe+bEMuu3oPp/dEJ3MBRRLjWnyBHNOoQgKVnoFvSV83NLfESS
 KrsRyQAdOL3SahpiplM/ODgF9/jrMu2aeV/bb/7k7DjuIz/dNiX10b7NVpdxtGwK
 aPo/56L4+1xPma05SGnZEZO4X79I+u6oinaZQLxgUYGPulsy+2ntQ8h40rrFTxg1
 gcc8FcS/QLdr8FIMLkmVA+NHEigYvCKTdDNXbcYpJd81Llr3snpO77300F7ryubY
 hlIG3KVTP20OGK4jkb8OgirPHj3Hlyc474Dh0acWXS3aLbVlwR4fGoR+bWsdD6tP
 NPNj/b+G5kirYpwcKxNvauOOvFr89c+Vi3AWX3KVLJunIEpiHZxIExiPfzP0+ryT
 90WYNgpIk/VklrjDRvjzTIVMFP47gnPY4pbeJq99QJ/gFn4ncdzsV6qgNHjpGhfV
 32K3+Q2QSSli/TcYAANFALu5qcS++rtZmNWsism0rvn7aoGq4z0dnz6uKtXP6I63
 VVGxSpXQwINX6jhJ1GrCTHJOIhCXxmNz+G9u4Rw03+E6Fpde5dBGHgiI8e7XyGRa
 /B2I+Ll8ItMC9K46vvfb
 =C6UB
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/bkoppelmann/tags/pull-tricore-20150629' into staging

TriCore bugfixes

# gpg: Signature made Mon Jun 29 13:08:17 2015 BST using RSA key ID 6B69CA14
# gpg: Good signature from "Bastian Koppelmann <kbastian@mail.uni-paderborn.de>"

* remotes/bkoppelmann/tags/pull-tricore-20150629:
  target-tricore: fix depositing bits from PCXI into ICR

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2015-06-29 13:26:43 +01:00
commit 2b464e13f0

View File

@ -2545,10 +2545,10 @@ void helper_rfm(CPUTriCoreState *env)
env->PC = (env->gpr_a[11] & ~0x1);
/* ICR.IE = PCXI.PIE; */
env->ICR = (env->ICR & ~MASK_ICR_IE) |
((env->PCXI & ~MASK_PCXI_PIE) >> 15);
((env->PCXI & MASK_PCXI_PIE) >> 15);
/* ICR.CCPN = PCXI.PCPN; */
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); */
env->PCXI = cpu_ldl_data(env, env->DCX);
psw_write(env, cpu_ldl_data(env, env->DCX+4));