1. 02 4月, 2010 1 次提交
    • A
      linux-user/ia64: workaround ia64 strangenesses · 60e99246
      Aurelien Jarno 提交于
      ia64 has some strangenesses that need to be workaround:
      - it has a __clone2() syscall instead of the using clone() one, with
        different arguments, and which is not declared in the usual headers.
      - ucontext.uc_sigmask is declared with type long int, while it is
        actually of type sigset_t.
      - uc_mcontext, uc_sigmask, uc_stack, uc_link are declared using #define,
        which clashes with the target_ucontext fields. Change their names to
        tuc_*, as already done for some target architectures.
      60e99246
  2. 13 3月, 2010 1 次提交
    • P
      Add tb_page_addr_t · 41c1b1c9
      Paul Brook 提交于
      The page tracking code in exec.c is used by both userspace and system
      emulation.  Userspace emulation uses it to track virtual pages, and
      system emulation to track ram pages.  Introduce a new type to hold this
      kind of address.
      Signed-off-by: NPaul Brook <paul@codesourcery.com>
      41c1b1c9
  3. 24 2月, 2010 1 次提交
  4. 21 2月, 2010 1 次提交
  5. 20 2月, 2010 1 次提交
  6. 19 2月, 2010 1 次提交
  7. 15 2月, 2010 1 次提交
  8. 20 1月, 2010 7 次提交
  9. 09 1月, 2010 1 次提交
  10. 06 12月, 2009 1 次提交
  11. 07 11月, 2009 1 次提交
  12. 18 10月, 2009 1 次提交
  13. 12 9月, 2009 1 次提交
    • B
      Fix sys-queue.h conflict for good · 72cf2d4f
      Blue Swirl 提交于
      Problem: Our file sys-queue.h is a copy of the BSD file, but there are
      some additions and it's not entirely compatible. Because of that, there have
      been conflicts with system headers on BSD systems. Some hacks have been
      introduced in the commits 15cc9235,
      f40d7537,
      96555a96 and
      3990d09a but the fixes were fragile.
      
      Solution: Avoid the conflict entirely by renaming the functions and the
      file. Revert the previous hacks.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      72cf2d4f
  14. 24 8月, 2009 2 次提交
    • N
      cleanup cpu-exec.c, part 0/N: consolidate handle_cpu_signal · 0b5c1ce8
      Nathan Froyd 提交于
      handle_cpu_signal is very nearly copy-paste code for each target, with a
      few minor variations.  This patch sets up appropriate defaults for a
      generic handle_cpu_signal and provides overrides for particular targets
      that did things differently.  Fixing things like the persistent (XXX:
      use sigsetjmp) should now become somewhat easier.
      
      Previous comments on this patch suggest that the "activate soft MMU for
      this block" comments refer to defunct functionality.  I have removed
      such blocks for the appropriate targets in this patch.
      Signed-off-by: NNathan Froyd <froydnj@codesourcery.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      0b5c1ce8
    • A
      Unbreak large mem support by removing kqemu · 4a1418e0
      Anthony Liguori 提交于
      kqemu introduces a number of restrictions on the i386 target.  The worst is that
      it prevents large memory from working in the default build.
      
      Furthermore, kqemu is fundamentally flawed in a number of ways.  It relies on
      the TSC as a time source which will not be reliable on a multiple processor
      system in userspace.  Since most modern processors are multicore, this severely
      limits the utility of kqemu.
      
      kvm is a viable alternative for people looking to accelerate qemu and has the
      benefit of being supported by the upstream Linux kernel.  If someone can
      implement work arounds to remove the restrictions introduced by kqemu, I'm
      happy to avoid and/or revert this patch.
      
      N.B. kqemu will still function in the 0.11 series but this patch removes it from
      the 0.12 series.
      
      Paul, please Ack or Nack this patch.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      4a1418e0
  15. 22 8月, 2009 1 次提交
  16. 28 7月, 2009 2 次提交
  17. 17 7月, 2009 1 次提交
  18. 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
  19. 10 7月, 2009 1 次提交
  20. 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
  21. 27 5月, 2009 1 次提交
  22. 26 4月, 2009 1 次提交
  23. 25 4月, 2009 1 次提交
  24. 19 4月, 2009 1 次提交
  25. 10 4月, 2009 2 次提交
  26. 04 4月, 2009 1 次提交
  27. 17 3月, 2009 1 次提交
  28. 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
  29. 16 1月, 2009 2 次提交
  30. 15 1月, 2009 1 次提交