qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC 0/6] i386: CPU: remove duplicate feature names


From: Eduardo Habkost
Subject: [Qemu-devel] [RFC 0/6] i386: CPU: remove duplicate feature names
Date: Fri, 17 Aug 2012 14:53:36 -0300

The problem:

 - Some features are report at the same time on both CPUID[1].EDX and
   CPUID[8000_0001].EDX on AMD CPUs (e.g. fpu, tsc, msr, pae, mmx).
 - "-cpu <model>,+feature" should enable the bit only on CPUID[1] if
   it's not an AMD CPU, but it should enable the bit on both CPUID[1] and
   CPUID[8000_0001] if it's an AMD CPU.
 - The same should happen when implementing CPU properties: setting the
   property that enables a feature should set the duplicate CPUID[8000_0001].EDX
   bit only if CPU vendor is AMD.

Reference: http://article.gmane.org/gmane.comp.emulators.qemu/166024

The solution implemented by this series is:
 - On the CPU model table and while parsing CPU options/properties, set the bit
   only on CPUID[1] (the x86_def_t.features field).
 - When finishing initialization of the CPU cpuid fields, duplicate those
   feature bits on cpuid_ext2_features if and only if the CPU vendor is AMD.

This series also removes the "cpudef" config support, to make this work easier
(because the cpudef interface is based on low-level CPUID leaf+register
specification, instead of a set of higher-level per-feature object properties).

Eduardo Habkost (6):
  x86_cpudef_setup: coding style change
  i386: kill cpudef config section support
  i386: kvm: bit 10 of CPUID[8000_0001].EDX is reserved
  i386: kvm: use a #define for the set of alias feature bits
  i386: cpu: eliminate duplicate feature names
  i386: -cpu help: remove reference to specific CPUID leaves/registers

 target-i386/cpu.c | 153 +++++++++++++-----------------------------------------
 target-i386/cpu.h |  12 +++++
 target-i386/kvm.c |   2 +-
 3 files changed, 50 insertions(+), 117 deletions(-)

-- 
1.7.11.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]