From patchwork Sat May 4 07:59:31 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?5p2O5pil5aWH?= X-Patchwork-Id: 241435 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 4407B2C00DA for ; Sat, 4 May 2013 17:59:57 +1000 (EST) Received: from localhost ([::1]:48658 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UYXNq-0002lZ-Vc for incoming@patchwork.ozlabs.org; Sat, 04 May 2013 03:59:54 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36192) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UYXNY-0002lR-87 for qemu-devel@nongnu.org; Sat, 04 May 2013 03:59:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UYXNV-0006uQ-5e for qemu-devel@nongnu.org; Sat, 04 May 2013 03:59:36 -0400 Received: from mail-la0-x22a.google.com ([2a00:1450:4010:c03::22a]:55682) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UYXNU-0006uK-Po for qemu-devel@nongnu.org; Sat, 04 May 2013 03:59:33 -0400 Received: by mail-la0-f42.google.com with SMTP id fq13so2125281lab.15 for ; Sat, 04 May 2013 00:59:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:date:message-id:subject:from:to:cc :content-type; bh=VrgR3bLKalzVwGLgn9i52LJUQCM0d/CkVEmf9JwEXlA=; b=FNpgX22qz87X1Nf1ZfrMmdpLmu3ItD1xhaBsr9shaWYvMhIdDRBAWv4whgBNJsN+8v yaljiVznqUHBJB9dTPF0SL2X+oZvrnJ/+yoMqsuUWnPaChn8OgnVuk8XyklJzu3pY2jN imom5yxMDzax8U4j8OeZErDyPRe6JSexJRnXf7BXj3mR7wbZfg7m6umhGIT2W443sKpU mJvmzJfCpKoPS1TtmqSpQfXMc/7IX558br0F6DFZv78X0CZSPlizXbR6u7v8ZW+Dwm6M +saRrr8ncbFTjUfXJTwMIvKhkvTmmSRmYZSdbrmzBBP//qRu1jlJq9SF7DcWxOy0Chb+ pc2Q== MIME-Version: 1.0 X-Received: by 10.152.26.225 with SMTP id o1mr5281961lag.43.1367654371684; Sat, 04 May 2013 00:59:31 -0700 (PDT) Received: by 10.112.73.67 with HTTP; Sat, 4 May 2013 00:59:31 -0700 (PDT) Date: Sat, 4 May 2013 15:59:31 +0800 Message-ID: From: =?UTF-8?B?5p2O5pil5aWHIDxBcnRodXIgQ2h1bnFpIExpPg==?= To: qemu-devel@nongnu.org X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c03::22a Cc: Jan Kiszka Subject: [Qemu-devel] Patch of consistent VMX cpu flag X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Hi all, There's a patch for some simulated Intel CPU with default flag of VMX, now only core(2)duo are with VMX flag by default. Add default ext_features of CPUID_EXT_VMX to the following CPUs: kvm64, kvm32, Penryn, Nehalem, Westmere, SandyBridge, Haswell. Other CPUs of AMD and lower versions of Intel CPU without VMX support don't add this feature by default. Patch: .ext3_features = CPUID_EXT3_LAHF_LM, .xlevel = 0x8000000A, @@ -667,7 +667,7 @@ static x86_def_t builtin_x86_defs[] = { CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | CPUID_DE | CPUID_FP87, .ext_features = CPUID_EXT_POPCNT | CPUID_EXT_SSE42 | CPUID_EXT_SSE41 | - CPUID_EXT_CX16 | CPUID_EXT_SSSE3 | CPUID_EXT_SSE3, + CPUID_EXT_CX16 | CPUID_EXT_SSSE3 | CPUID_EXT_SSE3 | CPUID_EXT_VMX, .ext2_features = CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX, .ext3_features = CPUID_EXT3_LAHF_LM, .xlevel = 0x8000000A, @@ -687,7 +687,7 @@ static x86_def_t builtin_x86_defs[] = { CPUID_DE | CPUID_FP87, .ext_features = CPUID_EXT_AES | CPUID_EXT_POPCNT | CPUID_EXT_SSE42 | CPUID_EXT_SSE41 | CPUID_EXT_CX16 | CPUID_EXT_SSSE3 | - CPUID_EXT_PCLMULQDQ | CPUID_EXT_SSE3, + CPUID_EXT_PCLMULQDQ | CPUID_EXT_SSE3 | CPUID_EXT_VMX, .ext2_features = CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX, .ext3_features = CPUID_EXT3_LAHF_LM, .xlevel = 0x8000000A, @@ -709,7 +709,7 @@ static x86_def_t builtin_x86_defs[] = { 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, + CPUID_EXT_SSE3 | CPUID_EXT_VMX, .ext2_features = CPUID_EXT2_LM | CPUID_EXT2_RDTSCP | CPUID_EXT2_NX | CPUID_EXT2_SYSCALL, .ext3_features = CPUID_EXT3_LAHF_LM, @@ -733,7 +733,7 @@ static x86_def_t builtin_x86_defs[] = { CPUID_EXT_SSE41 | CPUID_EXT_CX16 | CPUID_EXT_SSSE3 | CPUID_EXT_PCLMULQDQ | CPUID_EXT_SSE3 | CPUID_EXT_TSC_DEADLINE_TIMER | CPUID_EXT_FMA | CPUID_EXT_MOVBE | - CPUID_EXT_PCID, + CPUID_EXT_PCID | CPUID_EXT_VMX, .ext2_features = CPUID_EXT2_LM | CPUID_EXT2_RDTSCP | CPUID_EXT2_NX | CPUID_EXT2_SYSCALL, .ext3_features = CPUID_EXT3_LAHF_LM, diff --git a/target-i386/cpu.c b/target-i386/cpu.c index e2302d8..7b659f7 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -490,7 +490,7 @@ static x86_def_t builtin_x86_defs[] = { CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA | CPUID_PSE36, /* Missing: CPUID_EXT_POPCNT, CPUID_EXT_MONITOR */ - .ext_features = CPUID_EXT_SSE3 | CPUID_EXT_CX16, + .ext_features = CPUID_EXT_SSE3 | CPUID_EXT_CX16 | CPUID_EXT_VMX, /* Missing: CPUID_EXT2_PDPE1GB, CPUID_EXT2_RDTSCP */ .ext2_features = (PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) | CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX, @@ -522,7 +522,7 @@ static x86_def_t builtin_x86_defs[] = { .stepping = 1, .features = PPRO_FEATURES | CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA | CPUID_PSE36, - .ext_features = CPUID_EXT_SSE3, + .ext_features = CPUID_EXT_SSE3 | CPUID_EXT_VMX, .ext2_features = PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES, .ext3_features = 0, .xlevel = 0x80000008, @@ -648,7 +648,7 @@ static x86_def_t builtin_x86_defs[] = { CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | CPUID_DE | CPUID_FP87, .ext_features = CPUID_EXT_SSE41 | CPUID_EXT_CX16 | CPUID_EXT_SSSE3 | - CPUID_EXT_SSE3, + CPUID_EXT_SSE3 | CPUID_EXT_VMX, .ext2_features = CPUID_EXT2_LM | CPUID_EXT2_NX | CPUID_EXT2_SYSCALL,