1. 30 7月, 2018 1 次提交
  2. 10 4月, 2017 1 次提交
  3. 17 2月, 2017 1 次提交
  4. 13 1月, 2017 1 次提交
  5. 21 12月, 2016 1 次提交
    • T
      Move target-* CPU file into a target/ folder · fcf5ef2a
      Thomas Huth 提交于
      We've currently got 18 architectures in QEMU, and thus 18 target-xxx
      folders in the root folder of the QEMU source tree. More architectures
      (e.g. RISC-V, AVR) are likely to be included soon, too, so the main
      folder of the QEMU sources slowly gets quite overcrowded with the
      target-xxx folders.
      To disburden the main folder a little bit, let's move the target-xxx
      folders into a dedicated target/ folder, so that target-xxx/ simply
      becomes target/xxx/ instead.
      
      Acked-by: Laurent Vivier <laurent@vivier.eu> [m68k part]
      Acked-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> [tricore part]
      Acked-by: Michael Walle <michael@walle.cc> [lm32 part]
      Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> [s390x part]
      Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> [s390x part]
      Acked-by: Eduardo Habkost <ehabkost@redhat.com> [i386 part]
      Acked-by: Artyom Tarasenko <atar4qemu@gmail.com> [sparc part]
      Acked-by: Richard Henderson <rth@twiddle.net> [alpha part]
      Acked-by: Max Filippov <jcmvbkbc@gmail.com> [xtensa part]
      Reviewed-by: David Gibson <david@gibson.dropbear.id.au> [ppc part]
      Acked-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> [cris&microblaze part]
      Acked-by: Guan Xuetao <gxt@mprc.pku.edu.cn> [unicore32 part]
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      fcf5ef2a
  6. 19 5月, 2016 1 次提交
  7. 24 3月, 2016 1 次提交
  8. 13 2月, 2016 1 次提交
  9. 29 1月, 2016 1 次提交
    • P
      x86: Clean up includes · b6a0aa05
      Peter Maydell 提交于
      Clean up includes so that osdep.h is included first and headers
      which it implies are not included manually.
      
      This commit was created with scripts/clean-includes.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1453832250-766-11-git-send-email-peter.maydell@linaro.org
      b6a0aa05
  10. 03 10月, 2015 1 次提交
  11. 16 9月, 2015 1 次提交
  12. 05 6月, 2015 1 次提交
  13. 05 6月, 2014 2 次提交
  14. 29 5月, 2014 1 次提交
  15. 14 3月, 2014 3 次提交
  16. 23 12月, 2013 1 次提交
  17. 22 11月, 2013 1 次提交
    • P
      target-i386: yield to another VCPU on PAUSE · b5fc314b
      Paolo Bonzini 提交于
      After commit b1bbfe72 (aio / timers: On timer modification, qemu_notify
      or aio_notify, 2013-08-21) FreeBSD guests report a huge slowdown.
      
      The problem shows up as soon as FreeBSD turns out its periodic (~1 ms)
      tick, but the timers are only the trigger for a pre-existing problem.
      
      Before the offending patch, setting a timer did a timer_settime system call.
      
      After, setting the timer exits the event loop (which uses poll) and
      reenters it with a new deadline.  This does not cause any slowdown; the
      difference is between one system call (timer_settime and a signal
      delivery (SIGALRM) before the patch, and two system calls afterwards
      (write to a pipe or eventfd + calling poll again when re-entering the
      event loop).
      
      Unfortunately, the exit/enter causes the main loop to grab the iothread
      lock, which in turns kicks the VCPU thread out of execution.  This
      causes TCG to execute the next VCPU in its round-robin scheduling of
      VCPUS.  When the second VCPU is mostly unused, FreeBSD runs a "pause"
      instruction in its idle loop which only burns cycles without any
      progress.  As soon as the timer tick expires, the first VCPU runs
      the interrupt handler but very soon it sets it again---and QEMU
      then goes back doing nothing in the second VCPU.
      
      The fix is to make the pause instruction do "cpu_loop_exit".
      Reported-by: NLuigi Rizzo <rizzo@iet.unipi.it>
      Reviewed-by: NRichard Henderson <rth@twiddle.net>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      b5fc314b
  18. 21 11月, 2013 1 次提交
    • P
      target-i386: yield to another VCPU on PAUSE · 81f3053b
      Paolo Bonzini 提交于
      After commit b1bbfe72 (aio / timers: On timer modification, qemu_notify
      or aio_notify, 2013-08-21) FreeBSD guests report a huge slowdown.
      
      The problem shows up as soon as FreeBSD turns out its periodic (~1 ms)
      tick, but the timers are only the trigger for a pre-existing problem.
      
      Before the offending patch, setting a timer did a timer_settime system call.
      
      After, setting the timer exits the event loop (which uses poll) and
      reenters it with a new deadline.  This does not cause any slowdown; the
      difference is between one system call (timer_settime and a signal
      delivery (SIGALRM) before the patch, and two system calls afterwards
      (write to a pipe or eventfd + calling poll again when re-entering the
      event loop).
      
      Unfortunately, the exit/enter causes the main loop to grab the iothread
      lock, which in turns kicks the VCPU thread out of execution.  This
      causes TCG to execute the next VCPU in its round-robin scheduling of
      VCPUS.  When the second VCPU is mostly unused, FreeBSD runs a "pause"
      instruction in its idle loop which only burns cycles without any
      progress.  As soon as the timer tick expires, the first VCPU runs
      the interrupt handler but very soon it sets it again---and QEMU
      then goes back doing nothing in the second VCPU.
      
      The fix is to make the pause instruction do "cpu_loop_exit".
      
      Cc: Richard Henderson <rth@twiddle.net>
      Reported-by: NLuigi Rizzo <rizzo@iet.unipi.it>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: NRichard Henderson <rth@twiddle.net>
      Message-id: 1384948442-24217-1-git-send-email-pbonzini@redhat.com
      Signed-off-by: NAnthony Liguori <aliguori@amazon.com>
      81f3053b
  19. 03 9月, 2013 1 次提交
  20. 10 7月, 2013 1 次提交
  21. 16 6月, 2013 6 次提交
  22. 02 5月, 2013 1 次提交
    • E
      target-i386: Replace cpuid_*features fields with a feature word array · 0514ef2f
      Eduardo Habkost 提交于
      This replaces the feature-bit fields on both X86CPU and x86_def_t
      structs with an array.
      
      With this, we will be able to simplify code that simply does the same
      operation on all feature words (e.g. kvm_check_features_against_host(),
      filter_features_for_kvm(), add_flagname_to_bitmaps(), CPU feature-bit
      property lookup/registration, and the proposed "feature-words" property)
      
      The following field replacements were made on X86CPU and x86_def_t:
      
        (cpuid_)features         -> features[FEAT_1_EDX]
        (cpuid_)ext_features     -> features[FEAT_1_ECX]
        (cpuid_)ext2_features    -> features[FEAT_8000_0001_EDX]
        (cpuid_)ext3_features    -> features[FEAT_8000_0001_ECX]
        (cpuid_)ext4_features    -> features[FEAT_C000_0001_EDX]
        (cpuid_)kvm_features     -> features[FEAT_KVM]
        (cpuid_)svm_features     -> features[FEAT_SVM]
        (cpuid_)7_0_ebx_features -> features[FEAT_7_0_EBX]
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Reviewed-by: NIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      0514ef2f
  23. 12 3月, 2013 1 次提交
  24. 15 1月, 2013 3 次提交
  25. 19 12月, 2012 1 次提交
  26. 15 8月, 2012 3 次提交
  27. 29 6月, 2012 1 次提交