From patchwork Thu Aug 20 21:34:17 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Przywara X-Patchwork-Id: 43017 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n7KLdVMd012183 for ; Thu, 20 Aug 2009 21:39:31 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753315AbZHTVj0 (ORCPT ); Thu, 20 Aug 2009 17:39:26 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753281AbZHTVj0 (ORCPT ); Thu, 20 Aug 2009 17:39:26 -0400 Received: from va3ehsobe004.messaging.microsoft.com ([216.32.180.14]:51065 "EHLO VA3EHSOBE004.bigfish.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753213AbZHTVjZ (ORCPT ); Thu, 20 Aug 2009 17:39:25 -0400 Received: from mail33-va3-R.bigfish.com (10.7.14.238) by VA3EHSOBE004.bigfish.com (10.7.40.24) with Microsoft SMTP Server id 8.1.340.0; Thu, 20 Aug 2009 21:39:26 +0000 Received: from mail33-va3 (localhost.localdomain [127.0.0.1]) by mail33-va3-R.bigfish.com (Postfix) with ESMTP id C17E517102DF; Thu, 20 Aug 2009 21:39:26 +0000 (UTC) X-SpamScore: 1 X-BigFish: VPS1(zzzz1202hzzz32i203h65h) X-Spam-TCS-SCL: 4:0 X-FB-SS: 5, Received: by mail33-va3 (MessageSwitch) id 1250804365478213_5569; Thu, 20 Aug 2009 21:39:25 +0000 (UCT) Received: from ausb3extmailp02.amd.com (ausb3extmailp02.amd.com [163.181.251.22]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail33-va3.bigfish.com (Postfix) with ESMTP id 5AF441190052; Thu, 20 Aug 2009 21:39:25 +0000 (UTC) Received: from ausb3twp02.amd.com ([163.181.250.38]) by ausb3extmailp02.amd.com (Switch-3.2.7/Switch-3.2.7) with ESMTP id n7KLdL8x027957; Thu, 20 Aug 2009 16:39:24 -0500 X-WSS-ID: 0KOP2TI-02-4NM-02 X-M-MSG: Received: from sausexbh2.amd.com (SAUSEXBH2.amd.com [163.181.22.102]) by ausb3twp02.amd.com (Tumbleweed MailGate 3.7.0) with ESMTP id 2E9A6C858A; Thu, 20 Aug 2009 16:39:18 -0500 (CDT) Received: from sausexmb5.amd.com ([163.181.49.129]) by sausexbh2.amd.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 20 Aug 2009 16:39:19 -0500 Received: from SDRSEXMB1.amd.com ([172.20.3.116]) by sausexmb5.amd.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 20 Aug 2009 16:39:19 -0500 Received: from localhost.localdomain ([165.204.15.42]) by SDRSEXMB1.amd.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 20 Aug 2009 23:38:15 +0200 From: Andre Przywara To: avi@redhat.com, anthony@codemonkey.ws CC: qemu-devel@nongnu.org, kvm@vger.kernel.org, jamie@shareable.org, Andre Przywara Subject: [PATCH] introduce kvm64 CPU Date: Thu, 20 Aug 2009 23:34:17 +0200 Message-ID: <1250804057-29681-1-git-send-email-andre.przywara@amd.com> X-Mailer: git-send-email 1.6.1.3 X-OriginalArrivalTime: 20 Aug 2009 21:38:15.0739 (UTC) FILETIME=[868E00B0:01CA21DE] MIME-Version: 1.0 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org In addition to the TCG based qemu64 type let's introduce a kvm64 CPU type, which is the least common denominator of all KVM-capable x86-CPUs (based on Intel Pentium 4 Prescott). It can be used as a base type for migration. Signed-off-by: Andre Przywara --- target-i386/helper.c | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) diff --git a/target-i386/helper.c b/target-i386/helper.c index dd89885..4cf62d9 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -187,6 +187,32 @@ static x86_def_t x86_defs[] = { .xlevel = 0x80000008, .model_id = "Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz", }, + { + .name = "kvm64", + .level = 5, + .vendor1 = CPUID_VENDOR_INTEL_1, + .vendor2 = CPUID_VENDOR_INTEL_2, + .vendor3 = CPUID_VENDOR_INTEL_3, + .family = 15, + .model = 6, + .stepping = 1, + /* Missing: CPUID_VME, CPUID_HT */ + .features = PPRO_FEATURES | + CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA | + CPUID_PSE36, + /* Missing: CPUID_EXT_POPCNT, CPUID_EXT_MONITOR */ + .ext_features = CPUID_EXT_SSE3 | CPUID_EXT_CX16, + /* Missing: CPUID_EXT2_PDPE1GB, CPUID_EXT2_RDTSCP */ + .ext2_features = (PPRO_FEATURES & 0x0183F3FF) | + CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX, + /* Missing: CPUID_EXT3_LAHF_LM, CPUID_EXT3_CMP_LEG, CPUID_EXT3_EXTAPIC, + CPUID_EXT3_CR8LEG, CPUID_EXT3_ABM, CPUID_EXT3_SSE4A, + CPUID_EXT3_MISALIGNSSE, CPUID_EXT3_3DNOWPREFETCH, + CPUID_EXT3_OSVW, CPUID_EXT3_IBS, CPUID_EXT3_SVM */ + .ext3_features = 0, + .xlevel = 0x80000008, + .model_id = "Common KVM processor" + }, #endif { .name = "qemu32",