[Top][All Lists]
[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
- [Qemu-devel] [RFC 0/6] i386: CPU: remove duplicate feature names,
Eduardo Habkost <=
- [Qemu-devel] [RFC 4/6] i386: kvm: use a #define for the set of alias feature bits, Eduardo Habkost, 2012/08/17
- [Qemu-devel] [RFC 2/6] i386: kill cpudef config section support, Eduardo Habkost, 2012/08/17
- [Qemu-devel] [RFC 3/6] i386: kvm: bit 10 of CPUID[8000_0001].EDX is reserved, Eduardo Habkost, 2012/08/17
- [Qemu-devel] [RFC 1/6] x86_cpudef_setup: coding style change, Eduardo Habkost, 2012/08/17
- [Qemu-devel] [RFC 6/6] i386: -cpu help: remove reference to specific CPUID leaves/registers, Eduardo Habkost, 2012/08/17
- [Qemu-devel] [RFC 5/6] i386: cpu: eliminate duplicate feature names, Eduardo Habkost, 2012/08/17
- Re: [Qemu-devel] [RFC 0/6] i386: CPU: remove duplicate feature names, Igor Mammedov, 2012/08/20