1. 24 2月, 2013 5 次提交
  2. 01 2月, 2013 2 次提交
  3. 19 12月, 2012 3 次提交
  4. 08 12月, 2012 3 次提交
  5. 27 11月, 2012 1 次提交
    • J
      PPC: Fix missing TRACE exception · f0cc4aa8
      Julio Guerra 提交于
      This patch fixes bug 1031698 :
      https://bugs.launchpad.net/qemu/+bug/1031698
      
      If we look at the (truncated) translation of the conditional branch
      instruction in the test submitted in the bug post, the call to the
      exception helper is missing in the "bne-false" chunk of translated
      code :
      
      IN:
      bne-    0x1800278
      
      OUT:
      0xb544236d:  jne    0xb5442396
      
      0xb5442373:  mov    %ebp,(%esp)
      0xb5442376:  mov    $0x44,%ebx
      0xb544237b:  mov    %ebx,0x4(%esp)
      0xb544237f:  mov    $0x1800278,%ebx
      0xb5442384:  mov    %ebx,0x25c(%ebp)
      0xb544238a:  call   0x827475a
                           ^^^^^^^^^^^^^^^^^^
      
      0xb5442396:  mov    %ebp,(%esp)
      0xb5442399:  mov    $0x44,%ebx
      0xb544239e:  mov    %ebx,0x4(%esp)
      0xb54423a2:  mov    $0x1800270,%ebx
      0xb54423a7:  mov    %ebx,0x25c(%ebp)
      
      Indeed, gen_exception(ctx, excp) called by gen_goto_tb (called by
      gen_bcond) changes ctx->exception's value to excp's :
      
      gen_bcond()
      {
        gen_goto_tb(ctx, 0, ctx->nip + li - 4);
        /* ctx->exception value is POWERPC_EXCP_BRANCH */
      
        gen_goto_tb(ctx, 1, ctx->nip);
        /* ctx->exception now value is POWERPC_EXCP_TRACE */
      }
      
      Making the following gen_goto_tb()'s test false during the second call :
      
      if ((ctx->singlestep_enabled &
          (CPU_BRANCH_STEP | CPU_SINGLE_STEP)) &&
          ctx->exception == POWERPC_EXCP_BRANCH /* false...*/) {
               target_ulong tmp = ctx->nip;
               ctx->nip = dest;
               /* ... and this is the missing call */
               gen_exception(ctx, POWERPC_EXCP_TRACE);
               ctx->nip = tmp;
      }
      
      So the patch simply adds the missing matching case, fixing our problem.
      Signed-off-by: NJulio Guerra <guerr@julio.in>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      f0cc4aa8
  6. 17 11月, 2012 2 次提交
  7. 10 11月, 2012 1 次提交
  8. 01 11月, 2012 1 次提交
    • D
      target-ppc: Extend FPU state for newer POWER CPUs · 30304420
      David Gibson 提交于
      This patch adds some extra FPU state to CPUPPCState.  Specifically,
      fpscr is extended to a target_ulong bits, since some recent (64 bit)
      CPUs now have more status bits than fit inside 32 bits.  Also, we add
      the 32 VSR registers present on CPUs with VSX (these extend the
      standard FP regs, which together with the Altivec/VMX registers form a
      64 x 128bit register file for VSX).
      
      We don't actually support the instructions using these extra registers
      in TCG yet, but we still need a place to store the state so we can
      sync it with KVM and savevm/loadvm it.  This patch updates the savevm
      code to not fail on the extended state, but also does not actually
      save it - that's a project for another patch.
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      30304420
  9. 28 9月, 2012 1 次提交
  10. 29 8月, 2012 1 次提交
  11. 25 6月, 2012 1 次提交
  12. 24 6月, 2012 8 次提交
  13. 15 4月, 2012 1 次提交
  14. 15 3月, 2012 3 次提交
  15. 29 2月, 2012 1 次提交
  16. 02 2月, 2012 6 次提交