1. 23 12月, 2012 3 次提交
    • J
      win32: Switch thread abstraction to us TLS variable internally · 6265e4ff
      Jan Kiszka 提交于
      We already depend on working __thread support for coroutines, so this
      complication here is no longer needed.
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      6265e4ff
    • E
      target-i386: CPUID: return highest basic leaf if eax > cpuid_xlevel · 57f26ae7
      Eduardo Habkost 提交于
      This fixes a subtle bug. A bug that probably won't cause trouble for any
      existing OS, but a bug anyway:
      
      Intel SDM Volume 2, CPUID Instruction states:
      
      > Two types of information are returned: basic and extended function
      > information. If a value entered for CPUID.EAX is higher than the maximum
      > input value for basic or extended function for that processor then the
      > data for the highest basic information leaf is returned. For example,
      > using the Intel Core i7 processor, the following is true:
      >
      >   CPUID.EAX = 05H (* Returns MONITOR/MWAIT leaf. *)
      >   CPUID.EAX = 0AH (* Returns Architectural Performance Monitoring leaf. *)
      >   CPUID.EAX = 0BH (* Returns Extended Topology Enumeration leaf. *)
      >   CPUID.EAX = 0CH (* INVALID: Returns the same information as CPUID.EAX = 0BH. *)
      >   CPUID.EAX = 80000008H (* Returns linear/physical address size data. *)
      >   CPUID.EAX = 8000000AH (* INVALID: Returns same information as CPUID.EAX = 0BH. *)
      
      AMD's CPUID Specification, on the other hand, is less specific:
      
      > The CPUID instruction supports two sets or ranges of functions,
      > standard and extended.
      >
      > • The smallest function number of the standard function range is
      >   Fn0000_0000. The largest function num- ber of the standard function
      >   range, for a particular implementation, is returned in CPUID
      >   Fn0000_0000_EAX.
      >
      > • The smallest function number of the extended function range is
      >   Fn8000_0000. The largest function num- ber of the extended function
      >   range, for a particular implementation, is returned in CPUID
      >   Fn8000_0000_EAX.
      >
      > Functions that are neither standard nor extended are undefined and
      > should not be relied upon.
      
      QEMU's behavior matched Intel's specification before, but this was
      changed by commit b3baa152. This patch
      restores the behavior documented by Intel when cpuid_xlevel2 is 0.
      
      The existing behavior when cpuid_xlevel2 is set (falling back to
      level=cpuid_xlevel) is being kept, as I couldn't find any public
      documentation on the CPUID 0xC0000000 function range on Centaur CPUs.
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      57f26ae7
    • L
      qemu-char: Inherit ptys and improve output from -serial pty · 58650218
      Lei Li 提交于
      Changes since V1:
        - Avoid crashing since qemu_opts_id() may return null on some
          systems according to Markus's suggestion.
      
      When controlling a qemu instance from another program, it's
      hard to know which serial port or monitor device is redirected
      to which pty. With more than one device using "pty" a lot of
      guesswork is involved.
      
      $ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty
      char device redirected to /dev/pts/5
      char device redirected to /dev/pts/6
      char device redirected to /dev/pts/7
      
      Although we can find out what everything else is connected to
      by the "info chardev" with "-monitor stdio" in the command line,
      It'd be very useful to be able to have qemu inherit pseudo-tty
      file descriptors so they could just be specified on the command
      line like:
      
      $ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty
      char device compat_monitor0 redirected to /dev/pts/5
      char device serial0 redirected to /dev/pts/6
      char device serial1 redirected to /dev/pts/7
      
      Referred link: https://bugs.launchpad.net/qemu/+bug/938552Signed-off-by: NLei Li <lilei@linux.vnet.ibm.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      58650218
  2. 22 12月, 2012 6 次提交
  3. 21 12月, 2012 31 次提交