1. 08 11月, 2018 3 次提交
  2. 21 8月, 2018 7 次提交
  3. 03 7月, 2018 1 次提交
  4. 21 6月, 2018 1 次提交
    • J
      fpu_helper.c: fix helper_fpscr_clrbit() function · 88d8d555
      John Arbuckle 提交于
      Fix the helper_fpscr_clrbit() function so it correctly sets the FEX
      and VX bits.
      
      Determining the value for the Floating Point Status and Control
      Register's (FPSCR) FEX bit is suppose to be done like this:
      
      FEX = (VX & VE) | (OX & OE) | (UX & UE) | (ZX & ZE) | (XX & XE))
      
      It is described as "the logical OR of all the floating-point exception
      bits masked by their respective enable bits". It was not implemented
      correctly. The value of FEX would stay on even when all other bits
      were set to off.
      
      The VX bit is described as "the logical OR of all of the invalid
      operation exceptions". This bit was also not implemented correctly. It
      too would stay on when all the other bits were set to off.
      
      My main source of information is an IBM document called:
      
      PowerPC Microprocessor Family:
      The Programming Environments for 32-Bit Microprocessors
      
      Page 62 is where the FPSCR information is located.
      
      This is an older copy than the one I use but it is still very useful:
      https://www.pdfdrive.net/powerpc-microprocessor-family-the-programming-environments-for-32-e3087633.html
      
      I use a G3 and G5 iMac to compare bit values with QEMU. This patch
      fixed all the problems I was having with these bits.
      Signed-off-by: NJohn Arbuckle <programmingkidx@gmail.com>
      [dwg: Re-wrapped commit message]
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      88d8d555
  5. 18 5月, 2018 1 次提交
  6. 21 2月, 2018 1 次提交
  7. 06 3月, 2017 3 次提交
  8. 03 3月, 2017 1 次提交
  9. 22 2月, 2017 8 次提交
  10. 02 2月, 2017 2 次提交
  11. 31 1月, 2017 12 次提交