1. 22 8月, 2009 1 次提交
  2. 28 7月, 2009 2 次提交
  3. 17 7月, 2009 1 次提交
  4. 12 7月, 2009 1 次提交
    • I
      sparc64: trap handling corrections · 5210977a
      Igor Kovalenko 提交于
      On Sun, Jul 12, 2009 at 12:09 PM, Blue Swirl<blauwirbel@gmail.com> wrote:
      > On 7/12/09, Igor Kovalenko <igor.v.kovalenko@gmail.com> wrote:
      >> Good trap handling is required to process interrupts.
      >>  This patch fixes the following:
      >>
      >>  - sparc64 has no wim register
      >>  - sparc64 has no psret register, use IE bit of pstate
      >>   extract IE checking code to cpu_interrupts_enabled
      >>  - alternate globals are not available if cpu has GL feature
      >>   in this case bit AG of pstate is constant zero
      >>  - write to pstate must actually write pstate
      >>   even if cpu has GL feature
      >>
      >>  Also timer interrupt is handled using do_interrupt.
      >
      > A bit too much for one patch. Please also remove the code instead of
      > commenting out.
      
      I now excluded timer interrupt related part.
      To my mind other changes are essentially tied together.
      
      > PUT_PSR for Sparc64 needs CC_OP = CC_OP_FLAGS; like Sparc32.
      
      Fixed, please find attached the updated version.
      
      --
      Kind regards,
      Igor V. Kovalenko
      5210977a
  5. 10 7月, 2009 1 次提交
  6. 22 6月, 2009 1 次提交
    • G
      Handle init/sipi in a main cpu exec loop. (v2) · b09ea7d5
      Gleb Natapov 提交于
      This should fix compilation problem in case of CONFIG_USER_ONLY.
      
      Currently INIT/SIPI is handled in the context of CPU that sends IPI.
      This patch changes this to handle them like all other events in a main
      cpu exec loop. When KVM will gain thread per vcpu capability it will
      be much more clear to handle those event by cpu thread itself and not
      modify one cpu's state from the context of the other.
      Signed-off-by: NGleb Natapov <gleb@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      b09ea7d5
  7. 27 5月, 2009 1 次提交
  8. 26 4月, 2009 1 次提交
  9. 25 4月, 2009 1 次提交
  10. 19 4月, 2009 1 次提交
  11. 10 4月, 2009 2 次提交
  12. 04 4月, 2009 1 次提交
  13. 17 3月, 2009 1 次提交
  14. 07 3月, 2009 1 次提交
    • A
      Fix race condition on access to env->interrupt_request · be214e6c
      aurel32 提交于
      env->interrupt_request is accessed as the bit level from both main code
      and signal handler, making a race condition possible even on CISC CPU.
      This causes freeze of QEMU under high load when running the dyntick
      clock.
      
      The patch below move the bit corresponding to CPU_INTERRUPT_EXIT in a
      separate variable, declared as volatile sig_atomic_t, so it should be
      work even on RISC CPU.
      
      We may want to move the cpu_interrupt(env, CPU_INTERRUPT_EXIT) case in
      its own function and get rid of CPU_INTERRUPT_EXIT. That can be done
      later, I wanted to keep the patch short for easier review.
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6728 c046a42c-6fe2-441c-8c8c-71466251a162
      be214e6c
  15. 16 1月, 2009 2 次提交
  16. 15 1月, 2009 2 次提交
  17. 05 1月, 2009 1 次提交
  18. 21 12月, 2008 1 次提交
  19. 19 12月, 2008 1 次提交
  20. 13 12月, 2008 1 次提交
  21. 12 12月, 2008 1 次提交
  22. 06 12月, 2008 1 次提交
  23. 26 11月, 2008 1 次提交
  24. 22 11月, 2008 1 次提交
  25. 19 11月, 2008 4 次提交
  26. 17 11月, 2008 1 次提交
  27. 10 11月, 2008 1 次提交
  28. 07 11月, 2008 2 次提交
  29. 06 11月, 2008 1 次提交
    • A
      Add KVM support to QEMU · 7ba1e619
      aliguori 提交于
      This patch adds very basic KVM support.  KVM is a kernel module for Linux that
      allows userspace programs to make use of hardware virtualization support.  It
      current supports x86 hardware virtualization using Intel VT-x or AMD-V.  It
      also supports IA64 VT-i, PPC 440, and S390.
      
      This patch only implements the bare minimum support to get a guest booting.  It
      has very little impact the rest of QEMU and attempts to integrate nicely with
      the rest of QEMU.
      
      Even though this implementation is basic, it is significantly faster than TCG.
      Booting and shutting down a Linux guest:
      
      w/TCG:  1:32.36 elapsed  84% CPU
      
      w/KVM:  0:31.14 elapsed  59% CPU
      
      Right now, KVM is disabled by default and must be explicitly enabled with
       -enable-kvm.  We can enable it by default later when we have had better
      testing.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5627 c046a42c-6fe2-441c-8c8c-71466251a162
      7ba1e619
  30. 04 11月, 2008 1 次提交
    • M
      Add safety net against potential infinite loop · 55e8b85e
      malc 提交于
      cpu_interrupt might be called while translating the TB, but before it
      is linked into a potentially infinite loop and becomes env->current_tb.
      
      Currently this can (and does) cause huge problems only when using
      dyntick clock, with other (periodic) clocks host_alarm_handler will
      eventually be executed resulting in a call to cpu_interrupt which will
      reset the recursion of running TB and the damage is "only" latency.
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5620 c046a42c-6fe2-441c-8c8c-71466251a162
      55e8b85e
  31. 27 10月, 2008 1 次提交
  32. 08 10月, 2008 1 次提交