From patchwork Tue Mar 27 21:31:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 891824 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="pSFyhtqm"; 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 409ksz3sRpz9s19 for ; Wed, 28 Mar 2018 08:39:03 +1100 (AEDT) Received: from localhost ([::1]:36230 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wJ2-00082c-GZ for incoming@patchwork.ozlabs.org; Tue, 27 Mar 2018 17:39:00 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45074) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wBo-0002PD-Py for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f0wBl-0003zC-KX for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:32 -0400 Received: from mail-bn3nam01on0077.outbound.protection.outlook.com ([104.47.33.77]:43743 helo=NAM01-BN3-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 1f0wBl-0003yL-Fe for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:29 -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; bh=9znEw5mYslCCjxHBFO5YZFnvVZd0AU6NtXmzF4k5RTM=; b=pSFyhtqmXyWr+zfluRk0doiMQM/xTyvw2ann8nXpnCTFSUIrFPgMa+fCtfipdapCprFQiM8Afm/jDh7H4q755tbomVuSgzeryZeOlfWuNqVCqGdh6NKgj6En6Ifgg5W9apzUMj48BuKZ4fgotMluLakHZN38zqYwfqL+nbMDU70= Received: from linux-pyp0.amd.com (165.204.77.1) by DM5PR12MB1771.namprd12.prod.outlook.com (2603:10b6:3:113::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.609.10; Tue, 27 Mar 2018 21:31:27 +0000 From: Babu Moger To: mst@redhat.com, marcel@redhat.com, pbonzini@redhat.com, rth@twiddle.net, ehabkost@redhat.com, mtosatti@redhat.com Date: Tue, 27 Mar 2018 17:31:10 -0400 Message-Id: <1522186271-27743-9-git-send-email-babu.moger@amd.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1522186271-27743-1-git-send-email-babu.moger@amd.com> References: <1522186271-27743-1-git-send-email-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: CY4PR04CA0039.namprd04.prod.outlook.com (2603:10b6:903:c6::25) To DM5PR12MB1771.namprd12.prod.outlook.com (2603:10b6:3:113::8) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: a9a73d29-f169-4f7c-24de-08d5942a1954 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DM5PR12MB1771; X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 3:E+ifZfPDPi4Z1uiCmUtHVtfrbhGu48I/MDhAbrqZ4v9dq26R+hJHMuKxNZif9pFfwpPG2w/y9A4ZJ3bOob2R7oqsf1jLr/Pb9Q0Q7RDWc5k8u5dpWpQIfttDrQ+gIGY3Hju39eNh0wrh7wdhDDl+Bu4vvyLCmmun8GHAyKw9bGG+Pw3ZjoTnE+vhkltDcNjSwHFko3uaBPv1uEtg+A1gb5EGDqvAs2gtyZxZFUr4kwwr9ScS0YgSkcfj6juYUVmG; 25:K/slV4kRU9c3EGfc0CLXlo1n3R8CZ0fa9Ov9s92pGTX8pgcWvKnXNJbeube+QvznxiaADnCvy7jXjnYUU6QYpHHXATFWrG0/3LQaaZr5KDCeq1P0dSO4JbVD0IOUSg1WLl/0ZfZYRLyj2pn8ci92K2iR7bEOLAVvJN03PJYF1ej4qp+l8HY0ZLwsYHlqyIPgbN7L5eBNNQykJJZCsbR+s7X+55NwLP38xPLYuvCnNBoCXcZcqh4kGYOG8O1mpIYt5rks5/KX17+xszpfHyNkNyrAxTKMitnRvMRP6jcIGWvVO1CuMR/5ZwQq3Miju2S27uEgiBjHnvWM+anCTqqNRQ==; 31:Jo9UwgMHLIpo0UjS9+xtbBqmEdOwuoQhr+Q+647vkNLQ3tWLxbD7l24ayMpPZT+qyCu3JEfWcP1hgs96olFkbuX19fOFPzCdSk8Sh5kJe9v1fyvY3U2viTezzkxn7OmG97wEKykYtzljcPwoKbKEgt3ZrZRjUUsOLESZpcqRToS8MSqcqa1hwQDmJ0juJ3LLb/pzCEWh+rrplfUzqMZCW/s0RDS4UOyEqoC3AjhyRAM= X-MS-TrafficTypeDiagnostic: DM5PR12MB1771: X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 20:PnP/Eu0Gn+se5FYYaR7LFjBoEyA0ih93PGvhCF8Kr4jWe8WAI4cZZAxI7cu2+jCLTq32zyy6rPHC7gvTHknOyHKdMg01vQgNx8D2Z2kc+XJHPn0dCDZv5cnAbXhQsfzCQi0W5Ed6zuRn1FYZZIAHsHP6O4K4gEBpobAQYXm+fIvtXEFyLXu3gNYMkeg9j8jocGEipS9YGjdbQ0Ihs6jMLP17KIbOJTlAqV0+v1kClI19koj6Sq/6NYVKWX3q0hIK696z6xRetHT2D6OD9jTRDZv9s0BqVu+6GxBfIBKlLXI96YPMVrx7wGHHAiz57XJvwqjbPOpZRNO3Vw6snsQd6G30aPK9jzyuuD9SB3KcxiOGlUwusLvtvA0KT3QLVPiNKE6jtGZZRfEj/ccG4FUYGVNuU0/VS+XYpbn+YdbXDP3x35bKVjRm93mFFkWm48z+byejRySd0jK6dljuZBAMxfThudgXYFs/oMmSzAzn4necqLYfRdisNN2anmTQPCJX; 4:KCggGPJArYqZuiYkOLQ/iKMPx1qe5KOxe56rQvjdP1EWIZBwYvwfMTXfC2CWtNaFN/sZxxMywcq+oyBkBXBpwT5fHzW++r057m7/FUxQQrbcgobiETt6rNSBQhTaAE2EEU31evqrmQ6pGClM8Nt5/kKbUWqVPZofQ70fLoxAlEZAlxbpqJ/madHrMjtkTk7KommVCAHueoIRIXfGs5cS2W1QE4Uh579Qgx1a6I9QrooukGfXzE+hloIroL8OWE24SMpqqf+dDY2e+P27U9VSyTLaWPHUjMyhjLbCRgoxl3OK6uq3hnB8e98OvzsWc22v X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231221)(944501327)(52105095)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041310)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123560045)(6072148)(201708071742011); SRVR:DM5PR12MB1771; BCL:0; PCL:0; RULEID:; SRVR:DM5PR12MB1771; X-Forefront-PRVS: 0624A2429E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(366004)(346002)(39380400002)(376002)(39860400002)(199004)(189003)(36756003)(6666003)(105586002)(47776003)(76176011)(25786009)(66066001)(53416004)(97736004)(7696005)(51416003)(386003)(486005)(59450400001)(486005)(2906002)(72206003)(4720700003)(6486002)(52116002)(4326008)(11346002)(5660300001)(7736002)(305945005)(53936002)(81156014)(50466002)(8676002)(6346003)(81166006)(16526019)(106356001)(68736007)(50226002)(8936002)(3846002)(476003)(478600001)(26005)(2616005)(186003)(446003)(316002)(6116002)(956004)(86362001)(16586007)(48376002)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR12MB1771; H:linux-pyp0.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Babu.Moger@amd.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR12MB1771; 23:HtjwkWUvN7Vox4OjP1FHlAVdfuWAClxWQ7IjMjIwb?= kkCVlmYK6h36yR1wSQeNh2UTgBqZWJWT0Yc76JtGmo5rrebU+XPU/DAjjSE/yUBTbkjRHACZTlAQjH/bl7WGqc9oRrIbWKJxqwDG18c7s9y06Lmjpo4bXbVHop2CGFl3NFs9VKs8gRbODVENGL2rD01aZD5nXDYrL0v5Y3HwIeQMgZDCJmzTt8o/9m6zIJhL8RNn0DxuevmcwiXznKpfGIojGBoBJTMcu5ZngxQDY3CwiX31sQ+HKHs2soiaLvs8EDytMTrpkEhV19nqt5Cbx76i1y6Ffy5TL6XzR1C1ghxWOEhDb/MsNaPwBUoaUONtxobhPJ7jNkGdXsKO+RclC2v38cUUZr3wlW5pyaazFbfh1TRwtISgPSeo+WmDGJpuT5tcmAiuB2ZOw6qOV460zwgIypL8WwjYMKXFiZTTad2ZiA0PDO7NHGE/xrfG5lxrIh3fuePMy3TL2r9EB1MG6teWyrcNlj1dSbSQLgh4fw0U+ta/WWWu+PmrU1jvuI8krqw6CAMH++L1ISMWsrv3n+ChM262xRRY5gLUBaUJshShIr+NvIqKYdXGuNjSPCEsBMmz89k5rDpV14EWZn5YA46MAPDk6v8zpEN4RsvOLJ20mckxczHARNI4nOQJ7gmrcNO1r62wxxyChmQ1+4lRgJGf3CB359eNpPgYQ0BbhBbxZirumwzjG4V3jjJBPpmFfvGroxld+BzfydsAeLwLACFlspoLSjcjZ7pAXZTYTv0aVcihU9trqjr+kq2/MUznAJ/dBR9NZEhC9w1ODR1UQcwx289YbjB1FzjHZ5y4uk0GihWP6Pcv77DOhyHspc4C1o+jvvrlRMDMWHTjRuV9u31mlJfUiQo9KXCm13X/jXFSO6xMHPFa4Xg+XeLNhLHhUM3yFtetPAIwVB/KFX/C2kcnPVBzmKuBp8VHhf3l+xAO8Jerz6ljyWdVujpqfki0AJfd8RQ6TpSI7HU+tjo/+BfsRWFKZEAW/3/Q/DtIFMoAUKIJAJBp4morwaCw/N9sRSze2nOq5t/XwN19I3QXczGMdWeh+la1rs6PdOcsrBi6p463vmJImXFTTGTfqPfkMSVsJk/z23TdfoOZzg1C9BaZKLkCucNzHM4ka5vdAenYX1Byvl+MmBQw6ewWQHmZU9KEQZW/FC24OMhqvoKWxPIlsVOaBcUO0CN7OGEhGHmNpTcg0qcV4xDlFlBFH3vjdw/Iee6/Den9Qje/4We2O4pb9yt4s/TmdhQ+jv8dG0OCA== X-Microsoft-Antispam-Message-Info: 7r1E5DLXvz7/Sizt4Tusr3WwcS44ZJrYweSWr+inxrs++cntNMemY86QW/Yz2L+WgqZJJs0oQvqS61ZoCdh6ooH/qovmf7M8Y298N4PPzfD01GgEY6CA6XtaM+dsKPm45shJUt6HGpn/C8hPHSqmV4MeVMPSfz08yP68p0tTrwRiSu8SLK4MZuN84w9O5Vyo X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 6:7cOFgGhqByWxQjSfSwI5C0vuuqjf5VeiM8wc0Fjj+rjoLu2dwUbPm9xjnvd6ePe/1NPpxnqWK6gvvOf9YRMTkGxpezw+aQyxLt4M+DPL4F7tU+AdalHuVqidNCsMe+JvCdw0m/ynWfh9ly0vzHQolZgW01wDXgT/dRpH8lfEa5cAas+f3pLgcN1N272Dd0zZ02amLSis2VgT4h9ZRfvzgci8o/uBH+OJEywvkx/HkKonN+pM8K0iJHqvUh3P3uSLZelhZujU0mYpLa5NjzvKMO+zLA7sGwlCB4ZtchMxQ5l81EK0PZZalg4tC6TtbA4tT6c7AOp6jJfpGYb8Q2IYz6i3XAh9NFEuiR/Y0IzUFVgJEGPnjVEotYtt29n/85wQ7IsKmgAnAFS3wPR6hid3G//848Voh+ZCTRRxLo/Vj8iErk3I5BF9zoXwm+SK5fvWthBAH8s0fGKjq9uIZBppnw==; 5:FWPa1oRiSRgKpA1/0bbdsalAo6HMfs17rE+9FAPyiVfGGPoj9MzKBp/hE3rDtAiECqQjCU5lNyz0g6bDXMbHYIOMvF9JkLihu3sANZtumJ9FX/B/77pobYOPez6lbz9sUFcI5ja6vyXs+TwHYxWCq/SrI2olh0aVS43Y7KVhzPw=; 24:S5cijxjIsOSFof77aNwb01KEul0OhOULI8xTFmdsCF53z2kML99o+qaecUoigVg9F4oSuqvhM2H/Z+nwW0PNirjiN0jOZHhqa8TZa2FKpmM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 7:Qq2kzzUBFAnDtBAV4zjgmZmvRHOP0fFuj1IP6ZsnPag5IHDbPuQURk3fu7PaEAK2rktT3r/cHpUPebYy6w8f4s4aOtcIoS2BQ17OM8FGymeiiy1D2xwwVMzZa4UhQpXUntL+fk6Pa8WAUphi4bSBMz9OGRv/39LfEaWV94Oi6NZCCI3gaPiH5aQ3cwNtWRm9M/yjoHz0kWUWYrjeW6EjQOtQRxRg+dkYcPHS/eFojyt2wneaWs/5/nqSW2hOGVkJ; 20:kRnrJhIPfe0yzYG9dBElaQ0P2nxtpH3K7T40O8m0p4vTIkawRVg0FpxXdL3PyRpGOnOIsPjOwRNUECOIw6ibOf0BFMPXDr95Ex04+3RgAQUIeamnYT5eLl+mq6Yz1pjiIewUb702O9CHH9/K9SR/mAItEbFRiiCJtcwA7TAPM7CKD8Yh7n0B0nbfuG2ZrWD8DrrETJUnQtWyeUpKMsQBAmVJGoyhkefCWZEV2GLUUTI6DC4jg/k4ODSs5Q2gFbnm X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2018 21:31:27.1025 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a9a73d29-f169-4f7c-24de-08d5942a1954 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1771 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.33.77 Subject: [Qemu-devel] [PATCH v5 8/9] 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: 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. Signed-off-by: Babu Moger --- target/i386/cpu.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 6f3ad44..f8e7325 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -2330,7 +2330,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 | @@ -2422,7 +2423,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] = @@ -4575,6 +4577,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);