From patchwork Wed Jun 6 14:36:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 925887 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="0bjpB/y7"; 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 411B9324KCz9s0W for ; Thu, 7 Jun 2018 00:37:41 +1000 (AEST) Received: from localhost ([::1]:52814 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQZZC-0004Uv-F2 for incoming@patchwork.ozlabs.org; Wed, 06 Jun 2018 10:37:38 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50538) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQZYd-0004Ue-Gq for qemu-devel@nongnu.org; Wed, 06 Jun 2018 10:37:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fQZYZ-0004Dw-Vt for qemu-devel@nongnu.org; Wed, 06 Jun 2018 10:37:03 -0400 Received: from mail-by2nam01on0057.outbound.protection.outlook.com ([104.47.34.57]:15381 helo=NAM01-BY2-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 1fQZYZ-0004DK-Mz for qemu-devel@nongnu.org; Wed, 06 Jun 2018 10:36:59 -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=7DRAiQkTbxUQ9S7Z8lVbl092MtmrJlwApwbSVC+pnYA=; b=0bjpB/y7bw6t6TZg78tF3CNuQkKh41RJ3A46XE09ZmsRfPl+KGyq4VXhsiDWfkY8oqCmUmQGxamsoWEpWuPMCAbdm7sNfV9CIRgl60H8GUnyYCuIejegrXhtmyYkLBEPcS1dHlLQTzfLRoCfg0IyLZzgDUe5pPhyvBIlrNLIRV0= 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:56 +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:43 -0400 Message-Id: <1528295806-90593-2-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:r3hUh8dvWe1/HHI72wFroHDignpLXWCtg/FIHMewjzqEpy5LoPPz8SIbZUS/X6Kjc0emLijU2+3sfP0bA3UZdm2+QcjdvsNr+kIXbmWBCogJ4Zn4FWyQcgQOq4dnUwLhkYEXo4LR1cbexyIumaabLZVEG2NcThuGlfaHWi53CZZRuhJLD9K+pmRl80JiUL8eCttBKiP6tr8h/LE/E/hrti3KBgm6nYiigG6I9r1jCHfVRce3gETcA5hJRLhQ+ii3; 25:3UkziXoigKDyPtCPLZinG+BQS5BFrnR5+/W/gv4N9S6H5pOttGXbQPSckIAKuw7SnXyEowWJJG0fgUETDQzEKayHxAoTuRqLM+CJ6JlBeB0Xj2Uw3LZt0wQqjq88CfkiyzsjZ5kd47ZmVbup9+ZKp/eqcjbStZRNhAkuO/qB/5rh0jclpWh8rZppSFwraTkup9m2XCojlngBdb5Bw1jLGdBn4H7YDAKdjDE57YxObS91KFh3xiyb39mZypelAcT6igLtXQqGwfBN1wd26pc9TVOlbfPhkGhTvTHxn/8r9RpDd+AcUupq0bBrt7CHlTLiz6jPwpTS+HrodvIDCibp4w==; 31:zTl09i+Gx5+IknpdgXLCmuAyYH8lqWTmihm+GGb8kjD61bMqoyl4bfmc8eHiW/ubOxjDOiStZYsiCB6orn17jovYIixh3T4BZtOv2WOCygPocc1ySDOL/kjKZmM9/HMGBKjWvM30Dtvv2+WvGl6/tL3XzZvqeFMfA7c+rLAQVVaIlLWMzdhBk5SBa4HMgqoQFOvXgb8AxXffOPse3dxb9hsZqulnTrUpB79/VjsyNsY= X-MS-TrafficTypeDiagnostic: MW2PR12MB2476: X-Microsoft-Exchange-Diagnostics: 1; MW2PR12MB2476; 20:VP9/1nJDp6y+o5NnPRouip8Y+HBix46t798cciWaDmAi8ruPt/umFmCtKRGD+JTSuFdssJ4voOG/FRdQN/wc9lQPOo3a+79sRobLnCYxvzoietZaWLsByeFzJ7Ks2mGz0xwj1VZDSKK/fBh+XFVH1Yg/f99TMDyF1gENKeeqxu+Ogzm8w558pGzHZvmVL8CThG3fug9d3BSP6+c1nRkeZbrrhW7osqJuVBC7tLXDiMFUzEwBf7/dOziAsk2xIzFZPjkwqYbX/bT0c8Xl5ICOq1sP8aMIDhiZJNl7ihryFxDSkXrWkj7HcbOuLa8JPZp7wl+CO5Z13QxoECJmgiYEPpvKrKzVWMZo24uEOc06/16eVQu2HfWm4wKxdYeaEPtUbv3nWzATZ3pjy56hvnvk/kuKTsMS8CDPWKLtQvCXKFYrIEZ1hcfBku780L5WNNG4iI9Cjd6N8dub7r9iI8FDJj6CJewPJSsKg9pheEkvQoaw8YsThcESqJnlGFn2KPkd; 4:OoLlvKHjFRwS3zScAC6vmowJRyNVaPrWeCbgQFQmdAy0nGTh/fSeOOMvBRvfnucRHYpAmDP+qeSfjRjyMHLSvTzAjhumWvuOV7H/zJ849OYORJkuR9xbDos6/oUOSEczcuzKzQRRgF6s4vi9rN4S6CstzP7D6Q4WA/crdd/eDw3UJqV1wy4VWBH+7jH5rD0IpXHuXS8ot4tZWuuuv8lwgq7ouyZ1l6vuzJ57K8oEcdiTZqrwVdV7tJD+Da6/C8Il2MVDdcDKHenPSbaAMBCm94D7tpwqwL9MTr2TdzUupuH3jTCBXoFnbsjsBZOovMc9 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)(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); 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:krvnpD/abfOiFUB1h0lNGze8lKPDPgveCRI/atSLk?= oGBqvlAPZ3aHqP/4Nd0jfeiS2xIjrgX3LSGS54rdvx/1ka9stUJ6A25COC3GIHAGsCxgwVuoGcXWLt7AkgL5+REGblW6qGZnBMq5/jPJkgjVqPRyj9cEFkOgL1Z7HOa981kuh5dVwUmE7Ywxh66bEZS9fiRTLUHL3/J6KsLJ/nRTDHgfXarf0APl5b0aZDMSodUxpfEmJNXyyANyFyHtna9YZ2eCrXY244m0GbkOYOH9EXBFZ2V2zS0cL3EtZNEVhch+PYaJIgUNuXTcn4RbztaLVpsUaooSaXLSV6aB/HhYmVukAvCahEBoUiL++2/WzUtHTJNX8t+MZ/KOhNuKpuzCN3O9Ghv2IanOSiCyxvzI/QpwFZrZp/a8o3vz3D19fHMVjOutEcH9JsI6MXAmp3PAdZQgLMcdc5xi++erOgoqLWP3nA6ElfrM/qBT1PVUK7E4vkmXGo3SzDCJWCqV3hxUDVpuvA+832c2LBFLQZhWHoMYrcZ4osxYe6bPZRWyvKMZ95r13ph1BS4hDaYS2D35lZYqr38fVf7bdNFhMwzOtiTem/Lv/WB/WHDmNRPz+ak2XkqCaDyfSKxVpIhNcmU8m5pCY4qZ0P3mfSJJ4ox7JteNbUHoVhPR1HNjC3XkJgGYXLzKdEPSqKarBo8fe5Akyx1M/xjJHqWAe9zb7x0KWRf7lvMnWbAfhTonErRTfjx8WxuBOVdErAc6X7fUusPpf7o3g3unnK44AXcAnAVGp+p9HrH/Yy89flOMtejR+EIqTOY3cwOPpD/MLjxPZfY0hckPZyhTBIKe/hKmhEUHamLdp3boGdiaLuLAuXb9uFtzcATRHWia1QjTSzpyfQGvkH7bjpxy9qG4eS7ZLb81Od2jCE77+WM9m8hdB94w1fJgvD3yy/XCqeUBzJzbsryNkuUhOIhcncmoA31p+17+Pk8NSreG7AEPfUjK7btKE25m/YeJX1rOo/oALDe1RSDccC4M8uoKGIdr0Bv9viHLatTlhyeBNoFy04zaCNlzOXjnvVIih9JZgR91q/1OKoO+i75yQ27qTu7giSvceTpIZ2toylhssDYSqGquFlOpJllqJA3AyvA24wAzJgZ3US4Dmynq5F7d1+eq40Ri9yJZPKIkA+k3A9CTfZDaXwtwDaMw52HjAb+lQlI4W5eVg1B/FYzuuS5cuhK6qTzjwWByrOqBUMV2IlBKhRFPnGeOQkRU2wQ3ypbbD94OBx0HYXp X-Microsoft-Antispam-Message-Info: PCiWynsR1w593a90VUe9i1FUfYLs6JoY0YPEggAvaazBpImE4DE0fRHIbPyWV5WkjGLOkbK76zG40KnIt1mLf6Q+l7O07BajhVKCKqDy5ejydbIGwpXxTD4ClXbF4KyH6dexgLU9MHVYbVEB5CINGeq0RdfBobVVBBx8GKIpzKAsB2fgp5iVNoO5YQh4z0kC X-Microsoft-Exchange-Diagnostics: 1; MW2PR12MB2476; 6:59nTXLh8tITKTdEPRXPz3hZ2K/RS19hmJHCb4sCnsOnv/Q69XcTAt/F9n4BfsKm2O12auqczmejgaRvO1pl9FPYcffirI/ETGuDGM/cUFSsjKFSD0wQhGBtjrrjDA6adhXNqSgVVbqfijF0Tram+H/e3HBLzqvv9AhspkYCXF4kxaT9qgvdij0EpWlSr0WoWDYxKhgqUp1BThARsG6to40sPGoX3QE6bnxq5lOm7ovhPDmw+9CbbBUcXLRPXzn0XrGhhkOn2zT+CClhoqHIGUhlHSK3I6o8LZ5L/81+B5uX3VxPybcXKuJdtmwWnhG5laSHOozeLoNyeSHh1n3Ttvh5330eaGq0mz9Sr1N1RPtWWP51g4SfpS23mZh7wAPjHa6GRTAEEgbRps0DQO4Dr8YZtZAjL2XFQkr1fC9/JqFPXwoFHhSrfLWS+EriT9fdD3HfZ/lEPWzvxNp/nmvJoQg==; 5:oOoArsY43jJNVTYFnPAXtYIhiOiYCQQM9F2OuU1+csNa5YKqNClU71BswL3xhYYsCVOfAwY4TCr4DE4qwOEkQmbmRIPGL7v7m1A4/SDgRnzBr/0WCb6EZLux2X+hVFd2ZC2GFq2m/gVVfysQD5/HKssJOqmSR85wqY6LCCDoSKI=; 24:k0B3sdHgaX35H66eXmTTWyKhrQL3OpUXP7b4+Xbir625Ty9M2xZ26lxWRqvDYZ71LmhYkhOzE5yGg7OOpBjRf05DnPT7o3svUP2U7s7d70A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MW2PR12MB2476; 7:jEJaL8H6jhxqVjHk+LOfOOa7qGRx9bSVgoe5ysGTOI1aPEyDY1cDZMqGDzhG4nCWMiIljy0vnwOSKR7GjqAGX3AN+LIKqwp1xZUjvjfzyyh4b68W3VO9kaYM9MP8VlkS7SMGNrwD0WFkMSr0+bbgaaDnxUJ2GwV16luyEDHISEMTmeMZu47nDdz6JVjpIREKqnfH52p/xKAgJmxHneHAcGfUD3X5VBy3g1TgJOIUyMK6jRub8Rw82bIS3Mnc8WhY; 20:rTyHgsD3PUUyMb8pLv4wEKsARxF0PD1VZwwGwnsjeQ/r7+qAd8NJlZBdtIh0xjEwD3nDjNTR1mu4smOhfjcvND8gjl/sB1OQudoEDIBVNoNTwOh3pG3h+31wL84+jyc7VSzqP5rzOcEPcc3bhVbvWxvmK93Xw5XuK2v4njiaA+5jNU4TCT/3+Vi9jiR4qhbAgHdRLvMnMLNinOu3Eae8xvCMwvO+JIhVQMo+Gn6CoNbcdU1Bre+zWedX9aa7cKUJ X-MS-Office365-Filtering-Correlation-Id: 7c5dac3d-c4ed-4ab5-3128-08d5cbbaf4d4 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2018 14:36:56.2352 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7c5dac3d-c4ed-4ab5-3128-08d5cbbaf4d4 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.34.57 Subject: [Qemu-devel] [PATCH v12 1/4] i386: Add support for CPUID_8000_001E for AMD 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" Add support for cpuid leaf CPUID_8000_001E. Build the config that closely match the underlying hardware. Please refer to the Processor Programming Reference (PPR) for AMD Family 17h Model for more details. Signed-off-by: Babu Moger --- target/i386/cpu.c | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 1e69e68..86fb1a4 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -427,6 +427,87 @@ static void encode_cache_cpuid8000001d(CPUCacheInfo *cache, CPUState *cs, (cache->complex_indexing ? CACHE_COMPLEX_IDX : 0); } +/* Data structure to hold the configuration info for a given core index */ +struct core_topology { + /* core complex id of the current core index */ + int ccx_id; + /* + * Adjusted core index for this core in the topology + * This can be 0,1,2,3 with max 4 cores in a core complex + */ + int core_id; + /* Node id for this core index */ + int node_id; + /* Number of nodes in this config */ + int num_nodes; +}; + +/* + * Build the configuration closely match the EPYC hardware. Using the EPYC + * hardware configuration values (MAX_CCX, MAX_CORES_IN_CCX, MAX_CORES_IN_NODE) + * right now. This could change in future. + * nr_cores : Total number of cores in the config + * core_id : Core index of the current CPU + * topo : Data structure to hold all the config info for this core index + */ +static void build_core_topology(int nr_cores, int core_id, + struct core_topology *topo) +{ + int nodes, cores_in_ccx; + + /* First get the number of nodes required */ + nodes = nodes_in_socket(nr_cores); + + cores_in_ccx = cores_in_core_complex(nr_cores); + + topo->node_id = core_id / (cores_in_ccx * MAX_CCX); + topo->ccx_id = (core_id % (cores_in_ccx * MAX_CCX)) / cores_in_ccx; + topo->core_id = core_id % cores_in_ccx; + topo->num_nodes = nodes; +} + +/* Encode cache info for CPUID[8000001E] */ +static void encode_topo_cpuid8000001e(CPUState *cs, X86CPU *cpu, + uint32_t *eax, uint32_t *ebx, + uint32_t *ecx, uint32_t *edx) +{ + struct core_topology topo = {0}; + + build_core_topology(cs->nr_cores, cpu->core_id, &topo); + *eax = cpu->apic_id; + /* + * CPUID_Fn8000001E_EBX + * 31:16 Reserved + * 15:8 Threads per core (The number of threads per core is + * Threads per core + 1) + * 7:0 Core id (see bit decoding below) + * SMT: + * 4:3 node id + * 2 Core complex id + * 1:0 Core id + * Non SMT: + * 5:4 node id + * 3 Core complex id + * 1:0 Core id + */ + if (cs->nr_threads - 1) { + *ebx = ((cs->nr_threads - 1) << 8) | (topo.node_id << 3) | + (topo.ccx_id << 2) | topo.core_id; + } else { + *ebx = (topo.node_id << 4) | (topo.ccx_id << 3) | topo.core_id; + } + /* + * CPUID_Fn8000001E_ECX + * 31:11 Reserved + * 10:8 Nodes per processor (Nodes per processor is number of nodes + 1) + * 7:0 Node id (see bit decoding below) + * 2 Socket id + * 1:0 Node id + */ + *ecx = ((topo.num_nodes - 1) << 8) | (cpu->socket_id << 2) | topo.node_id; + *edx = 0; +} + /* * Definitions of the hardcoded cache entries we expose: * These are legacy cache values. If there is a need to change any @@ -4120,6 +4201,11 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count, break; } break; + case 0x8000001E: + assert(cpu->core_id <= 255); + encode_topo_cpuid8000001e(cs, cpu, + eax, ebx, ecx, edx); + break; case 0xC0000000: *eax = env->cpuid_xlevel2; *ebx = 0; From patchwork Wed Jun 6 14:36:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 925889 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="WSjlfSj/"; 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 411B9829jZz9s1R for ; Thu, 7 Jun 2018 00:37:48 +1000 (AEST) Received: from localhost ([::1]:52816 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQZZJ-0004Wp-Bm for incoming@patchwork.ozlabs.org; Wed, 06 Jun 2018 10:37:45 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50551) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQZYf-0004Uk-80 for qemu-devel@nongnu.org; Wed, 06 Jun 2018 10:37:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fQZYb-0004ES-A6 for qemu-devel@nongnu.org; Wed, 06 Jun 2018 10:37:05 -0400 Received: from mail-by2nam01on0074.outbound.protection.outlook.com ([104.47.34.74]:28608 helo=NAM01-BY2-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 1fQZYb-0004E6-0A for qemu-devel@nongnu.org; Wed, 06 Jun 2018 10:37:01 -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=HP0RagRc5AgEeksaUXsOj7Y3OBrz44iA7vm2HMdzO5M=; b=WSjlfSj/oRZIyA60KfH2IJnZMTPi/5SpW4k0JmGLOPV4uePNgzu9d9/d8VpWn+W0ctaUjIwW6NMa4GkGQJwX5xD5ZZWEEen8PnSA330Ei3W2m6bwj37Am+GUYD8OebTaQ2rB5UwrSvTS6P55A1IPBRCo4nF4CaS8dm05kqwxjp8= 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:57 +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:44 -0400 Message-Id: <1528295806-90593-3-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:djidp+nVKat8R+DivJNkVGP8pgLi8yHJ1N3ysZcF+XerYY8PSyF1kkNR6JbXvN5QyUuPRunCYVY1TF/D8d7vYVkr/HVq/0kutQX0uvpPSKGIv1BTcFUDk2bfCcjTSQGOy1Tq0Czz6Hvmi2yIPZZ/AL4p+8cl0ueQxSH1awQvjAWCXuP9HNLwbq95oNaX0qckoXq8C/SqUkqauGjRK2sLnSTdn6wy4Y4LkWv1FlrF+vYCblr0p6+LltwdGpVXXBuJ; 25:veV15RSetZbBtqyu/al126VbahTo5/3pnYkfd2K3gyi6m4QB2ta9EryqosW2mQfZOqCqObTtR8nPqV7UcBexa+5gVFs7uAs0AxYkk36/k08NTINsCzJoCqUStbGJKwMwJVuKn6St8syGXOJTF9GnzOkHeV9Xdks+zEeuLLEr3C0SSkMLtL9u8dUYWI/Z8Swdd3NmnJoBz4dQCnJ0Gvdfra6J5bvX536gU3iaZtrs/LSSqT5TIbc7vjgQrz8x+n1Xe/KpSBg0jQ6cD0aGccZpTuke745ze/LvgV/vlPL4PXM/EsPv4tld696VZMR+gz8FVHUCPPAk/qUoKflfj0VpTg==; 31:oSIupgjN1sWOyELcgErqWsRFsMqQtxBHmVJ495MqmMNj4zxLIG4xFro6WNt3LiobnH1bHjOcm1nqrrLCW/sSYsKp8piEcS3ttYB/9BPKdOhaKRoQ//2SiBXYd430so9Aw7Fff5++AiLY9yuinNQyaRhltkoKeprBpX3LjE3K3m9thygfaUPSYOlNjvXeWOlj+XK+IHQkUiVzBv//K0xXfI38z60ml65EZ4J0ucCuk6c= X-MS-TrafficTypeDiagnostic: MW2PR12MB2476: X-Microsoft-Exchange-Diagnostics: 1; MW2PR12MB2476; 20:DreXhnZ5r0jpUYtyuiFhkg7CEHetoR1zhobKGxd6RyyXpyBdoSqJi3GtbmOwbuSTAX6lHN+eB0+5mTZrJCGxb9Y0Z1sXzYY0tbQjdJhe5GmJ8pOmrjiaLt45m3J62F73wuHpwKHpCiEhmv2UUijFyNWTj8JN9qKPrBOcMk5+IjcaBGPOpBOH7VB9TjEVjv7hr2Nr3UJDDPx6m5FDRbsHaoNlBY3ar4sS+YMVndy/OfPbz2xvhUMZKtQA0iONIsiErCdH7wmyOxO5KEmdcBCkdgAXZrvydkuM6kky1Kq+5X4HCkbpCyMJE/R0c0q1irVwcFFtorHsCza9yms7INxpoRCHYGdadKqSTLaSLNd6P6saE15kftMv47hG1UxFfEhDi2bA6ltu+Au0GW6GsJs9DMrqs7HPvsG4Us6BA4/zC+h9XcAlu+GLxdIqCJOGNYMaFpiwcCXkpghMGaiELYxbBrUwVMpZrLpucQRCyyfDc4hRGETFMaLFERZxYIYoKPrs; 4:Q4MeKlz/vEPPt70cwlsUH3WLDVP4nur4kDxNxBumn0OBpacHYQy0WnfKKjeHwGyRpY5PuflU/om6VpcvJHu6hPH5qWcUyFMKPgHXUmSFD6FzVeIsmc0T4MnmPAVRkQEOsYlZ3cz/48YtpTkmExI6l3Z3WmLSS8V3UxXeW9nymnBRCPKfS7IPxGsFolTs3Uii8UngWHjFxbXTnxBQXQUkBqw4m/aGaF8w/xBcXI5Xr8o+UchnJsX5l/lNpKtWnqCv3of2wshLHrC4DGKMRibRgEZrLjhsjiBT/HCSamSPsnEbT2w0kUX5NUCmUNJjGG2n 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)(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); 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:120FR/xYw2Ha6B8cBhsEIKojw5/EVrqNIw5eRr4ur?= Y5r4arQCg1JyW2yQcjSX1pksgqu2HA4i4gTLICX/97C7sZtg6POb+QZ8L479Mrai5W8N6norcrXYSQqrIW3PHVdbLqPkkAbv7X2uHcIDkvDBDch+D4tSZvDNMR6p7asIrkHEWcSk5ir9f6BGgoimp8Jy9xEHZ4vwgjh8xugEqEvUMLRE5JIzfqRBELBu1o8O53esfviXwyiQkxx0qX3DM4fEMDFxHi8QA7TezTZa3RetQ0OevboLsyzmbihAEYt3H67WSqOII9+H4b9IY6E/vZV4q1EUntZ+/LTMo5kBwSfZDq0KJoY1luqh4UK0Y9gCvQa4bkcXXkhp0Yh75kPveXh5R1g/xIpoYgibmm7tAk39Rm3ljQyKbnpDTJuW0rsYO3idyPSTsnXbBDWoXDrg8pkE8f7y0FUiS9R9fcny44osapsLKu4Itk8+YXWdeYgsXsynoD3954aS7KpOkFat1c3jSFRn6pYt7z/A8vjtfY1wYSeFmx6rhfjsaywOwlyhL3644TBKuUUAGp6ydZS8Jpxx8xBlq2pSvo0eMcc38BBkiphzCsQI136sGTTJS92xcTt13YA466ossCEFu4yxcyREt7l/AHidWN+hJSDZKSI7DGf3apgyxSgyrxMKmiU55sVhKHJ8JSLx5HlIHZI/yX03y8Ns9wPGOIGaDNNVKcPtl/RtkDS3V8nL5iCk0ew4VnU28N+EKseBbSTmJynEB7KPJiDyNWuK/CWc6iHP/xrn82K4V5KaxZw/iny8B/w+qd+WM0K2LgRPo4WJmX1j/5JgacrHuA35AtHzot0BVuMvFNsDkuy6MQVz5w4xxq1IRRvRRy/gp5nmbI2KE+/WrtJ5xiE4PD+eHulj/E4FIyol9ENjC6vzHnqK2001tDJVq2mhJ7cZHsELJWArTVJG0L20l8kNQH6qPtDo2v3nv3dm2Zgq3KJbJI9RpC5q++0G84EVkprhWSlTNdhUUkBq363LXnGOoOwmX3tGQcu/Ha+QKMSNhhljr16pWa33H1OYn8G2C9g/Sp2FKlmjhfMlmyQSvJdDjYj1nAfTa6IK7V7hW2DDOgIOrB+N3j/ZCUWoy3GvjX9ARsrR7GtddAhOy7OMCR0FbZixopRUUll/BvbO0OTBpNz5Aa2zDZnvN6hAPVzQd3bR7MNcC2N+IUq+NZAykC2+lvp+o7MZ9r5ZywtBfTky295+LK9LFONMMXPBV/rvmSMx4pRHSBZnLOxk6e/ X-Microsoft-Antispam-Message-Info: OsAmoE1e48Q5oZ2JL64Ja/lZIaIEBzlBdk91jsPSFok9nN7nIYC4SazmuBSszvficciswmb1MSo4uO6ixNTucA8cELqNDNP/KBl2MPy1LhFZnTfqxqQ2ssgKO6QYpBetrzLOno0GKw1pEb6CfUQu2X4QSYtWBxavVUBJNVXnqbT8IEdxw9oaQh/gFoviC40Y X-Microsoft-Exchange-Diagnostics: 1; MW2PR12MB2476; 6:e5nU7y/nwOnA1NU4DXVoGfQNn7P2pZpQ8oPQ+XKS2v6cIDRSM0yMbJ5k3EgldRHZpne6G1LxKA/01hvevj9jf6aTiwJsb7o88Bcry5A7pSyI7LfQTKs3uEtfK9c/wPcgaXG1iLF3nnQGBEcgizxDgV1tTjLhTX9lEeImBYQRUIdwpzMji+DDOzjQfyXIcYwjfS9R7TNTY/QvTl5h7dsOPmOoHKjDMdW1x+1qalSr844xbSQI7mydzvBH9yN5yyyNbN7guIu4SFuc/YNKo/TQG/Ylpx+OgcbClOk8+ti+DjvmPrVF45ObFBZYtAN0QJMbbUQ8IAAOOMF7+e1J+dIk+bLQzqjZEtHt2adkmnvX5U5HQl7ZbgFy9Mo3QtnbGqowG2gtTyVSv0/Q1nvV6VTE6NXo6WniQ0FUWnrqbTjjnnBGBjeKW1ROmwgKXVa1hnlMtNmyh5gj4J9vbkF9OE7C+Q==; 5:kGdiTb584W4USbrdZz86338XqHf/AyEjMB8D86LanUGelEaDaZSTftSZT38e7/7JB6Kp62ishy5hCvATk1o/cB7lJjinkZpYoKkGUaZsfv6oKUXcw9rXVSUekdXNpFukTdpz5svnLiJxch0mcpdMEbFrxtBPg+AkZZSAT0GjtPE=; 24:DWOqBo5TtMqINry3V/63e5IQTZWQV0CD1R8Qy0iCRFlHKpn1E+FS/h35PKc9I1ly3RL1zaHcIfc2oucnKxsmWEbtVAqKbPFz9tKAp0qFbCI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MW2PR12MB2476; 7:2GSaxOJUn9qVN4CDrg6cCCEOh2huovsYVEFVTyoXhiSjC1HHDyQii+Z7Iicm6UogOODSF7fzmed00wnvjwIBIMuRxOfG/aAQuRI6GFx+SVL20KuQIkHXVygb1992eFItlu1qYAqAQZZ71lox40j9vefb9HISUSlSyvHQH5W9qcS6DRqX5AVE3aRzclqBrB3W06G/bqThGvUDYX3JammPbRXJiOjERSFgKdE8WUv27CUtj3lxtmgNwZQLIHkq7A0U; 20:vifh+0vNqQpCzx1JBAYw8aEZL7wngSLddBlRESH6Xzo90bS9SfDoMSZ3jHrggkeV4xFA8K/Un3XKiqbSPuzLM4TQWQe5TwNTir8l4pm4WBhCySYdWdhHbjR3jISyrMZcaZ9/3SOMgyDFv1YqNFKLh/fyuQjrT7OB3J1nf+WIUqUjo5e7L1xK6KlMBzfGjMLD36rOm/oeJx/9ssB5Jwm7pm/sxX9usCYU/xia8ln2oWtVykJ1yUv39HlNXFdSL1NH X-MS-Office365-Filtering-Correlation-Id: a8a50e38-1509-4cfb-75fa-08d5cbbaf59c X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2018 14:36:57.8133 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a8a50e38-1509-4cfb-75fa-08d5cbbaf59c 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.34.74 Subject: [Qemu-devel] [PATCH v12 2/4] i386: Verify if topoext feature can be supported 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" topoext feature cannot be supported in certain cases with large number of cores or threads. Add the check. Signed-off-by: Babu Moger --- target/i386/cpu.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 86fb1a4..fc5c66d 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -509,6 +509,20 @@ static void encode_topo_cpuid8000001e(CPUState *cs, X86CPU *cpu, } /* + * Check if we can support this topology + * Fail if number of cores are beyond the supported config + * or nr_threads is more than 2 + */ +static int topology_supports_topoext(int nr_cores, int nr_threads) +{ + if ((nr_cores > (MAX_CORES_IN_NODE * MAX_NODES_PER_SOCKET)) || + (nr_threads > 2)) { + return 0; + } + return 1; +} + +/* * Definitions of the hardcoded cache entries we expose: * These are legacy cache values. If there is a need to change any * of these values please use builtin_x86_defs @@ -4941,6 +4955,19 @@ static void x86_cpu_realizefn(DeviceState *dev, Error **errp) qemu_init_vcpu(cs); + /* On AMD systems, check if we can support topoext feature */ + if (IS_AMD_CPU(env) && + (env->features[FEAT_8000_0001_ECX] & CPUID_EXT3_TOPOEXT)) { + if (!topology_supports_topoext(cs->nr_cores, cs->nr_threads)) { + /* Cannot support topoext */ + error_setg(errp, "CPU model does not support topoext feature " + "with number of cores(%d) and threads(%d). " + "Please configure -smp options properly.", + cs->nr_cores, cs->nr_threads); + return; + } + } + /* Only Intel CPUs support hyperthreading. Even though QEMU fixes this * issue by adjusting CPUID_0000_0001_EBX and CPUID_8000_0008_ECX * based on inputs (sockets,cores,threads), it is still better to gives 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); From patchwork Wed Jun 6 14:36:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 925892 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="rC5mYv14"; 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 411BCl4T5Bz9s0W for ; Thu, 7 Jun 2018 00:40:03 +1000 (AEST) Received: from localhost ([::1]:52827 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQZbV-0006kt-9o for incoming@patchwork.ozlabs.org; Wed, 06 Jun 2018 10:40:01 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50568) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQZYh-0004WJ-TI for qemu-devel@nongnu.org; Wed, 06 Jun 2018 10:37:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fQZYd-0004F4-I9 for qemu-devel@nongnu.org; Wed, 06 Jun 2018 10:37:07 -0400 Received: from mail-bl2nam02on0071.outbound.protection.outlook.com ([104.47.38.71]:30688 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 1fQZYd-0004Ew-Au for qemu-devel@nongnu.org; Wed, 06 Jun 2018 10:37:03 -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=AQjCkghDrgu5Mk0wPsEaaZ+dV5xwpTOymJ65Y+OqK/E=; b=rC5mYv14IXFB1T7YT+1G1dlJkcU/OPII4R58yoe9ajPy7wuR4DedvpLK7LsbhwCVMl4tGSE1tGphFl4nvf3QpCILcJz88IhaIJqjUqdmIl8ykTPPz32Z4UM3Wq22t83FkS0PRnRE7hTk37QvFbKE57iYqBi6w3VaPV+SjscwfKk= 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:37:00 +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:46 -0400 Message-Id: <1528295806-90593-5-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:gy1pfpBmZ32BKkWj5LRXzlCsxy5cY8Du8fAMW2sQ2Oif9oFE63Zzck39PK4jCsqQ1QQZhpNt4ads13C9W6EC1MNANJzXnJttpiH42DWWky74oDmpNARdoWQ2AgG3WMlTxVTYRHdgY/GeqUbfh9OhxdeVYqGStaEDkpDB4IY0MMRtAibeiufO+frMAuR41r2JFGkDInEqAmJ952eB7lKBKUilWAk/5lCc591sBXryABtgIeZiHFeavLA0iyHNHpgo; 25:PfX8Ns57yna0NobB1p3TTE2JDapHY4CiIiMuGtAId2pMOGSm1Yq7/KUl9bzLeqann7ww54Vj3aCFfglSqcMaJ4L1NQ373WiOxuTAaMhJ63aRrUp+3dHqiILrOlTMLx7ZIK1k4Fyu3VUaxMby21moL5/j3Rl2UI92kP4FirxvGvP+YG9khSgENs6acgBOpy8FZrfo/fMTpJQDbPDO++piW6MiV8U5Batcfv9L16izRRr9aLGvpwdf/D25rQIhwJ8xuEslsxXMZYFNLzva+JD/RSV/I+qbjcks4k8rDLyAso3eqcv4A0aXUrYkixzOdDAmgNrp6mB/DEBAS2ONQDZ10A==; 31:0CGz2ZA1VIVTmksQjcQ+7TfNTNa1qvnz+YxLZ5Jre9fekvv308R/qkYR4IYDQ75IIwbLrfBw/jP3OGUOgJya7HJbkjqi4N4+BVU/+Jkt4NO2P2+qv2WYjhYVzDGVDoMiwX2Qw2c6hWtVdLwK12MvTFKHm1DWOnwjTHc4MdEDznmaAZKkJ1jGdCeNlIVe2/CrmNYVZoWmdvEh5NXCZ5+OtBLc7kGTG/kCJWrZKAGeizk= X-MS-TrafficTypeDiagnostic: MW2PR12MB2476: X-Microsoft-Exchange-Diagnostics: 1; MW2PR12MB2476; 20:Ofq1IHMa5nMxVSigmspDd2SdnD8aZvh73ATUX66FAYUVOFf7rjp1BakkFECVCf05ZbWHLIxhQXNqx/BPGGMSTA6O5ARcVT9nyk2u+opRWoc4H/v9jqs9/48drwQEmKfoo7aBlFkPU9Y+YmLDxFAj+Z/Gv1PbQuMHynkZfJ80NJ9JH7xEwczTsLUfo5E94AvPdIYIR2GKjcjlx3IUw0lsHZeiK0nMHj10BsMqy46voYdWkLte9NcxzPaRUyT+hRhVmxWo8g0fZbQOabVh/SYdF3Aylez+YfVM+lxIhiCS385uUntN1HZU7a1zY55oYdNFwk4PkW7j5zuO5/gf8yzNSIPI8VDGBe/LcTPEWs/2MHmmjM1Ue+c5IRQLlNq4TmEkwyqXrFR2p+qklUtKzHWt9j2PgAunxSno7tXwV1pn6OjfLZzaVPDrqQdbjai4/+N10H2uYpS5cEWoJTc/dWC93V+wPpabsw+PesD8UYpqp6S8d+pj7FEoryuYkZTy8Dkf; 4:FMex0HRMBgZtdZgRePKxX9kzwukG3kGMH1K4vMnZLSTUcvqZVWJ5guezHi0uUkudBiS8+HsCgFoLQGIS8H/GKZjerM8e2r3s7Q+ZSmXVXruyMNMVFiXzSJyF3NTmdFsJwEC2oE69RYUvRvv0HW1wH9OcOf1+CvObixrZbSPQOcmdNK9x8FUoS5UXnVGAh9E1c1+/tpbtmKIkftorXBac2QwjplvjooovBK/THxH6ZICw/HOjnQbSxRSCypduUlVD9TrnVW93kUSlzj88UAj8vwlCIrb/IXCV3mtxrCyZqjLKLlpOC06oFwjRDm2swwqE 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)(41533002); 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:KnXqJx2MGF5nmO7CtxcA42PwwLI3KYTy7IdlECAwF?= 2VM3lcDgx9/3sDHMfLdQ+7e9WkckFLXDCb5RE1zkxwTtzstCW/aarClb+KM5i2v0VKn7dx1jLhOND++SYqYdZzYPFl6Tv3RkdpCu4KrpNFm6O5ZlYefhcfVKzzjzXIZmRtUODfYS1bVVDsCcYStVneVNcTGezvGRt5Atkg7kG2vnaoUMk+4Q3jkXLFGAZDHVThvcT+0Yx0ZDCRoWgvWfOAxYYZd037ylaG746PZpiE3A6ypfVM4CGN8Lz2nxPFmypG5bJTdromDH1mPJ+6+fwHz1TmWWwNmybB0r+dXBLUYFDNlrcX0LNS3esV+Us5nTDkFIJHTtMVibHk0/gi1aiFnpPGEAun7f9VwrZO6k29R0bnH+DSzZLdtPEOQFySXhFvi6wEBmNJZhSBnJrD+yBbM0Kf4mxOuUn4rsMOQkiygZzBVe3a/LHd2H50Syzc4MeS4hDQKPbI4Qbm7e26uWJgDdtcQ21PTJZXxpt5UyveNMG4zTBh9xQ62xa49P21LYiDuEKN1GIDC0yea3StYmWDXR/8DtD22zOKPIZgBgjI/uO88vub4p6S/2GF/vEjPbpwsD0Hrw9jhPVo6xLyc5Yt9l02SUKpRtBDtdOnS4tJhHHbA66JaKvZzgUn4FpxgRILAMYIqw0/yISZek0mqBq4EOuFCiSvpaOgkiVvicH4hqdv7hBQejE/mJcey+/1OsANXc9Nlx+iLveVFR329+76fxMh6+dxOW/3axn7N9xbvtWdpG9HVGpkA0EMiudwHeF1hiZp5zSRFLCOGQCbV2O6ugQhy4Tqdl8QoujAOrj22fo94pwZ8Ol/L8MHJF1Ue2riMNI4XV4fK9B/ObfAx8s0P7ggammiuOELbGVyOiwQDiua4Jj0SWIZgznv3RxxLXQqMaMODHQ0FRiv5JAxBFIaaZMU4bOxwBSwMu48SeYFY1SRVHoBSrQA/UpMKQdGZla4SGJopvF/w5bI8D/27Zw33dmiPOMLrKNGRTQDklFHOBjow2OKQOcPNmLkqk7EtJALP9/19bTaqLu6YfqU2+WAKLm+i6WyWN2J4YHDVahoLKQ+weqfO+lejDINAHuo88EMaGl4rvvvj3xBysKQ1xSl70pBORPnWYsxRrc2a0c6uweyUWCxp1N0I8V2iNd7ez9lSLlowOqcWAlD2/F8Vv1y12c2DyaKrdbVUEZxXkGs9uUisDz0utZr6rQUGW7+wjYZd3nuRROdJ2fZnRiqBSZmE/EY/oYANalWS3t+evIx5H8btFDeLbKeaBb8UDsiRkEYE+2WjRKXEo6iDSUWe8a7L X-Microsoft-Antispam-Message-Info: Ee27nogJ5kK9UOBf2fUFdYp3w9aWHIGTC6XCtLBH8A2vFOixxS1KsfVUnBo+J+GGduWzOt+6IgrBSiE7nbpIsYHsBLPzeKTV/kfaBt6P2MD3XT4p33jU52UKrYe962Nt2/6hnGyiqVeQ0pvv/U02vZ2lSZdH3lq1+yPMArf0r6i+WILwyLzxbpSii2N6pGOf X-Microsoft-Exchange-Diagnostics: 1; MW2PR12MB2476; 6:JXmjfHdnfebPV/Am2gB4qQDqr79ywstci103z/cVJpo/30KrgnpobxARlwFy4xQXzykROx+fHS+5209abR7wBOGLa87XdP71iId2vc0RwO1cH6YxnjArKd8Hp+Ou4T2BZet12L8YXkwOppEnUUesAfEXoG1wxz4aHlmLcDMmSHLQxVOYsLthQAv9yWJWrCqmV6COcGsSCO1ZQbIzUUu9zabBXmM0iBlrkBtuesU3ksVplOeCnwIBLaCiQwYd/V7zImS/fnzX8w5ZHehNqdXkMhqibk7l6iOclhGXMCz5FB7RKErBX6BC0KUpUGNGLzZjLH8Rj6b78KqYFhR0bc7amV3DJs/ZH/hTCYTB5YH794rukB1AJFcL7SJ8h4YpF0AvNNw0N1Sd41P1ZxXUDuRUltmsViXY94yG9ypq9ULFpKC0YEgj4JUVvhmpQBtJJPIz9T19A6Ued6UFhiblPB90RA==; 5:PTVc49QL2UwmVaenmt5giQabM5XDZaXLhuRsmes+5vG71Ys978O4pWVikDyoRZ+LT01P7al6SLywnm+UvDeUIZ+goLZl4YFPLTm1VJgnl2lymat9f0BH3i39sRxvm05FRqJh1bpnc5yf8Ae+P95mZTsw6WNSY+pTULP8Nix5X/I=; 24:OyEeS8UvTstOpxo6SLg+YUz4F/d8FcsSjUKxNe6wXgSshxC2Do02sNAuzcGaDuYwZSkDYzlRMmAfMekNQX5mJwu8ek+gY3UfM31uiELX6ag= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MW2PR12MB2476; 7:NXyTQV+zhD/+nTwh3oaPSF7XqfhceFNj/Bjd4SiPBm2HWRvFifw8zdJMJisKSKCdASkTEkwjU4q7WZlEe16jBbiCtuZgywy/PXplJpwufJ4K4X58DktkTsx+rnxcHvzpmI+x6Cd7RppTzd0Mej9VogVbkTIrvSVA/XnEXxZG8Gvtdo7OJrzWqMhh+r9PuwhphXya+xX4hc3bYutyUaett4vMgZqk0t8CEApYm17c66845c7aVMBPTosjZWOo++oj; 20:3riczl0Cjkpi9f/9uIEqHGSCkJtBdTWRvFn4rxP0LUQ8WKISNoR4MJhK7WVHqdTDzy5xi0Cw4usZiJMqbP3jvZVN74cPnNNhH67kYDZ5DqR0yl6HEcsOK/+YIhrzngphDju8s5+fsHHc4qhN698VW9hH7FUQHWwvUYYT3nv+/JAagnVvy+OEwtOATw5dedN+VZkObOI1ot/fywC2JjY7VedkuvSRTn4GKyxd5VlfNLAksufb1EuWUftt3ZQYhot8 X-MS-Office365-Filtering-Correlation-Id: e685d84b-2823-4619-6204-08d5cbbaf72f X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2018 14:37:00.4695 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e685d84b-2823-4619-6204-08d5cbbaf72f 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.71 Subject: [Qemu-devel] [PATCH v12 4/4] i386: Remove generic SMT thread check 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" Remove generic non-intel check while validating hyperthreading support. Certain AMD CPUs can support hyperthreading now. CPU family with TOPOEXT feature can support hyperthreading now. Signed-off-by: Babu Moger Tested-by: Geoffrey McRae Reviewed-by: Eduardo Habkost --- target/i386/cpu.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 40bf5cb..8e22b37 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -4975,17 +4975,22 @@ static void x86_cpu_realizefn(DeviceState *dev, Error **errp) } } - /* Only Intel CPUs support hyperthreading. Even though QEMU fixes this - * issue by adjusting CPUID_0000_0001_EBX and CPUID_8000_0008_ECX - * based on inputs (sockets,cores,threads), it is still better to gives + /* + * Most Intel and certain AMD CPUs support hyperthreading. Even though QEMU + * fixes this issue by adjusting CPUID_0000_0001_EBX and CPUID_8000_0008_ECX + * based on inputs (sockets,cores,threads), it is still better to give * users a warning. * * NOTE: the following code has to follow qemu_init_vcpu(). Otherwise * cs->nr_threads hasn't be populated yet and the checking is incorrect. */ - if (!IS_INTEL_CPU(env) && cs->nr_threads > 1 && !ht_warned) { - error_report("AMD CPU doesn't support hyperthreading. Please configure" - " -smp options properly."); + if (IS_AMD_CPU(env) && + !(env->features[FEAT_8000_0001_ECX] & CPUID_EXT3_TOPOEXT) && + cs->nr_threads > 1 && !ht_warned) { + error_report("This family of AMD CPU doesn't support " + "hyperthreading(%d). Please configure -smp " + "options properly or try enabling topoext feature.", + cs->nr_threads); ht_warned = true; }