On Fri, 17 Aug 2012 14:53:36 -0300 Eduardo Habkost <ehabk...@redhat.com> wrote:
> 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 above 3 patches should go before cpu properties > 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 > > -- Regards, Igor