1. 15 3月, 2012 2 次提交
  2. 10 2月, 2012 1 次提交
  3. 06 10月, 2011 1 次提交
    • E
      PPC: Fix sync instructions problem in SMP · 4e85f82c
      Elie Richa 提交于
      In the current emulation of the load-and-reserve (lwarx) and
      store-conditional (stwcx.) instructions, the internal reservation
      mechanism is taken into account, however each CPU has its own
      reservation information and this information is not synchronized between
      CPUs to perform proper synchronization.
      The following test case with 2 CPUs shows that the semantics of the
      "lwarx" and "stwcx." instructions are not preserved by the emulation.
      The test case does the following :
      	- CPU0: reserve a memory location
      	- CPU1: reserve the same memory location
      	- CPU0: perform stwcx. on the location
      The last store-conditional operation succeeds while it is supposed to
      fail since the reservation was supposed to be lost at the second reserve
      operation.
      
      This (one line) patch fixes this problem in a very simple manner by
      removing the reservation of a CPU every time it is scheduled (in
      cpu_exec()). While this is a harsh workaround, it does not affect the
      guest code much because reservations are usually held for a very short
      time, that is an lwarx is almost always followed by an stwcx. a few
      instructions below. Therefore, in most cases, the reservation will be
      taken and consumed before a CPU switch occurs. However in the rare case
      where a CPU switch does occur between the lwarx and its corresponding
      stwcx.  this patch solves a potential erroneous behavior of the
      synchronization instructions.
      Signed-off-by: NElie Richa <richa@adacore.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      4e85f82c
  4. 11 9月, 2011 2 次提交
  5. 10 9月, 2011 1 次提交
  6. 13 7月, 2011 1 次提交
  7. 27 6月, 2011 6 次提交
  8. 21 6月, 2011 1 次提交
  9. 01 6月, 2011 1 次提交
  10. 28 5月, 2011 2 次提交
  11. 22 5月, 2011 1 次提交
  12. 09 5月, 2011 2 次提交
  13. 08 5月, 2011 2 次提交
  14. 20 4月, 2011 1 次提交
  15. 19 4月, 2011 1 次提交
  16. 13 4月, 2011 1 次提交
  17. 16 3月, 2011 1 次提交
  18. 13 3月, 2011 1 次提交
  19. 07 3月, 2011 1 次提交
  20. 14 2月, 2011 2 次提交
    • J
      kvm: Separate TCG from KVM cpu execution · 6792a57b
      Jan Kiszka 提交于
      Mixing up TCG bits with KVM already led to problems around eflags
      emulation on x86. Moreover, quite some code that TCG requires on cpu
      enty/exit is useless for KVM. So dispatch between tcg_cpu_exec and
      kvm_cpu_exec as early as possible.
      
      The core logic of cpu_halted from cpu_exec is added to
      kvm_arch_process_irqchip_events. Moving away from cpu_exec makes
      exception_index meaningless for KVM, we can simply pass the exit reason
      directly (only "EXCP_DEBUG vs. rest" is relevant).
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      6792a57b
    • J
      Move debug exception handling out of cpu_exec · 83f338f7
      Jan Kiszka 提交于
      To prepare splitting up KVM and TCG CPU entry/exit, move the debug
      exception into cpus.c and invoke cpu_handle_debug_exception on return
      from qemu_cpu_exec.
      
      This also allows to clean up the debug request signaling: We can assign
      the job of informing main-loop to qemu_system_debug_request and stop the
      calling cpu directly in cpu_handle_debug_exception. That means a debug
      stop will now only be signaled via debug_requested and not additionally
      via vmstop_requested.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      83f338f7
  21. 27 12月, 2010 1 次提交
    • A
      target-mips: fix host CPU consumption when guest is idle · 4cdc1cd1
      Aurelien Jarno 提交于
      When the CPU is in wait state, do not wake-up if an interrupt can't be
      taken. This avoid host CPU running at 100% if a device (e.g. timer) has
      an interrupt line left enabled.
      
      Also factorize code to check if interrupts are enabled in
      cpu_mips_hw_interrupts_pending().
      
      Based on a patch from Edgar E. Iglesias <edgar.iglesias@gmail.com>
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> 
      4cdc1cd1
  22. 05 12月, 2010 1 次提交
  23. 06 8月, 2010 1 次提交
  24. 22 7月, 2010 3 次提交
  25. 12 6月, 2010 1 次提交
  26. 12 5月, 2010 1 次提交
  27. 05 5月, 2010 1 次提交