From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:35665) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TF4Qw-0004tt-RU for qemu-devel@nongnu.org; Fri, 21 Sep 2012 10:42:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TF4Qu-0004Jc-S7 for qemu-devel@nongnu.org; Fri, 21 Sep 2012 10:42:22 -0400 Received: from cantor2.suse.de ([195.135.220.15]:35807 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TF4Qu-0004JM-EH for qemu-devel@nongnu.org; Fri, 21 Sep 2012 10:42:20 -0400 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Fri, 21 Sep 2012 16:38:29 +0200 Message-Id: <1348238315-29748-6-git-send-email-afaerber@suse.de> In-Reply-To: <1348238315-29748-1-git-send-email-afaerber@suse.de> References: <1348238315-29748-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH 05/11] target-i386: Move CPU models from cpus-x86_64.conf to C List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Eduardo Habkost , anthony@codemonkey.ws, =?UTF-8?q?Andreas=20F=C3=A4rber?= From: Eduardo Habkost 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 Reviewed-by: Igor Mammedov Reviewed-by: Don Slutz Signed-off-by: Andreas F=C3=A4rber --- sysconfigs/target/cpus-x86_64.conf | 129 +-------------------- target-i386/cpu.c | 219 ++++++++++++++++++++++++++++++= ++++++ 2 Dateien ge=C3=A4ndert, 220 Zeilen hinzugef=C3=BCgt(+), 128 Zeilen entf= ernt(-) 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 =3D "Conroe" - level =3D "2" - vendor =3D "GenuineIntel" - family =3D "6" - model =3D "2" - stepping =3D "3" - feature_edx =3D "sse2 sse fxsr mmx clflush pse36 pat cmov mca pge mtr= r sep apic cx8 mce pae msr tsc pse de fpu" - feature_ecx =3D "ssse3 sse3" - extfeature_edx =3D "i64 xd syscall" - extfeature_ecx =3D "lahf_lm" - xlevel =3D "0x8000000A" - model_id =3D "Intel Celeron_4x0 (Conroe/Merom Class Core 2)" - -[cpudef] - name =3D "Penryn" - level =3D "2" - vendor =3D "GenuineIntel" - family =3D "6" - model =3D "2" - stepping =3D "3" - feature_edx =3D "sse2 sse fxsr mmx clflush pse36 pat cmov mca pge mtr= r sep apic cx8 mce pae msr tsc pse de fpu" - feature_ecx =3D "sse4.1 cx16 ssse3 sse3" - extfeature_edx =3D "i64 xd syscall" - extfeature_ecx =3D "lahf_lm" - xlevel =3D "0x8000000A" - model_id =3D "Intel Core 2 Duo P9xxx (Penryn Class Core 2)" - -[cpudef] - name =3D "Nehalem" - level =3D "2" - vendor =3D "GenuineIntel" - family =3D "6" - model =3D "2" - stepping =3D "3" - feature_edx =3D "sse2 sse fxsr mmx clflush pse36 pat cmov mca pge mtr= r sep apic cx8 mce pae msr tsc pse de fpu" - feature_ecx =3D "popcnt sse4.2 sse4.1 cx16 ssse3 sse3" - extfeature_edx =3D "i64 syscall xd" - extfeature_ecx =3D "lahf_lm" - xlevel =3D "0x8000000A" - model_id =3D "Intel Core i7 9xx (Nehalem Class Core i7)" - -[cpudef] - name =3D "Westmere" - level =3D "11" - vendor =3D "GenuineIntel" - family =3D "6" - model =3D "44" - stepping =3D "1" - feature_edx =3D "sse2 sse fxsr mmx clflush pse36 pat cmov mca pge mtr= r sep apic cx8 mce pae msr tsc pse de fpu" - feature_ecx =3D "aes popcnt sse4.2 sse4.1 cx16 ssse3 sse3" - extfeature_edx =3D "i64 syscall xd" - extfeature_ecx =3D "lahf_lm" - xlevel =3D "0x8000000A" - model_id =3D "Westmere E56xx/L56xx/X56xx (Nehalem-C)" - -[cpudef] - name =3D "SandyBridge" - level =3D "0xd" - vendor =3D "GenuineIntel" - family =3D "6" - model =3D "42" - stepping =3D "1" - feature_edx =3D " sse2 sse fxsr mmx clflush pse36 pat cmov mca pge mt= rr sep apic cx8 mce pae msr tsc pse de fpu" - feature_ecx =3D "avx xsave aes tsc-deadline popcnt x2apic sse4.2 sse4= .1 cx16 ssse3 pclmulqdq sse3" - extfeature_edx =3D "i64 rdtscp nx syscall " - extfeature_ecx =3D "lahf_lm" - xlevel =3D "0x8000000A" - model_id =3D "Intel Xeon E312xx (Sandy Bridge)" - -[cpudef] - name =3D "Opteron_G1" - level =3D "5" - vendor =3D "AuthenticAMD" - family =3D "15" - model =3D "6" - stepping =3D "1" - feature_edx =3D "sse2 sse fxsr mmx clflush pse36 pat cmov mca pge mtr= r sep apic cx8 mce pae msr tsc pse de fpu" - feature_ecx =3D "sse3" - extfeature_edx =3D "lm fxsr mmx nx pse36 pat cmov mca pge mtrr syscal= l apic cx8 mce pae msr tsc pse de fpu" - extfeature_ecx =3D " " - xlevel =3D "0x80000008" - model_id =3D "AMD Opteron 240 (Gen 1 Class Opteron)" - -[cpudef] - name =3D "Opteron_G2" - level =3D "5" - vendor =3D "AuthenticAMD" - family =3D "15" - model =3D "6" - stepping =3D "1" - feature_edx =3D "sse2 sse fxsr mmx clflush pse36 pat cmov mca pge mtr= r sep apic cx8 mce pae msr tsc pse de fpu" - feature_ecx =3D "cx16 sse3" - extfeature_edx =3D "lm rdtscp fxsr mmx nx pse36 pat cmov mca pge mtrr= syscall apic cx8 mce pae msr tsc pse de fpu" - extfeature_ecx =3D "svm lahf_lm" - xlevel =3D "0x80000008" - model_id =3D "AMD Opteron 22xx (Gen 2 Class Opteron)" - -[cpudef] - name =3D "Opteron_G3" - level =3D "5" - vendor =3D "AuthenticAMD" - family =3D "15" - model =3D "6" - stepping =3D "1" - feature_edx =3D "sse2 sse fxsr mmx clflush pse36 pat cmov mca pge mtr= r sep apic cx8 mce pae msr tsc pse de fpu" - feature_ecx =3D "popcnt cx16 monitor sse3" - extfeature_edx =3D "lm rdtscp fxsr mmx nx pse36 pat cmov mca pge mtrr= syscall apic cx8 mce pae msr tsc pse de fpu" - extfeature_ecx =3D "misalignsse sse4a abm svm lahf_lm" - xlevel =3D "0x80000008" - model_id =3D "AMD Opteron 23xx (Gen 3 Class Opteron)" - -[cpudef] - name =3D "Opteron_G4" - level =3D "0xd" - vendor =3D "AuthenticAMD" - family =3D "21" - model =3D "1" - stepping =3D "2" - feature_edx =3D "sse2 sse fxsr mmx clflush pse36 pat cmov mca pge mtr= r sep apic cx8 mce pae msr tsc pse de fpu" - feature_ecx =3D "avx xsave aes popcnt sse4.2 sse4.1 cx16 ssse3 pclmul= qdq sse3" - extfeature_edx =3D "lm rdtscp pdpe1gb fxsr mmx nx pse36 pat cmov mca = pge mtrr syscall apic cx8 mce pae msr tsc pse de fpu" - extfeature_ecx =3D " fma4 xop 3dnowprefetch misalignsse sse4a abm svm= lahf_lm" - xlevel =3D "0x8000001A" - model_id =3D "AMD Opteron 62xx class CPU" - +# The CPU models from this file are now built-in in the QEMU source code diff --git a/target-i386/cpu.c b/target-i386/cpu.c index d2af0ff..73302d8 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -490,6 +490,225 @@ static x86_def_t builtin_x86_defs[] =3D { .xlevel =3D 0x8000000A, .model_id =3D "Intel(R) Atom(TM) CPU N270 @ 1.60GHz", }, + { + .name =3D "Conroe", + .level =3D 2, + .vendor1 =3D CPUID_VENDOR_INTEL_1, + .vendor2 =3D CPUID_VENDOR_INTEL_2, + .vendor3 =3D CPUID_VENDOR_INTEL_3, + .family =3D 6, + .model =3D 2, + .stepping =3D 3, + .features =3D CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | CPUID_MMX | + CPUID_CLFLUSH | CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | CPUI= D_MCA | + CPUID_PGE | CPUID_MTRR | CPUID_SEP | CPUID_APIC | CPUID_CX8= | + CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | + CPUID_DE | CPUID_FP87, + .ext_features =3D CPUID_EXT_SSSE3 | CPUID_EXT_SSE3, + .ext2_features =3D CPUID_EXT2_LM | CPUID_EXT2_NX | CPUID_EXT2_SY= SCALL, + .ext3_features =3D CPUID_EXT3_LAHF_LM, + .xlevel =3D 0x8000000A, + .model_id =3D "Intel Celeron_4x0 (Conroe/Merom Class Core 2)", + }, + { + .name =3D "Penryn", + .level =3D 2, + .vendor1 =3D CPUID_VENDOR_INTEL_1, + .vendor2 =3D CPUID_VENDOR_INTEL_2, + .vendor3 =3D CPUID_VENDOR_INTEL_3, + .family =3D 6, + .model =3D 2, + .stepping =3D 3, + .features =3D CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | CPUID_MMX | + CPUID_CLFLUSH | CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | CPUI= D_MCA | + CPUID_PGE | CPUID_MTRR | CPUID_SEP | CPUID_APIC | CPUID_CX8= | + CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | + CPUID_DE | CPUID_FP87, + .ext_features =3D CPUID_EXT_SSE41 | CPUID_EXT_CX16 | CPUID_EXT_S= SSE3 | + CPUID_EXT_SSE3, + .ext2_features =3D CPUID_EXT2_LM | CPUID_EXT2_NX | CPUID_EXT2_SY= SCALL, + .ext3_features =3D CPUID_EXT3_LAHF_LM, + .xlevel =3D 0x8000000A, + .model_id =3D "Intel Core 2 Duo P9xxx (Penryn Class Core 2)", + }, + { + .name =3D "Nehalem", + .level =3D 2, + .vendor1 =3D CPUID_VENDOR_INTEL_1, + .vendor2 =3D CPUID_VENDOR_INTEL_2, + .vendor3 =3D CPUID_VENDOR_INTEL_3, + .family =3D 6, + .model =3D 2, + .stepping =3D 3, + .features =3D CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | CPUID_MMX | + CPUID_CLFLUSH | CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | CPUI= D_MCA | + CPUID_PGE | CPUID_MTRR | CPUID_SEP | CPUID_APIC | CPUID_CX8= | + CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | + CPUID_DE | CPUID_FP87, + .ext_features =3D CPUID_EXT_POPCNT | CPUID_EXT_SSE42 | CPUID_EXT= _SSE41 | + CPUID_EXT_CX16 | CPUID_EXT_SSSE3 | CPUID_EXT_SSE3, + .ext2_features =3D CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EX= T2_NX, + .ext3_features =3D CPUID_EXT3_LAHF_LM, + .xlevel =3D 0x8000000A, + .model_id =3D "Intel Core i7 9xx (Nehalem Class Core i7)", + }, + { + .name =3D "Westmere", + .level =3D 11, + .vendor1 =3D CPUID_VENDOR_INTEL_1, + .vendor2 =3D CPUID_VENDOR_INTEL_2, + .vendor3 =3D CPUID_VENDOR_INTEL_3, + .family =3D 6, + .model =3D 44, + .stepping =3D 1, + .features =3D CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | CPUID_MMX | + CPUID_CLFLUSH | CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | CPUI= D_MCA | + CPUID_PGE | CPUID_MTRR | CPUID_SEP | CPUID_APIC | CPUID_CX8= | + CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | + CPUID_DE | CPUID_FP87, + .ext_features =3D CPUID_EXT_AES | CPUID_EXT_POPCNT | CPUID_EXT_S= SE42 | + CPUID_EXT_SSE41 | CPUID_EXT_CX16 | CPUID_EXT_SSSE3 | + CPUID_EXT_SSE3, + .ext2_features =3D CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EX= T2_NX, + .ext3_features =3D CPUID_EXT3_LAHF_LM, + .xlevel =3D 0x8000000A, + .model_id =3D "Westmere E56xx/L56xx/X56xx (Nehalem-C)", + }, + { + .name =3D "SandyBridge", + .level =3D 0xd, + .vendor1 =3D CPUID_VENDOR_INTEL_1, + .vendor2 =3D CPUID_VENDOR_INTEL_2, + .vendor3 =3D CPUID_VENDOR_INTEL_3, + .family =3D 6, + .model =3D 42, + .stepping =3D 1, + .features =3D CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | CPUID_MMX | + CPUID_CLFLUSH | CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | CPUI= D_MCA | + CPUID_PGE | CPUID_MTRR | CPUID_SEP | CPUID_APIC | CPUID_CX8= | + CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | + CPUID_DE | CPUID_FP87, + .ext_features =3D CPUID_EXT_AVX | CPUID_EXT_XSAVE | CPUID_EXT_AE= S | + CPUID_EXT_TSC_DEADLINE_TIMER | CPUID_EXT_POPCNT | + CPUID_EXT_X2APIC | CPUID_EXT_SSE42 | CPUID_EXT_SSE41 | + CPUID_EXT_CX16 | CPUID_EXT_SSSE3 | CPUID_EXT_PCLMULQDQ | + CPUID_EXT_SSE3, + .ext2_features =3D CPUID_EXT2_LM | CPUID_EXT2_RDTSCP | CPUID_EXT= 2_NX | + CPUID_EXT2_SYSCALL, + .ext3_features =3D CPUID_EXT3_LAHF_LM, + .xlevel =3D 0x8000000A, + .model_id =3D "Intel Xeon E312xx (Sandy Bridge)", + }, + { + .name =3D "Opteron_G1", + .level =3D 5, + .vendor1 =3D CPUID_VENDOR_AMD_1, + .vendor2 =3D CPUID_VENDOR_AMD_2, + .vendor3 =3D CPUID_VENDOR_AMD_3, + .family =3D 15, + .model =3D 6, + .stepping =3D 1, + .features =3D CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | CPUID_MMX | + CPUID_CLFLUSH | CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | CPUI= D_MCA | + CPUID_PGE | CPUID_MTRR | CPUID_SEP | CPUID_APIC | CPUID_CX8= | + CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | + CPUID_DE | CPUID_FP87, + .ext_features =3D CPUID_EXT_SSE3, + .ext2_features =3D CPUID_EXT2_LM | CPUID_EXT2_FXSR | CPUID_EXT2_= MMX | + CPUID_EXT2_NX | CPUID_EXT2_PSE36 | CPUID_EXT2_PAT | + CPUID_EXT2_CMOV | CPUID_EXT2_MCA | CPUID_EXT2_PGE | + CPUID_EXT2_MTRR | CPUID_EXT2_SYSCALL | CPUID_EXT2_APIC | + CPUID_EXT2_CX8 | CPUID_EXT2_MCE | CPUID_EXT2_PAE | CPUID_EX= T2_MSR | + CPUID_EXT2_TSC | CPUID_EXT2_PSE | CPUID_EXT2_DE | CPUID_EXT= 2_FPU, + .xlevel =3D 0x80000008, + .model_id =3D "AMD Opteron 240 (Gen 1 Class Opteron)", + }, + { + .name =3D "Opteron_G2", + .level =3D 5, + .vendor1 =3D CPUID_VENDOR_AMD_1, + .vendor2 =3D CPUID_VENDOR_AMD_2, + .vendor3 =3D CPUID_VENDOR_AMD_3, + .family =3D 15, + .model =3D 6, + .stepping =3D 1, + .features =3D CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | CPUID_MMX | + CPUID_CLFLUSH | CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | CPUI= D_MCA | + CPUID_PGE | CPUID_MTRR | CPUID_SEP | CPUID_APIC | CPUID_CX8= | + CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | + CPUID_DE | CPUID_FP87, + .ext_features =3D CPUID_EXT_CX16 | CPUID_EXT_SSE3, + .ext2_features =3D CPUID_EXT2_LM | CPUID_EXT2_RDTSCP | CPUID_EXT= 2_FXSR | + CPUID_EXT2_MMX | CPUID_EXT2_NX | CPUID_EXT2_PSE36 | + CPUID_EXT2_PAT | CPUID_EXT2_CMOV | CPUID_EXT2_MCA | + CPUID_EXT2_PGE | CPUID_EXT2_MTRR | CPUID_EXT2_SYSCALL | + CPUID_EXT2_APIC | CPUID_EXT2_CX8 | CPUID_EXT2_MCE | + CPUID_EXT2_PAE | CPUID_EXT2_MSR | CPUID_EXT2_TSC | CPUID_EX= T2_PSE | + CPUID_EXT2_DE | CPUID_EXT2_FPU, + .ext3_features =3D CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM, + .xlevel =3D 0x80000008, + .model_id =3D "AMD Opteron 22xx (Gen 2 Class Opteron)", + }, + { + .name =3D "Opteron_G3", + .level =3D 5, + .vendor1 =3D CPUID_VENDOR_AMD_1, + .vendor2 =3D CPUID_VENDOR_AMD_2, + .vendor3 =3D CPUID_VENDOR_AMD_3, + .family =3D 15, + .model =3D 6, + .stepping =3D 1, + .features =3D CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | CPUID_MMX | + CPUID_CLFLUSH | CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | CPUI= D_MCA | + CPUID_PGE | CPUID_MTRR | CPUID_SEP | CPUID_APIC | CPUID_CX8= | + CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | + CPUID_DE | CPUID_FP87, + .ext_features =3D CPUID_EXT_POPCNT | CPUID_EXT_CX16 | CPUID_EXT_= MONITOR | + CPUID_EXT_SSE3, + .ext2_features =3D CPUID_EXT2_LM | CPUID_EXT2_RDTSCP | CPUID_EXT= 2_FXSR | + CPUID_EXT2_MMX | CPUID_EXT2_NX | CPUID_EXT2_PSE36 | + CPUID_EXT2_PAT | CPUID_EXT2_CMOV | CPUID_EXT2_MCA | + CPUID_EXT2_PGE | CPUID_EXT2_MTRR | CPUID_EXT2_SYSCALL | + CPUID_EXT2_APIC | CPUID_EXT2_CX8 | CPUID_EXT2_MCE | + CPUID_EXT2_PAE | CPUID_EXT2_MSR | CPUID_EXT2_TSC | CPUID_EX= T2_PSE | + CPUID_EXT2_DE | CPUID_EXT2_FPU, + .ext3_features =3D CPUID_EXT3_MISALIGNSSE | CPUID_EXT3_SSE4A | + CPUID_EXT3_ABM | CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM, + .xlevel =3D 0x80000008, + .model_id =3D "AMD Opteron 23xx (Gen 3 Class Opteron)", + }, + { + .name =3D "Opteron_G4", + .level =3D 0xd, + .vendor1 =3D CPUID_VENDOR_AMD_1, + .vendor2 =3D CPUID_VENDOR_AMD_2, + .vendor3 =3D CPUID_VENDOR_AMD_3, + .family =3D 21, + .model =3D 1, + .stepping =3D 2, + .features =3D CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | CPUID_MMX | + CPUID_CLFLUSH | CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | CPUI= D_MCA | + CPUID_PGE | CPUID_MTRR | CPUID_SEP | CPUID_APIC | CPUID_CX8= | + CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | + CPUID_DE | CPUID_FP87, + .ext_features =3D CPUID_EXT_AVX | CPUID_EXT_XSAVE | CPUID_EXT_AE= S | + CPUID_EXT_POPCNT | CPUID_EXT_SSE42 | CPUID_EXT_SSE41 | + CPUID_EXT_CX16 | CPUID_EXT_SSSE3 | CPUID_EXT_PCLMULQDQ | + CPUID_EXT_SSE3, + .ext2_features =3D CPUID_EXT2_LM | CPUID_EXT2_RDTSCP | + CPUID_EXT2_PDPE1GB | CPUID_EXT2_FXSR | CPUID_EXT2_MMX | + CPUID_EXT2_NX | CPUID_EXT2_PSE36 | CPUID_EXT2_PAT | + CPUID_EXT2_CMOV | CPUID_EXT2_MCA | CPUID_EXT2_PGE | + CPUID_EXT2_MTRR | CPUID_EXT2_SYSCALL | CPUID_EXT2_APIC | + CPUID_EXT2_CX8 | CPUID_EXT2_MCE | CPUID_EXT2_PAE | CPUID_EX= T2_MSR | + CPUID_EXT2_TSC | CPUID_EXT2_PSE | CPUID_EXT2_DE | CPUID_EXT= 2_FPU, + .ext3_features =3D CPUID_EXT3_FMA4 | CPUID_EXT3_XOP | + CPUID_EXT3_3DNOWPREFETCH | CPUID_EXT3_MISALIGNSSE | + CPUID_EXT3_SSE4A | CPUID_EXT3_ABM | CPUID_EXT3_SVM | + CPUID_EXT3_LAHF_LM, + .xlevel =3D 0x8000001A, + .model_id =3D "AMD Opteron 62xx class CPU", + }, }; =20 static int cpu_x86_fill_model_id(char *str) --=20 1.7.10.4