1. 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
  2. 24 12月, 2009 1 次提交
  3. 21 12月, 2009 3 次提交
  4. 20 12月, 2009 1 次提交
  5. 11 12月, 2009 1 次提交
  6. 24 11月, 2009 1 次提交
  7. 23 11月, 2009 1 次提交
  8. 22 11月, 2009 1 次提交
  9. 07 11月, 2009 1 次提交
  10. 02 10月, 2009 2 次提交
  11. 14 9月, 2009 1 次提交
  12. 13 9月, 2009 1 次提交
  13. 12 9月, 2009 1 次提交
  14. 16 8月, 2009 1 次提交
  15. 05 8月, 2009 1 次提交
    • I
      Sparc64: replace tsptr with helper routine · 8194f35a
      Igor Kovalenko 提交于
      tl and tsptr of members sparc64 cpu state must be changed
      simultaneously to keep trap state window in sync with current
      trap level. Currently translation of store to tl does not change
      tsptr, which leads to corrupt trap state on corresponding
      trap level.
      
      This patch removes tsptr from sparc64 cpu state and replaces
      all uses with call to helper routine.
      
      Changes v0->v1:
      - reimplemented helper routine with tcg generator
      - on cpu reset trap type and pstate are populated with power-on reset
      values, including tl=maxtl
      
      Signed-off-by: igor.v.kovalenko@gmail.com
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      8194f35a
  16. 04 8月, 2009 1 次提交
  17. 28 7月, 2009 1 次提交
  18. 17 7月, 2009 2 次提交
  19. 16 7月, 2009 1 次提交
  20. 10 7月, 2009 2 次提交
  21. 09 7月, 2009 1 次提交
  22. 08 7月, 2009 1 次提交
    • A
      linux-user: increment MAX_ARG_PAGES · fd4d81dd
      Arnaud Patard 提交于
      There's a error When doing something like that :
      find / -type f -print0 | xargs -0 echo
      
      [ done in a arm chroot with qemu-arm and linux binfmt stuff or with
      find / -type f -print0 | qemu-arm -L <path> <path>/usr/bin/xargs -0
      echo ]
      
      Doing this outsite qemu is fine. The problem was the huge number of
      parameters. Increasing MAX_ARG_PAGES is fixing that.
      
      While I was at it, I've modified linux-user/main.c to report error code
      of loader_exec. It helps to debug/know what's wrong.
      Signed-off-by: NArnaud Patard <arnaud.patard@rtp-net.org>
      Signed-off-by: NRiku Voipio <riku.voipio@iki.fi>
      fd4d81dd
  23. 16 6月, 2009 1 次提交
  24. 27 5月, 2009 1 次提交
  25. 16 5月, 2009 1 次提交
  26. 14 5月, 2009 1 次提交
  27. 21 4月, 2009 2 次提交
    • P
      MIPS signal handling fixes. · 0b1bcb00
      pbrook 提交于
      Also fixes a register corruption bug in do_sigreturn. When "returning"
      from sigreturn we are actually restoring the virtual cpu state from the
      signal frame.  This is actually surprisingly hard to observe in practice.
      
      Typically an thread be blocked in a FUTEX_WAIT call when the signal arrives,
      so the effect is a spurious syscall success and the introduction of a
      subtle race condition.
      
      On x86/arm a syscall modifies a single word sized register, so
      do_sigreturn can just return that value.  On MIPS a syscall clobbers
      multiple registers, so we need additional smarts.  My solution is to
      invent a magic errno value that means "don't touch CPU state".
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7194 c046a42c-6fe2-441c-8c8c-71466251a162
      0b1bcb00
    • P
      MIPS: Raise SIGSEGV, not SIGILL when an access faults. · e4474235
      pbrook 提交于
      Signed-off-by: NPaul Brook <paul@codesourcery.com>
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7193 c046a42c-6fe2-441c-8c8c-71466251a162
      e4474235
  28. 16 4月, 2009 1 次提交
  29. 09 4月, 2009 1 次提交
  30. 08 4月, 2009 1 次提交
  31. 06 4月, 2009 1 次提交
  32. 08 3月, 2009 1 次提交
  33. 07 3月, 2009 1 次提交
  34. 01 3月, 2009 1 次提交