From patchwork Wed Jun 6 14:36:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 925891 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="5FqQgPqV"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 411BCj3bdpz9s0W for ; Thu, 7 Jun 2018 00:40:01 +1000 (AEST) Received: from localhost ([::1]:52826 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQZbT-0006jR-6T for incoming@patchwork.ozlabs.org; Wed, 06 Jun 2018 10:39:59 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50559) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQZYg-0004Uw-FX for qemu-devel@nongnu.org; Wed, 06 Jun 2018 10:37:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fQZYc-0004Ep-H2 for qemu-devel@nongnu.org; Wed, 06 Jun 2018 10:37:06 -0400 Received: from mail-bl2nam02on0067.outbound.protection.outlook.com ([104.47.38.67]:2993 helo=NAM02-BL2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fQZYc-0004EZ-9P for qemu-devel@nongnu.org; Wed, 06 Jun 2018 10:37:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H2ezAtGi7b+E7C1nk6+iRTovG7qGxgTcycWFUyIIk5s=; b=5FqQgPqVx8k+IyPlbQ57BLEMJAXQsHt19E4a5G/IrHoxhFNXaeFeXxZPjc/z9CosGZXibohYuwlwhfl0lWIjtE1OviumEGes5D4K2/+VdB7xWeLsPbjeJWheAzxNwKpZ77jxzUr5I8XAjfgIy6j30m0NzIWjrW5dFgJlGmB3N1M= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Babu.Moger@amd.com; Received: from linux-h3ml.amd.com (165.204.77.1) by MW2PR12MB2476.namprd12.prod.outlook.com (2603:10b6:907:9::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.820.15; Wed, 6 Jun 2018 14:36:59 +0000 From: Babu Moger To: mst@redhat.com, marcel.apfelbaum@gmail.com, pbonzini@redhat.com, rth@twiddle.net, ehabkost@redhat.com, mtosatti@redhat.com Date: Wed, 6 Jun 2018 10:36:45 -0400 Message-Id: <1528295806-90593-4-git-send-email-babu.moger@amd.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1528295806-90593-1-git-send-email-babu.moger@amd.com> References: <1528295806-90593-1-git-send-email-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: SN4PR0501CA0082.namprd05.prod.outlook.com (2603:10b6:803:22::20) To MW2PR12MB2476.namprd12.prod.outlook.com (2603:10b6:907:9::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:MW2PR12MB2476; X-Microsoft-Exchange-Diagnostics: 1; MW2PR12MB2476; 3:JQNDnxWyDmCDwt4+P3eq0sSgQZM3UxeW1U1DqUaplB3GIALQcdgJx36ZiLmrS/MDI9liTRzPpKdwGNTljE8wqyCWhL46AvGdi4VbZTAsT9brFF87tOSQAAXWk+ml708SkD8KwXJbuIMARXJVHmKm/0jOWSReEuR8vfluuyH8Q3DpCj1R4pdeE/t480EWBu3v3g1yIm5qsU/f0Vrr7ZYUYD1ysvrCha2FEh0EJkTWZuAXoOUYDQ1XTqXtPu4pH1QC; 25:kTdT2y9/JPjVoVgs/s88BSINFjO++de1/8MyciSTJ9qc9BZJ9O5kGahkEupH56l9K6VZgJ0YS45cq68/jgcEQpqkjA5GhVZ2WHMmovV5VHtOH2CWLsaDUuU9KcdbV7chh7Qg6GZypRrXa1pmv/jDteBfz43uB0q3XwZiBodLET2KfbGMjFI61AmybaXSc1Z9Sjf/w2XTI6tSoPCLzUhXeaEJRkdwD7yjcvx86Y3++ipejVBp21au/CTmLy8vAB2UYejl6o+0gdW5hm5aVygkol2QoXIRxUgGEOSgqMRcWoV5RzxdXrtGpciXC1LI9lvHYh7JhoICMkf9LxzAJoliKQ==; 31:fY/JeXeJG4XwW6yEtrQ8mQeKsSlvp/Sr/akHobmYu9QCWPJCJ8fM5rwchqIQc38p0dHj4vP74+zy6EV5z2kU0ZB7zWHms4slgTk83CSJtNv4GGdPKG8GdqpQawfefKyQDnD+Gm9EivqoTXTaPH9EUQmnfSTiWZBgeuXcvwWJNf5OotKu65k1yM/1qFSVJ7ahtCoNnnOmGXXubFKIEoRNZKWElGe11H2xPkNg7frXlZI= X-MS-TrafficTypeDiagnostic: MW2PR12MB2476: X-Microsoft-Exchange-Diagnostics: 1; MW2PR12MB2476; 20:Gqt6pCBl2h3jChuXpKbZdjhxM07LejGMRx3uTLgwB/k6bPIwlRriCTmZG5W3hqFS63m1z4oQ3nEj8KjxuM24wHrgsKMkpv4qNpCC19t8/v5iXafxDN8V9dslnetjadBqeELPbeslw3c+DsxuKhtwZzYIkwMtQBfnlg3o0r2TPwkze81RNuFB9+Vr8xCceFd8xwLp98yUD8PcPQ4W4084uoHKgM9q7yLpjvMJYrwQqXKnYmHcQxTwRMz/woh7ihEnETopyMmBuOo7OJDp0n8CLfKVCLseYGqCt9nrngunZZvKITjF52v0gS1LwovY01MnQxmdiXYZLi/IWkEqz7K2PkXd8qObZhQOtG14YvLMe31VgkTiy4AwYFMlgVIXflaXmF2B+WJo1GyAhCLzP5V/nN+fcYWpHuIEsDT+2E1cp3o9V/pjjEg4sTuptP5Nhlqo/FqIz2rwLqWZDdwEuM60YZUnv/Zrqd3DEKqFjKr6bwBOu62b5SZBr+l7rY+TuiZA; 4:qpY1LfWdEQD3QVeo9J4FjKP50BuYfgadL0fYIs0f3P823Hbyz5yXqceAYf/qYaptszLRUuFx5l3VtnJdufCCf1Lwi6XgF9y3WPKOLkO5mxv+rky3wawo1CBvgKP0c6kCcpc8gyz0KMxhXNLcgaZ8uA4eNrMgztYjQIUEcfaYfwuyzKvcfQ9aA4b+yAsHqjsxSHCi8X4nCzMkY3ig4U2MoDTo2+ywQP32qt4RRoYfR5+vzvydtLPDz83w5YZLGPgyB1zlintmnHJafRUH8D6CJ/dW3AwILNh5ogpjGOm2DRDE71NMSqUNPy4VJf+WDAts X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:MW2PR12MB2476; BCL:0; PCL:0; RULEID:; SRVR:MW2PR12MB2476; X-Forefront-PRVS: 06952FC175 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(376002)(346002)(396003)(39860400002)(39380400002)(366004)(189003)(199004)(4720700003)(97736004)(26005)(50466002)(4326008)(59450400001)(39060400002)(7416002)(25786009)(3846002)(72206003)(6116002)(52116002)(47776003)(7696005)(386003)(478600001)(76176011)(66066001)(51416003)(5660300001)(81166006)(2906002)(446003)(11346002)(305945005)(8936002)(86362001)(6666003)(81156014)(16526019)(8676002)(53416004)(186003)(956004)(7736002)(44832011)(486006)(476003)(316002)(68736007)(36756003)(48376002)(105586002)(50226002)(16586007)(6486002)(106356001)(2616005)(53936002)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:MW2PR12MB2476; H:linux-h3ml.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MW2PR12MB2476; 23:h08o67Sg16oVqZKdJfChIEWIEWjgktSlJPDgKxC16?= KenJjpcwiMI1xAjYzTC++nFLns0q2jK8cfypcgYitsl39SU7qAY/HhUOo8ZFrIBl2WZIEDxXwj0SgA/OacP+1hbZOD1PST8X7xF1P8RLIXCwYS8S6i1wLsnlSFRvJKVayS3MqJByGvqX/RssWqSiz7+pwK6nz06ixckKOqCSj/NWGIAo90JPnWRG6qDgivFDgSNB3Ms4fvpj8rbL/zDUDIjdxjCTfJl1xBaroKuB0brxZzYZupMzEY6xf1DPrGcDgIjbUh33e2FPqKxzrcPEdwseAbyTfsB7biaktaCtoegYHXXtlfUVQo0arxEdKtbxf3GjEaBBSoD7AUKH5wXE/ir/nz/lPwMWJgea9rVJLJ30ASPmq+5rTjASjobDLJ/jJXxLLugW4Ay7Yg1HZCTNAXxDuf4PdsFonn9L5tJs/4eRI5B8jO1PJxXdyKVO/gP9igV8kNbQlVUexi5UNaurpnl7guj5ryU9p1bwUCGKZH1jGjRyA9IvG4hTg3P1uwRgChk9/799MA0ANW9rHTUcClY8XCUXoTYTW+Bay6qWgrwS6pSNLPBIvhnPsbwgniNyoHYWLX1d44I26CEkW9Bu5FLMC31+FOYxIXvzU+e1aW2lbrA8qDoQaXLjrggGcle08X9Sm1cRwVI2fSZ2JysRlQK7OGZC181BIYC2qPj3AA9iGcHEuyTNxF7RQMvX3rA3hWpEfnbkov9LX/LjnWS+dtjkqHv3UwRis6GyRq/U2ML8VTeDnNUtA345/tepFoc0vNXSiGzw1D3OPFFvtpQfzBSoui+jR30yuF7xuidf7DhBGUJ2q0/vrBYzuCarHUxKDstpDysQuXurzzGtIgas38zY3BQRue3bNj6kLxUYPFrtygfD+8pxQB1W/92hjOaZdl76MXKGf0NVyoVVsMor5ZXlipe2yu5tXJ8TAjhTmPm19tVf4LcDe3izNWukSkc7TweACZeK8JIWVSDeVrSTcg8tXkJj9eBw1Md4nKMOSN3WPlMlScO31fwQhtBqFxZ089DXu/RgGOtA2J8ryEYdOiCCuvbESBM58M6S4q8MwM2mMAHJYRQ0lIg0nbydo5Exoqz511BgfLuZwqcPZ7sDRIUcvtdlJW0WZu+GFRwwmhsqtxYDr++PtYnu8lZFm1IJsUgTgajNJ4wuOL3NdftSBA29Es6vJqf6nnE9mJRbgelTw3ghVR46DEbhyimtRXwfz5PwE4I74pGRuB5fk+L4wgxYU6bufJDo0F5c5xa/z6ndUh36smWh9ZeRxRJ739fzabMPagv3qIF3/xpbGP3SKvX X-Microsoft-Antispam-Message-Info: u4SE24d5TD+0TDbsz8JgwomA6z86wtUEHq1Va6VCPrfHxpL5uTV+G3UMjENuEYj33K6Wf72QH1h5hEU1tFI4UQL0f1EOjylBSOP0wuPGcCxjl0y53FEfIpHKtM79tLXr75LqcufjXKdpHL0SQ27VtzKbPPt82lJVJws5vdyaNz9hM5GwVca6ZA036DnmO8M6 X-Microsoft-Exchange-Diagnostics: 1; MW2PR12MB2476; 6:W43s7QVa47wHWVWb5ZPeiexTr1koMZp/uX1X8BJOMV+q1uKw//izExD8rVWEIj9Mj4Ts1bOIqmCn2hgWYa8wK8NWZGLTVs3ObhX9FrMAWPXjcED7OTSmqanzzZa3vXxOcJKNKbP8Zi5Pz4GeB/u2lHy9qeHAP9cozzn9IGXym1tJvmHgy81FFbp3dnkX/HJFM95VFSCT0tBkuuukoedstg4ww4eub2/obv81porYbl0sGJ+ipNPDmUVEG1T770eMsUw7RYoc2wjxrQPSX9a9WjcI3/jk2iNmVqUF+eQ84fuHtlUQd6ysNRMZmSlaCKaYGFOkBwBr53xILVbGsHqVDS/dx72UZV6zxsytMKGk3SQtBWbag3qOfr+T9O+RMhfin3RCRJmmcOr/0IjUmb2eKheq6/j0xb9CUWSqGbu0df2tZ7aL9iL2zOmG7m3syUbhaB1JfgZkQTszFuT8kRSpPQ==; 5:O9XCCkE4f2Opsf+vJsGy+Q6RL3Kwepg1j6s9dApRUXwOO5VvR+NlWnlCP5WtqKAEQKoD1h7HNhEj7sLbXMVpRpPAWBO167F5OHYsoWhpXSNkci75prB8enJUZHl3kNcLIn2AHFapwd41vej4NW+Pkm7rF8Ie0nLxAGYjb1FOcXc=; 24:nOuOki7/Pptxhe0UYmV6lwpvtvNUoBID9yLHm0Sw2k3OT5RvFqsiBktJgoe9db5XIVyI+F/Ej4XnHtSU+KtYtXfmbXm2BiPJGKWvSiUYv1Q= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MW2PR12MB2476; 7:HNhc0hayIL9Y1u0gzigQB0hsE5G8cjrwWjTTOdpemHGwzPeOi1L3XoTVTpKBKXkmAp9d7w0zl76ud2uidQ6eupfjEW7b8q8op/dMk8G2P3NXsdQRlwJsnHA7OlD9sdlh/aNqIWGhqnk2S4HJ12LKL6IGpjPo5ieo/7LbhqlCL2nQCvmg2u2BejF0/6Zs25CasofHo/9OttYMRRVuUQEUdZpaL9V4XWr8B3XvJkea+4yfLPyB0O0rh1C4zfVZBhLQ; 20:DmwbBVudZB2VYvnZaqyVarW8/xni6jPMCbuK29ltHfHCWnOLwUS9ibHYVj+D2NLMZ5gwTF9qUeVr25wnamlhDvNHFToL3AXHCK7/rChplcGrT3uGYv7D1bL0LPCooLo/fkB5HtVgN6XZ3YcXiML5XlJWqRRnsdKO+pT/SWxr44PFr9BW4HhXGmEF7foaqkwTTQ+xB2E1B6naervHCzvFkmpqLUz8mGA2MQqoMpeDRaBdtZpJRe+Q1/xfoLzEaWuh X-MS-Office365-Filtering-Correlation-Id: 71f14e05-a827-4725-bad4-08d5cbbaf664 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2018 14:36:59.1257 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 71f14e05-a827-4725-bad4-08d5cbbaf664 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR12MB2476 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.38.67 Subject: [Qemu-devel] [PATCH v12 3/4] i386: Enable TOPOEXT feature on AMD EPYC CPU X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: geoff@hostfission.com, babu.moger@amd.com, kash@tripleback.net, qemu-devel@nongnu.org, kvm@vger.kernel.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Enable TOPOEXT feature on EPYC CPU. This is required to support hyperthreading on VM guests. Also extend xlevel to 0x8000001E. Disable TOPOEXT feature for legacy machines. Signed-off-by: Babu Moger --- include/hw/i386/pc.h | 4 ++++ target/i386/cpu.c | 11 +++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 04d1f8c..2630a91 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -303,6 +303,10 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *); .driver = TYPE_X86_CPU,\ .property = "legacy-cache",\ .value = "on",\ + },{\ + .driver = "EPYC-" TYPE_X86_CPU,\ + .property = "topoext",\ + .value = "off",\ }, #define PC_COMPAT_2_11 \ diff --git a/target/i386/cpu.c b/target/i386/cpu.c index fc5c66d..40bf5cb 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -2568,7 +2568,8 @@ static X86CPUDefinition builtin_x86_defs[] = { .features[FEAT_8000_0001_ECX] = CPUID_EXT3_OSVW | CPUID_EXT3_3DNOWPREFETCH | CPUID_EXT3_MISALIGNSSE | CPUID_EXT3_SSE4A | CPUID_EXT3_ABM | - CPUID_EXT3_CR8LEG | CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM, + CPUID_EXT3_CR8LEG | CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM | + CPUID_EXT3_TOPOEXT, .features[FEAT_7_0_EBX] = CPUID_7_0_EBX_FSGSBASE | CPUID_7_0_EBX_BMI1 | CPUID_7_0_EBX_AVX2 | CPUID_7_0_EBX_SMEP | CPUID_7_0_EBX_BMI2 | CPUID_7_0_EBX_RDSEED | @@ -2613,7 +2614,8 @@ static X86CPUDefinition builtin_x86_defs[] = { .features[FEAT_8000_0001_ECX] = CPUID_EXT3_OSVW | CPUID_EXT3_3DNOWPREFETCH | CPUID_EXT3_MISALIGNSSE | CPUID_EXT3_SSE4A | CPUID_EXT3_ABM | - CPUID_EXT3_CR8LEG | CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM, + CPUID_EXT3_CR8LEG | CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM | + CPUID_EXT3_TOPOEXT, .features[FEAT_8000_0008_EBX] = CPUID_8000_0008_EBX_IBPB, .features[FEAT_7_0_EBX] = @@ -4681,6 +4683,11 @@ static void x86_cpu_expand_features(X86CPU *cpu, Error **errp) x86_cpu_adjust_level(cpu, &env->cpuid_min_xlevel, 0x8000000A); } + /* TOPOEXT feature requires 0x8000001E */ + if (env->features[FEAT_8000_0001_ECX] & CPUID_EXT3_TOPOEXT) { + x86_cpu_adjust_level(cpu, &env->cpuid_min_xlevel, 0x8000001E); + } + /* SEV requires CPUID[0x8000001F] */ if (sev_enabled()) { x86_cpu_adjust_level(cpu, &env->cpuid_min_xlevel, 0x8000001F);