On Mon, 10 Sep 2012 14:18:38 +0200 Igor Mammedov <imamm...@redhat.com> wrote:
> On Wed, 5 Sep 2012 17:41:10 -0300 > Eduardo Habkost <ehabk...@redhat.com> wrote: > > > Those models are maintained by QEMU and may require compatibility code > > to be added when making some changes. Keeping the data in the C source > > code should make it simpler to handle those details. > > > > Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> > > --- > > sysconfigs/target/cpus-x86_64.conf | 129 +--------------------- > > target-i386/cpu.c | 219 > > +++++++++++++++++++++++++++++++++++++ 2 files changed, 220 insertions(+), > > 128 deletions(-) > > > > diff --git a/sysconfigs/target/cpus-x86_64.conf > > b/sysconfigs/target/cpus-x86_64.conf index cee0ea9..3902189 100644 > > --- a/sysconfigs/target/cpus-x86_64.conf > > +++ b/sysconfigs/target/cpus-x86_64.conf > > @@ -1,128 +1 @@ > > -# x86 CPU MODELS > > - > > -[cpudef] > > - name = "Conroe" > > - level = "2" > > - vendor = "GenuineIntel" > > - family = "6" > > - model = "2" > > - stepping = "3" > > - feature_edx = "sse2 sse fxsr mmx clflush pse36 pat cmov mca pge mtrr > > sep apic cx8 mce pae msr tsc pse de fpu" > > - feature_ecx = "ssse3 sse3" > > - extfeature_edx = "i64 xd syscall" > ... > > + .ext2_features = CPUID_EXT2_LM | CPUID_EXT2_NX | > > CPUID_EXT2_SYSCALL, > Silent fix, replacing i64 with CPUID_EXT2_LM > looks like "i64" is mistake and never worked. In Intel & AMD cpuid guides Actually it works when setting feature fields because it uses setfeatures(), however setting i64 will set wrong bit if it's set using add_flagname_to_bitmaps() > 01.EDX[30] is reserved and what was probably meant/intended here is to use > 80000001h.EDX[29] /* CPUID_EXT2_LM */ > Perhaps patch that fixes it ought to go before this one. >