1. 23 12月, 2011 1 次提交
  2. 25 10月, 2011 3 次提交
  3. 04 10月, 2011 1 次提交
  4. 21 9月, 2011 1 次提交
  5. 07 8月, 2011 1 次提交
  6. 05 8月, 2011 1 次提交
  7. 30 7月, 2011 1 次提交
    • B
      exec.h cleanup · 3e457172
      Blue Swirl 提交于
      Move softmmu_exec.h include directives from target-*/exec.h to
      target-*/op_helper.c. Move also various other stuff only used in
      op_helper.c there.
      
      Define global env in dyngen-exec.h.
      
      For i386, move wrappers for segment and FPU helpers from user-exec.c
      to op_helper.c. Implement raise_exception_err_env() to handle dynamic
      CPUState. Move the function declarations to cpu.h since they can be
      used outside of op_helper.c context.
      
      LM32, s390x, UniCore32: remove unused cpu_halted(), regs_to_env() and
      env_to_regs().
      
      ARM: make raise_exception() static.
      
      Convert
      #include "exec.h"
      to
      #include "cpu.h"
      #include "dyngen-exec.h"
      and remove now unused target-*/exec.h.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      3e457172
  8. 27 6月, 2011 2 次提交
  9. 19 6月, 2011 1 次提交
    • J
      kvm: x86: Save/restore FPU OP, IP and DP · 42cc8fa6
      Jan Kiszka 提交于
      These FPU states are properly maintained by KVM but not yet by TCG. So
      far we unconditionally set them to 0 in the guest which may cause
      state corruptions, though not with modern guests.
      
      To avoid breaking backward migration, use a conditional subsection that
      is only written if any of the three fields is non-zero. The guest's
      FNINIT clears them frequently, and cleared IA32_MISC_ENABLE MSR[2]
      reduces the probability of non-zero values further so that this
      subsection is not expected to restrict migration in any common scenario.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      42cc8fa6
  10. 14 6月, 2011 1 次提交
  11. 03 6月, 2011 1 次提交
  12. 01 6月, 2011 1 次提交
  13. 09 5月, 2011 2 次提交
  14. 17 3月, 2011 1 次提交
  15. 15 3月, 2011 4 次提交
  16. 14 2月, 2011 1 次提交
    • G
      kvm: make tsc stable over migration and machine start · b8cc45d6
      Glauber Costa 提交于
      If the machine is stopped, we should not record two different tsc values
      upon a save operation. The same problem happens with kvmclock.
      
      But kvmclock is taking a different diretion, being now seen as a separate
      device. Since this is unlikely to happen with the tsc, I am taking the
      approach here of simply registering a handler for state change, and
      using a per-CPUState variable that prevents double updates for the TSC.
      Signed-off-by: NGlauber Costa <glommer@redhat.com>
      CC: Jan Kiszka <jan.kiszka@web.de>
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      b8cc45d6
  17. 23 1月, 2011 2 次提交
  18. 22 1月, 2011 1 次提交
  19. 21 12月, 2010 1 次提交
  20. 16 11月, 2010 1 次提交
  21. 30 10月, 2010 1 次提交
  22. 21 10月, 2010 2 次提交
    • M
      MCE: Relay UCR MCE to guest · c0532a76
      Marcelo Tosatti 提交于
      Port qemu-kvm's
      
      commit 4b62fff1101a7ad77553147717a8bd3bf79df7ef
      Author: Huang Ying <ying.huang@intel.com>
      Date:   Mon Sep 21 10:43:25 2009 +0800
      
          MCE: Relay UCR MCE to guest
      
          UCR (uncorrected recovery) MCE is supported in recent Intel CPUs,
          where some hardware error such as some memory error can be reported
          without PCC (processor context corrupted). To recover from such MCE,
          the corresponding memory will be unmapped, and all processes accessing
          the memory will be killed via SIGBUS.
      
          For KVM, if QEMU/KVM is killed, all guest processes will be killed
          too. So we relay SIGBUS from host OS to guest system via a UCR MCE
          injection. Then guest OS can isolate corresponding memory and kill
          necessary guest processes only. SIGBUS sent to main thread (not VCPU
          threads) will be broadcast to all VCPU threads as UCR MCE.
      
      aliguori: fix build
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      c0532a76
    • J
      Add svm cpuid features · 296acb64
      Joerg Roedel 提交于
      This patch adds the svm cpuid feature flags to the qemu
      intialization path. It also adds the svm features available
      on phenom to its cpu-definition and extends the host cpu
      type to support all svm features KVM can provide.
      Signed-off-by: NJoerg Roedel <joerg.roedel@amd.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      296acb64
  23. 03 7月, 2010 2 次提交
  24. 29 6月, 2010 1 次提交
  25. 19 6月, 2010 3 次提交
  26. 13 3月, 2010 2 次提交
  27. 23 2月, 2010 1 次提交
    • J
      Add cpu model configuration support.. · b5ec5ce0
      john cooper 提交于
      This is a reimplementation of prior versions which adds
      the ability to define cpu models for contemporary processors.
      The added models are likewise selected via -cpu <name>,
      and are intended to displace the existing convention
      of "-cpu qemu64" augmented with a series of feature flags.
      
      A primary motivation was determination of a least common
      denominator within a given processor class to simplify guest
      migration.  It is still possible to modify an arbitrary model
      via additional feature flags however the goal here was to
      make doing so unnecessary in typical usage.  The other
      consideration was providing models names reflective of
      current processors.  Both AMD and Intel have reviewed the
      models in terms of balancing generality of migration vs.
      excessive feature downgrade relative to released silicon.
      
      This version of the patch replaces the prior hard wired
      definitions with a configuration file approach for new
      models.  Existing models are thus far left as-is but may
      easily be transitioned to (or may be overridden by) the
      configuration file representation.
      
      Proposed new model definitions are provided here for current
      AMD and Intel processors.  Each model consists of a name
      used to select it on the command line (-cpu <name>), and a
      model_id which corresponds to a least common denominator
      commercial instance of the processor class.
      
      A table of names/model_ids may be queried via "-cpu ?model":
      
              :
          x86       Opteron_G3  AMD Opteron 23xx (Gen 3 Class Opteron)
          x86       Opteron_G2  AMD Opteron 22xx (Gen 2 Class Opteron)
          x86       Opteron_G1  AMD Opteron 240 (Gen 1 Class Opteron)
          x86          Nehalem  Intel Core i7 9xx (Nehalem Class Core i7)
          x86           Penryn  Intel Core 2 Duo P9xxx (Penryn Class Core 2)
          x86           Conroe  Intel Celeron_4x0 (Conroe/Merom Class Core 2)
              :
      
      Also added is "-cpu ?dump" which exhaustively outputs all config
      data for all defined models, and "-cpu ?cpuid" which enumerates
      all qemu recognized CPUID feature flags.
      
      The pseudo cpuid flag 'check' when added to the feature flag list
      will warn when feature flags (either implicit in a cpu model or
      explicit on the command line) would have otherwise been quietly
      unavailable to a guest:
      
          # qemu-system-x86_64 ... -cpu Nehalem,check
          warning: host cpuid 0000_0001 lacks requested flag 'sse4.2|sse4_2' [0x00100000]
          warning: host cpuid 0000_0001 lacks requested flag 'popcnt' [0x00800000]
      
      A similar 'enforce' pseudo flag exists which in addition
      to the above causes qemu to error exit if requested flags are
      unavailable.
      
      Configuration data for a cpu model resides in the target config
      file which by default will be installed as:
      
          /usr/local/etc/qemu/target-<arch>.conf
      
      The format of this file should be self explanatory given the
      definitions for the above six models and essentially mimics
      the structure of the static x86_def_t x86_defs.
      
      Encoding of cpuid flags names now allows aliases for both the
      configuration file and the command line which reconciles some
      Intel/AMD/Linux/Qemu naming differences.
      
      This patch was tested relative to qemu.git.
      Signed-off-by: Njohn cooper <john.cooper@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      b5ec5ce0