1. 18 12月, 2015 1 次提交
  2. 21 9月, 2015 1 次提交
    • A
      target-ppc: Fix SRR0 when taking unaligned exceptions · 6bb9a0a9
      Anton Blanchard 提交于
      We are setting SRR0 to the instruction before the one causing the
      unaligned exception. A quick testcase:
      
      . = 0x100
      .globl _start
      _start:
      	/* Cause a 0x600 */
      	li	3,0x1
      	stwcx.	3,0,3
      1:	b	1b
      
      . = 0x600
      1:	b	1b
      
      Built into something we can load as a BIOS image:
      
      gcc -mbig -c test.S
      ld -EB -Ttext 0x0 -o test test.o
      objcopy -O binary test test.bin
      
      Run with:
      
      qemu-system-ppc64 -nographic -bios test.bin
      
      Shows an incorrect SRR0 (points at the li):
      
      SRR0 0000000000000100
      
      With the patch we get the correct SRR0:
      
      SRR0 0000000000000104
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      6bb9a0a9
  3. 26 9月, 2014 1 次提交
  4. 25 8月, 2014 1 次提交
  5. 16 6月, 2014 2 次提交
  6. 05 6月, 2014 1 次提交
  7. 29 5月, 2014 1 次提交
  8. 08 4月, 2014 1 次提交
    • A
      PPC: Clean up DECR implementation · e81a982a
      Alexander Graf 提交于
      There are 3 different variants of the decrementor for BookE and BookS.
      
      The BookE variant sets TSR[DIS] to 1 when the DEC value becomes 1 or 0. TSR[DIS]
      is then the indicator whether the decrementor interrupt line is asserted or not.
      
      The old BookS variant treats DEC as an edge interrupt that gets triggered when
      the DEC value's top bit turns 1 from 0.
      
      The new BookS variant maintains the assertion bit inside DEC itself. Whenever
      the DEC value becomes negative (top bit set) the DEC interrupt line is asserted.
      
      So far we implemented mostly the old BookS variant. Let's do them all properly.
      
      This fixes booting pseries ppc64 guest images in TCG mode for me.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      e81a982a
  9. 14 3月, 2014 4 次提交
  10. 11 2月, 2014 1 次提交
  11. 20 12月, 2013 1 次提交
  12. 03 9月, 2013 1 次提交
  13. 02 9月, 2013 1 次提交
  14. 10 7月, 2013 1 次提交
  15. 12 3月, 2013 3 次提交
  16. 08 1月, 2013 2 次提交
    • A
      PPC: Bring EPR support closer to reality · 68c2dd70
      Alexander Graf 提交于
      We already used to support the external proxy facility of FSL MPICs,
      but only implemented it halfway correctly.
      
      This patch adds support for
      
        * dynamic enablement of the EPR facility
        * interrupt acknowledgement only when the interrupt is delivered
      
      This way the implementation now is closer to real hardware.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      68c2dd70
    • S
      ppc/booke: fix crit/mcheck/debug exceptions · a1bb7384
      Scott Wood 提交于
      Book E does not play games with certain bits of xSRR1 being MSR save
      bits and others being error status.  xSRR1 is the old MSR, period.
      This was causing things like MSR[CE] to be lost, even in the saved
      version, as soon as you take an exception.
      
      rfci/rfdi/rfmci are fixed to pass the actual xSRR1 register contents,
      rather than the register number.
      
      Put FIXME comments on the hack that is "asrr0/1".  The whole point of
      separate exception levels is so that you can, for example, take a machine
      check or debug interrupt without corrupting critical-level operations.
      The right xSRR0/1 set needs to be chosen based on CPU type flags.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      a1bb7384
  17. 31 10月, 2012 2 次提交
  18. 24 6月, 2012 5 次提交