From nobody Mon Apr 29 09:23:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1522186440555864.8135881289066; Tue, 27 Mar 2018 14:34:00 -0700 (PDT) Received: from localhost ([::1]:36206 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wEB-0003dg-K3 for importer@patchew.org; Tue, 27 Mar 2018 17:33:59 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44964) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wBi-0002MI-Gl for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f0wBf-0003pp-IW for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:26 -0400 Received: from mail-bn3nam01on0064.outbound.protection.outlook.com ([104.47.33.64]:43315 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 1f0wBf-0003oR-Be for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:23 -0400 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:20 +0000 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=G7Zox6DR8gSmNb55pEPt7uKHOijpowj985I5NW3LFuY=; b=4SeDLCUr0H2a58c/1ubkwxN6je+UFFhxKxovnRyPqd4D8S6xL62YjWG2bo4GYc03bXFilrCawsgtrYHasDpN65Ap8WFjb7UtJ0AGp1N+GeGqQELcyUOh5riuFF+Pfhnr4dmY9t8SbU6LOOWv1HXNzB5Fm8y7TEny1tx5NbiLbpM= 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:03 -0400 Message-Id: <1522186271-27743-2-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: 187534d1-67af-49a8-7d7d-08d5942a151e 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:qaZmSuqF13TpnhaN3isNR+2uuAYgwpMPhSMcW0WNy1q7OHKOq2HHWgunKOExjQ1nZdS+M10MrVnBuHGGedZV0u5N6hewx0oLekIYYjOsSS4PdLzX6GDDVsuDNH1wd9Wz2xI33Eb2TylawrEs9Y31BgjP/MtEP4dHXgFhk6KmLpuEfN8guVbX7XafyxJkp2jHFhPUyh3H8KfavWLHN5B52fGibEydNinWlSSSANkdLjodkcWeOvThdkPz+twDx0GY; 25:Q29+pyA83Iy4s1d0ZvIos6oln6dg67xK/73eCBqt01ghQdE1UV1oLMJhTlu3jqA7vulZUT9ci6effJAzROOSwIdw1uhCUzU1bA5QF0Xjwh2SIWI0ITdEsUXJg2hCzdVbmRaVAwDWdqEbkuzCmQx/uj1Tbs8XnIzoQcK21uFquJME9eECF1/KZciYb8CUmQje1kiNkJnVztJEh2E/vN4rYh9nN8Ergx0lXPzIKFD0/izDrRrLy4C8QuPQ2uKXIm4q1J2F6IL5i2Dh1IuvYwIjHeIj7082hYZJXp1qpVuXAiuRm1v6pvrTQIb174q/m4eOWQxkQ+q5JUCPEFvL1nZo/g==; 31:xnLRygCmt34sGQ9iu7lj9GUYRBsk8Gk/K7i5i7VhQckGuElpO3gCc74rpQi4AxgLi02zqGIaWGD1oO47M4MwH4uBiwQocUghZyfScDcBloxJdtDxk0hSXEvfyWYhm8drmbCJCwYXHTyMn/1hynPcnuH64yt0/oUUOb0ZqcC47d2QVgCxU+rMFjcs2PB7+9ZNilxeopQVT0GGRFfdnDlZViNfZDB5vJ0sDExpdnQMnTw= X-MS-TrafficTypeDiagnostic: DM5PR12MB1771: X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 20:vgS+VhPHMikYAV2oJayPQeshBGckCthiAD4JG4TJW3IIwttD8irx/R3kWtdjapFYl7D4lUgJsVRh5dZo51ntsMOvkFiV569LEynJJqEMrfVznW1bYxN/ijEU0EG621cv+pwgdAh9zjlxvfGpVQMFkFusAqsJC6DOhKNqkJ6rfHPm2a8zweI5CQ3161Jom/IL6ipwKs71nuvPifrQPDxhrVq1+a8Mte25IqLqumFFsOCVPUbWYzXxW8XtFsof6KTQ4BJdiTg6M2cKmxQV6+zpQNIup7HAZ6n7xALY97lOcMlBBJI+UimhVZnWftswgw9DiieF7FNudLDOjR5DhzwGcymw+K65eGFJj9ls+ZP95hdx1SbL5IClEZGrXIy4wS4bjDLxtT7XzS2x4hxr8GZKtVtHzSYQjcRvUB6MJTyb9sy/7iIbReUqYJo9q7EmdHuI2elkM8cK16JQ9PoWrFKP3YSacR/cQf0oH8Raa6ZVFr0500ikI+TzOZXDsBN3bNHM; 4:tdyvfQRGlway0Ft8uqSSvt6duOGWuP2FJO8AbW3M7KPXpZRhz5NuMVKRGeUwLQnZZ3wRuSXhEeejp2EYIrL7ma6SrwLgSim810EcVhY2wRK0B8MVzXCIAfRN7Y+630BVAlkHiESPNCcWOBR0fzo+WpuY2ekri07BV3kG11AbaI7Aqi/biOWMgA/lyMQYd5me5ps/rhnYWYLLVC0Hm9cXOUdDJnNjRNw9uID8ZhyILaUoTP+EmL/eb7AIjgXPNk6bSHxpFPdBs/ztfQmNzw0PgmAv+xUS5SlyH8sphiT4H70lssXuOoxD9ilXj9I3t1jB 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)(575784001)(68736007)(50226002)(8936002)(3846002)(476003)(478600001)(26005)(2616005)(186003)(446003)(316002)(6116002)(956004)(86362001)(16586007)(48376002)(19627235001); 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: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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:Cu+MMttjtmxgFKw776OAWUDT2xkqUvmeP/OoBZsxw?= =?us-ascii?Q?rWm41rutGrBdN2U+aBIYBqbxORA5/e+lNYKrxjQV40Wf14ZktiQ8s3uuZApR?= =?us-ascii?Q?dmF9FI9ATHilXENxfRc4QoEjmCH32+PsoGxng2xFyZbSaryeFP/9V19UGQqD?= =?us-ascii?Q?1BFtR8rCvVM287fAWgVuOndzwiTS34I4Sos3T9zX6empNWomXubhCZbaBbr8?= =?us-ascii?Q?+8caaYDynHfQysH5wPvwtVI2jvf0ZfTaROVNUMYlvvUnGUaDsekqDx0Tbdau?= =?us-ascii?Q?GMUTyuIWonP/tuz+6Q+1eJ/x1vncS9sBM4Ss0fIy9NFFISauov/d57Kv8+k6?= =?us-ascii?Q?cKYP2bmPznZHX/U9s8ognKhNnQFdAC3oaorklPBT1174lFE4QUmXFDfWrSfO?= =?us-ascii?Q?m2k3dXo/xv4qDK3tHu2Nh9uI3ZF7bO0Jbl0fGL2HQcVPlzZNDl3YiUM3xu9E?= =?us-ascii?Q?CpvpCHr5mJ39rLTVdL66MDHH9O8esQBzNvdQVm4KAeCRszByn/Z0h6occvH6?= =?us-ascii?Q?tZZzL44hhBWH6uQrsxoMCOzkzBwCbLIADGefPFtLe+6WuRbNAyMjVsG+Q+X8?= =?us-ascii?Q?M/Wf/gbIh8WShPKx0q1ytOrsc+uynUsCeU2I6DM833EaHrVLJ1C/HI0nusQO?= =?us-ascii?Q?nM/Ew0HJfnvT0Yvl1UEWPzjtfZYG6cK/Gd0wTCueuTrWR+qA7qmseBwecaSW?= =?us-ascii?Q?JvLI8XqmCf+FNa4Hase8DHOcSDjnmfLT8Zm9fbDPrNASxR2hRkLFxXW/d7MQ?= =?us-ascii?Q?B7iRGzfyKZTyGPXfDmPmFm5+PDxsS5nQTiZwI+YUPrv9nY5kOScwIFQkdg+e?= =?us-ascii?Q?qg4dmvLRRJdtk4qcKKJiK/rMsOJNdwCbOH94trae2H5t+Wef0BvJ+EnazHnJ?= =?us-ascii?Q?RhFqNDpAX5zqfCdaeky4cDgjAzzI4d6dyPEHRtwF6uCzivpoxBabAWASiFK7?= =?us-ascii?Q?RUQ6YyvKhehOTWod/TrHt4QCj0V7AY/dNwO/ZWKpnkxznJLaD2zpMr7oiVZH?= =?us-ascii?Q?TyPoZJb6s5RNEniZVY22itawFHriYHAebbjyF5J63RJ3h8BEwD6SADheSC+E?= =?us-ascii?Q?WMZ+WQ+UIVOtS77c0xffGpgacq8hUabtmi43dp7VWZSe8fV5cXprs/Uzyl76?= =?us-ascii?Q?/7jZC0KdFaudka+EYgwT9baFUlGDA1bHiwSicSgfcVWaNCw25kwtIzP3vD0T?= =?us-ascii?Q?sOldXPV1MRHmYVZ4m1DhH88scPddjus3G6JjsvK/zc/zTEEyXYj4prhjB68b?= =?us-ascii?Q?3Uw90Pw0lRdEjU/538y1rcUPnEfkXvE3OS9Rl64nVwZ3iuR+flbO76nhA4zb?= =?us-ascii?Q?iI4Y5JFBNBs8bHomJo0EoQ=3D?= X-Microsoft-Antispam-Message-Info: itt0Sf+7oKyiQrtPicfV6L6tBv9E3d8U3cYDW/Zg6Q2fMlH7UX+PleUyQ7uD5YXrFLJXp+PQKY77e1xyzodaYdF8lPA+76y+iMNmMyRXuGYMk4ohoztzu3rmJokOypmO4ZOSLmkWS9YIXYm1C+pQu65s3uthLDMcojztj9O09vjyYtWbYBXT/vRRz6vp0bDC X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 6:InrKvxXifrOuCwcYHbqqIFzkUUp09wCNWcSE4JnrfWSCxBqTLAzKJNAX07+jW3pPaFJHfif1HdPoLhuzqgZC8PYdqpjTCGt3U/tIC/Fj5sBCXwmpOk9vhaN88GwW4yveRxS+tf2mNi3b9j0gQxXoJi16E8fOHtGFDRcmD84dWnYIr9CIYUCosQgLY4cVFjBxyEEZBPdziFYB16fcfjMv9/roB3q2RFUV6oTGDHEGd85mHiXepokRA8mXCj/httMWrSc/2wC1Bd5lyV/hfEi0adQnynPslk0F6ut96Vs59pjukuJPAZHCvdL0W58VNn+via16lqB6BWkWSSxrhqEvhcbmgKyllqFFUKP0aipVEmpwfY3Wwkc19Ye6zKX6O+spCUqhNiND0zWmQ1mJfZX6/GDcxAmdOi39EyOZuBXoGYbtLlfz3COmhh2buCYFBbruxiqGfViPRzzbTgqv0Yi9HQ==; 5:hLqzwai8fRCY35XqmxeCAJUxd2CiFiOcTeX1U4Qi74ELvZ6UJiz1M1aTaj2RRgz8xqH3HC/skRD9fj0yCIUMW+E4SOby/rzJVOcrtHO7BJYTosmFMhet53esna29Zs5MP81QjTOQRqcZ27JZqH6gDHx/b9Q3p+xlXLh6pbbvCxU=; 24:6xr0+x/6jov9KQYRXMgusZTCqLN1ER0+XMcjTG/WsZqbbnPXAK3lOueilxvP+8n6gOaZUl57z93iQDH+J6b40PGrflGLycCDU6Og6NkxwN4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 7:/ijhT5Ra/wPcimXiZ7oVmPzeLUibaoXgu0Y8IN1YfkyDhTGahjsKMB1dwkfoHsR4wbyqFI3uyv89sQqltmgfpqnJwVUfGBACoIYKiX29vdYNLnA0NYuL4liuMthrJK6btpC6PEG7nsBymLpdGCfqtQJXRjE0WdVr9nJfTDlwskf0v3zzPIoHtQQhDLj0Rttb/YiqXrr2NFZWC/fb6osdkOib53Phk8pP6yctoBvc9qMgPwr1YJVNjMCrV7lXAEyK; 20:R9l+x4KTKyKLDYwWOT2zNLktREvGcoOfBHshvksoC9cngJV4rXZjwA2NvO80VrKedDkpQ+KSRcChwtxdcaEtx28VYXfC2X9RIJI2j4ckZvEZ0nsF7ePA1K+j88LBwieP7xFpVDSZgPdVSXu7ny5bkheMsMIop/juyeC1d286RB6G7LYkDt+i3V0FjHumyfYw0Ryh4jppsfTNyV/WqhQB1NWwoja09+q4HWHaajMbtZeHXBKpSZwSaNVH+vA8kBZ6 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2018 21:31:20.0712 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 187534d1-67af-49a8-7d7d-08d5942a151e 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.64 Subject: [Qemu-devel] [PATCH v5 1/9] i386: Helpers to encode cache information consistently 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eduardo Habkost Instead of having a collection of macros that need to be used in complex expressions to build CPUID data, define a CPUCacheInfo struct that can hold information about a given cache. Helper functions will take a CPUCacheInfo struct as input to encode CPUID leaves for a cache. This will help us ensure consistency between cache information CPUID leaves, and make the existing inconsistencies in CPUID info more visible. Signed-off-by: Eduardo Habkost Signed-off-by: Babu Moger --- target/i386/cpu.c | 495 ++++++++++++++++++++++++++++++++++++++++----------= ---- target/i386/cpu.h | 53 ++++++ 2 files changed, 424 insertions(+), 124 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 6bb4ce8..da59dc4 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -56,33 +56,240 @@ =20 #include "disas/capstone.h" =20 +/* Helpers for building CPUID[2] descriptors: */ + +struct CPUID2CacheDescriptorInfo { + enum CacheType type; + int level; + int size; + int line_size; + int associativity; +}; =20 -/* Cache topology CPUID constants: */ +#define KiB 1024 +#define MiB (1024 * 1024) =20 -/* CPUID Leaf 2 Descriptors */ +/* + * Known CPUID 2 cache descriptors. + * From Intel SDM Volume 2A, CPUID instruction + */ +struct CPUID2CacheDescriptorInfo cpuid2_cache_descriptors[] =3D { + [0x06] =3D { .level =3D 1, .type =3D ICACHE, .size =3D 8 * Ki= B, + .associativity =3D 4, .line_size =3D 32, }, + [0x08] =3D { .level =3D 1, .type =3D ICACHE, .size =3D 16 * Ki= B, + .associativity =3D 4, .line_size =3D 32, }, + [0x09] =3D { .level =3D 1, .type =3D ICACHE, .size =3D 32 * Ki= B, + .associativity =3D 4, .line_size =3D 64, }, + [0x0A] =3D { .level =3D 1, .type =3D DCACHE, .size =3D 8 * Ki= B, + .associativity =3D 2, .line_size =3D 32, }, + [0x0C] =3D { .level =3D 1, .type =3D DCACHE, .size =3D 16 * Ki= B, + .associativity =3D 4, .line_size =3D 32, }, + [0x0D] =3D { .level =3D 1, .type =3D DCACHE, .size =3D 16 * Ki= B, + .associativity =3D 4, .line_size =3D 64, }, + [0x0E] =3D { .level =3D 1, .type =3D DCACHE, .size =3D 24 * Ki= B, + .associativity =3D 6, .line_size =3D 64, }, + [0x1D] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 128 * Ki= B, + .associativity =3D 2, .line_size =3D 64, }, + [0x21] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 256 * Ki= B, + .associativity =3D 8, .line_size =3D 64, }, + /* lines per sector is not supported cpuid2_cache_descriptor(), + * so descriptors 0x22, 0x23 are not included + */ + [0x24] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 1 * Mi= B, + .associativity =3D 16, .line_size =3D 64, }, + /* lines per sector is not supported cpuid2_cache_descriptor(), + * so descriptors 0x25, 0x20 are not included + */ + [0x2C] =3D { .level =3D 1, .type =3D DCACHE, .size =3D 32 * Ki= B, + .associativity =3D 8, .line_size =3D 64, }, + [0x30] =3D { .level =3D 1, .type =3D ICACHE, .size =3D 32 * Ki= B, + .associativity =3D 8, .line_size =3D 64, }, + [0x41] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 128 * Ki= B, + .associativity =3D 4, .line_size =3D 32, }, + [0x42] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 256 * Ki= B, + .associativity =3D 4, .line_size =3D 32, }, + [0x43] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 512 * Ki= B, + .associativity =3D 4, .line_size =3D 32, }, + [0x44] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 1 * Mi= B, + .associativity =3D 4, .line_size =3D 32, }, + [0x45] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 2 * Mi= B, + .associativity =3D 4, .line_size =3D 32, }, + [0x46] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 4 * Mi= B, + .associativity =3D 4, .line_size =3D 64, }, + [0x47] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 8 * Mi= B, + .associativity =3D 8, .line_size =3D 64, }, + [0x48] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 3 * Mi= B, + .associativity =3D 12, .line_size =3D 64, }, + /* Descriptor 0x49 depends on CPU family/model, so it is not included = */ + [0x4A] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 6 * Mi= B, + .associativity =3D 12, .line_size =3D 64, }, + [0x4B] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 8 * Mi= B, + .associativity =3D 16, .line_size =3D 64, }, + [0x4C] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 12 * Mi= B, + .associativity =3D 12, .line_size =3D 64, }, + [0x4D] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 16 * Mi= B, + .associativity =3D 16, .line_size =3D 64, }, + [0x4E] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 6 * Mi= B, + .associativity =3D 24, .line_size =3D 64, }, + [0x60] =3D { .level =3D 1, .type =3D DCACHE, .size =3D 16 * Ki= B, + .associativity =3D 8, .line_size =3D 64, }, + [0x66] =3D { .level =3D 1, .type =3D DCACHE, .size =3D 8 * Ki= B, + .associativity =3D 4, .line_size =3D 64, }, + [0x67] =3D { .level =3D 1, .type =3D DCACHE, .size =3D 16 * Ki= B, + .associativity =3D 4, .line_size =3D 64, }, + [0x68] =3D { .level =3D 1, .type =3D DCACHE, .size =3D 32 * Ki= B, + .associativity =3D 4, .line_size =3D 64, }, + [0x78] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 1 * Mi= B, + .associativity =3D 4, .line_size =3D 64, }, + /* lines per sector is not supported cpuid2_cache_descriptor(), + * so descriptors 0x79, 0x7A, 0x7B, 0x7C are not included. + */ + [0x7D] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 2 * Mi= B, + .associativity =3D 8, .line_size =3D 64, }, + [0x7F] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 512 * Ki= B, + .associativity =3D 2, .line_size =3D 64, }, + [0x80] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 512 * Ki= B, + .associativity =3D 8, .line_size =3D 64, }, + [0x82] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 256 * Ki= B, + .associativity =3D 8, .line_size =3D 32, }, + [0x83] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 512 * Ki= B, + .associativity =3D 8, .line_size =3D 32, }, + [0x84] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 1 * Mi= B, + .associativity =3D 8, .line_size =3D 32, }, + [0x85] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 2 * Mi= B, + .associativity =3D 8, .line_size =3D 32, }, + [0x86] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 512 * Ki= B, + .associativity =3D 4, .line_size =3D 64, }, + [0x87] =3D { .level =3D 2, .type =3D UNIFIED_CACHE, .size =3D 1 * Mi= B, + .associativity =3D 8, .line_size =3D 64, }, + [0xD0] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 512 * Ki= B, + .associativity =3D 4, .line_size =3D 64, }, + [0xD1] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 1 * Mi= B, + .associativity =3D 4, .line_size =3D 64, }, + [0xD2] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 2 * Mi= B, + .associativity =3D 4, .line_size =3D 64, }, + [0xD6] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 1 * Mi= B, + .associativity =3D 8, .line_size =3D 64, }, + [0xD7] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 2 * Mi= B, + .associativity =3D 8, .line_size =3D 64, }, + [0xD8] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 4 * Mi= B, + .associativity =3D 8, .line_size =3D 64, }, + [0xDC] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 1.5 * Mi= B, + .associativity =3D 12, .line_size =3D 64, }, + [0xDD] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 3 * Mi= B, + .associativity =3D 12, .line_size =3D 64, }, + [0xDE] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 6 * Mi= B, + .associativity =3D 12, .line_size =3D 64, }, + [0xE2] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 2 * Mi= B, + .associativity =3D 16, .line_size =3D 64, }, + [0xE3] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 4 * Mi= B, + .associativity =3D 16, .line_size =3D 64, }, + [0xE4] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 8 * Mi= B, + .associativity =3D 16, .line_size =3D 64, }, + [0xEA] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 12 * Mi= B, + .associativity =3D 24, .line_size =3D 64, }, + [0xEB] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 18 * Mi= B, + .associativity =3D 24, .line_size =3D 64, }, + [0xEC] =3D { .level =3D 3, .type =3D UNIFIED_CACHE, .size =3D 24 * Mi= B, + .associativity =3D 24, .line_size =3D 64, }, +}; + +/* + * "CPUID leaf 2 does not report cache descriptor information, + * use CPUID leaf 4 to query cache parameters" + */ +#define CACHE_DESCRIPTOR_UNAVAILABLE 0xFF =20 -#define CPUID_2_L1D_32KB_8WAY_64B 0x2c -#define CPUID_2_L1I_32KB_8WAY_64B 0x30 -#define CPUID_2_L2_2MB_8WAY_64B 0x7d -#define CPUID_2_L3_16MB_16WAY_64B 0x4d +/* + * Return a CPUID 2 cache descriptor for a given cache. + * If no known descriptor is found, return CACHE_DESCRIPTOR_UNAVAILABLE + */ +static uint8_t cpuid2_cache_descriptor(CPUCacheInfo *cache) +{ + int i; + + assert(cache->size > 0); + assert(cache->level > 0); + assert(cache->line_size > 0); + assert(cache->associativity > 0); + for (i =3D 0; i < ARRAY_SIZE(cpuid2_cache_descriptors); i++) { + struct CPUID2CacheDescriptorInfo *d =3D &cpuid2_cache_descriptors[= i]; + if (d->level =3D=3D cache->level && d->type =3D=3D cache->type && + d->size =3D=3D cache->size && d->line_size =3D=3D cache->line_= size && + d->associativity =3D=3D cache->associativity) { + return i; + } + } =20 + return CACHE_DESCRIPTOR_UNAVAILABLE; +} =20 /* CPUID Leaf 4 constants: */ =20 /* EAX: */ -#define CPUID_4_TYPE_DCACHE 1 -#define CPUID_4_TYPE_ICACHE 2 -#define CPUID_4_TYPE_UNIFIED 3 +#define CACHE_TYPE_D 1 +#define CACHE_TYPE_I 2 +#define CACHE_TYPE_UNIFIED 3 =20 -#define CPUID_4_LEVEL(l) ((l) << 5) +#define CACHE_LEVEL(l) (l << 5) =20 -#define CPUID_4_SELF_INIT_LEVEL (1 << 8) -#define CPUID_4_FULLY_ASSOC (1 << 9) +#define CACHE_SELF_INIT_LEVEL (1 << 8) =20 /* EDX: */ -#define CPUID_4_NO_INVD_SHARING (1 << 0) -#define CPUID_4_INCLUSIVE (1 << 1) -#define CPUID_4_COMPLEX_IDX (1 << 2) +#define CACHE_NO_INVD_SHARING (1 << 0) +#define CACHE_INCLUSIVE (1 << 1) +#define CACHE_COMPLEX_IDX (1 << 2) + +/* Encode CacheType for CPUID[4].EAX */ +#define CACHE_TYPE(t) (((t) =3D=3D DCACHE) ? CACHE_TYPE_D : \ + ((t) =3D=3D ICACHE) ? CACHE_TYPE_I : \ + ((t) =3D=3D UNIFIED_CACHE) ? CACHE_TYPE_UNIFIED := \ + 0 /* Invalid value */) + + +/* Encode cache info for CPUID[4] */ +static void encode_cache_cpuid4(CPUCacheInfo *cache, + int num_apic_ids, int num_cores, + uint32_t *eax, uint32_t *ebx, + uint32_t *ecx, uint32_t *edx) +{ + assert(cache->size =3D=3D cache->line_size * cache->associativity * + cache->partitions * cache->sets); + + assert(num_apic_ids > 0); + *eax =3D CACHE_TYPE(cache->type) | + CACHE_LEVEL(cache->level) | + (cache->self_init ? CACHE_SELF_INIT_LEVEL : 0) | + ((num_cores - 1) << 26) | + ((num_apic_ids - 1) << 14); + + assert(cache->line_size > 0); + assert(cache->partitions > 0); + assert(cache->associativity > 0); + /* We don't implement fully-associative caches */ + assert(cache->associativity < cache->sets); + *ebx =3D (cache->line_size - 1) | + ((cache->partitions - 1) << 12) | + ((cache->associativity - 1) << 22); + + assert(cache->sets > 0); + *ecx =3D cache->sets - 1; + + *edx =3D (cache->no_invd_sharing ? CACHE_NO_INVD_SHARING : 0) | + (cache->inclusive ? CACHE_INCLUSIVE : 0) | + (cache->complex_indexing ? CACHE_COMPLEX_IDX : 0); +} + +/* Encode cache info for CPUID[0x80000005].ECX or CPUID[0x80000005].EDX */ +static uint32_t encode_cache_cpuid80000005(CPUCacheInfo *cache) +{ + assert(cache->size % 1024 =3D=3D 0); + assert(cache->lines_per_tag > 0); + assert(cache->associativity > 0); + assert(cache->line_size > 0); + return ((cache->size / 1024) << 24) | (cache->associativity << 16) | + (cache->lines_per_tag << 8) | (cache->line_size); +} =20 #define ASSOC_FULL 0xFF =20 @@ -100,57 +307,140 @@ a =3D=3D ASSOC_FULL ? 0xF : \ 0 /* invalid value */) =20 +/* + * Encode cache info for CPUID[0x80000006].ECX and CPUID[0x80000006].EDX + * @l3 can be NULL. + */ +static void encode_cache_cpuid80000006(CPUCacheInfo *l2, + CPUCacheInfo *l3, + uint32_t *ecx, uint32_t *edx) +{ + assert(l2->size % 1024 =3D=3D 0); + assert(l2->associativity > 0); + assert(l2->lines_per_tag > 0); + assert(l2->line_size > 0); + *ecx =3D ((l2->size / 1024) << 16) | + (AMD_ENC_ASSOC(l2->associativity) << 12) | + (l2->lines_per_tag << 8) | (l2->line_size); + + if (l3) { + assert(l3->size % (512 * 1024) =3D=3D 0); + assert(l3->associativity > 0); + assert(l3->lines_per_tag > 0); + assert(l3->line_size > 0); + *edx =3D ((l3->size / (512 * 1024)) << 18) | + (AMD_ENC_ASSOC(l3->associativity) << 12) | + (l3->lines_per_tag << 8) | (l3->line_size); + } else { + *edx =3D 0; + } +} =20 /* Definitions of the hardcoded cache entries we expose: */ =20 /* L1 data cache: */ -#define L1D_LINE_SIZE 64 -#define L1D_ASSOCIATIVITY 8 -#define L1D_SETS 64 -#define L1D_PARTITIONS 1 -/* Size =3D LINE_SIZE*ASSOCIATIVITY*SETS*PARTITIONS =3D 32KiB */ -#define L1D_DESCRIPTOR CPUID_2_L1D_32KB_8WAY_64B +static CPUCacheInfo l1d_cache =3D { + .type =3D DCACHE, + .level =3D 1, + .size =3D 32 * KiB, + .self_init =3D 1, + .line_size =3D 64, + .associativity =3D 8, + .sets =3D 64, + .partitions =3D 1, + .no_invd_sharing =3D true, +}; + /*FIXME: CPUID leaf 0x80000005 is inconsistent with leaves 2 & 4 */ -#define L1D_LINES_PER_TAG 1 -#define L1D_SIZE_KB_AMD 64 -#define L1D_ASSOCIATIVITY_AMD 2 +static CPUCacheInfo l1d_cache_amd =3D { + .type =3D DCACHE, + .level =3D 1, + .size =3D 64 * KiB, + .self_init =3D 1, + .line_size =3D 64, + .associativity =3D 2, + .sets =3D 512, + .partitions =3D 1, + .lines_per_tag =3D 1, + .no_invd_sharing =3D true, +}; =20 /* L1 instruction cache: */ -#define L1I_LINE_SIZE 64 -#define L1I_ASSOCIATIVITY 8 -#define L1I_SETS 64 -#define L1I_PARTITIONS 1 -/* Size =3D LINE_SIZE*ASSOCIATIVITY*SETS*PARTITIONS =3D 32KiB */ -#define L1I_DESCRIPTOR CPUID_2_L1I_32KB_8WAY_64B +static CPUCacheInfo l1i_cache =3D { + .type =3D ICACHE, + .level =3D 1, + .size =3D 32 * KiB, + .self_init =3D 1, + .line_size =3D 64, + .associativity =3D 8, + .sets =3D 64, + .partitions =3D 1, + .no_invd_sharing =3D true, +}; + /*FIXME: CPUID leaf 0x80000005 is inconsistent with leaves 2 & 4 */ -#define L1I_LINES_PER_TAG 1 -#define L1I_SIZE_KB_AMD 64 -#define L1I_ASSOCIATIVITY_AMD 2 +static CPUCacheInfo l1i_cache_amd =3D { + .type =3D ICACHE, + .level =3D 1, + .size =3D 64 * KiB, + .self_init =3D 1, + .line_size =3D 64, + .associativity =3D 2, + .sets =3D 512, + .partitions =3D 1, + .lines_per_tag =3D 1, + .no_invd_sharing =3D true, +}; =20 /* Level 2 unified cache: */ -#define L2_LINE_SIZE 64 -#define L2_ASSOCIATIVITY 16 -#define L2_SETS 4096 -#define L2_PARTITIONS 1 -/* Size =3D LINE_SIZE*ASSOCIATIVITY*SETS*PARTITIONS =3D 4MiB */ +static CPUCacheInfo l2_cache =3D { + .type =3D UNIFIED_CACHE, + .level =3D 2, + .size =3D 4 * MiB, + .self_init =3D 1, + .line_size =3D 64, + .associativity =3D 16, + .sets =3D 4096, + .partitions =3D 1, + .no_invd_sharing =3D true, +}; + /*FIXME: CPUID leaf 2 descriptor is inconsistent with CPUID leaf 4 */ -#define L2_DESCRIPTOR CPUID_2_L2_2MB_8WAY_64B +static CPUCacheInfo l2_cache_cpuid2 =3D { + .type =3D UNIFIED_CACHE, + .level =3D 2, + .size =3D 2 * MiB, + .line_size =3D 64, + .associativity =3D 8, +}; + + /*FIXME: CPUID leaf 0x80000006 is inconsistent with leaves 2 & 4 */ -#define L2_LINES_PER_TAG 1 -#define L2_SIZE_KB_AMD 512 +static CPUCacheInfo l2_cache_amd =3D { + .type =3D UNIFIED_CACHE, + .level =3D 2, + .size =3D 512 * KiB, + .line_size =3D 64, + .lines_per_tag =3D 1, + .associativity =3D 8, + .sets =3D 1024, + .partitions =3D 1, +}; =20 /* Level 3 unified cache: */ -#define L3_SIZE_KB 0 /* disabled */ -#define L3_ASSOCIATIVITY 0 /* disabled */ -#define L3_LINES_PER_TAG 0 /* disabled */ -#define L3_LINE_SIZE 0 /* disabled */ -#define L3_N_LINE_SIZE 64 -#define L3_N_ASSOCIATIVITY 16 -#define L3_N_SETS 16384 -#define L3_N_PARTITIONS 1 -#define L3_N_DESCRIPTOR CPUID_2_L3_16MB_16WAY_64B -#define L3_N_LINES_PER_TAG 1 -#define L3_N_SIZE_KB_AMD 16384 +static CPUCacheInfo l3_cache =3D { + .type =3D UNIFIED_CACHE, + .level =3D 3, + .size =3D 16 * MiB, + .line_size =3D 64, + .associativity =3D 16, + .sets =3D 16384, + .partitions =3D 1, + .lines_per_tag =3D 1, + .self_init =3D true, + .inclusive =3D true, + .complex_indexing =3D true, +}; =20 /* TLB definitions: */ =20 @@ -3298,85 +3588,53 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index= , uint32_t count, if (!cpu->enable_l3_cache) { *ecx =3D 0; } else { - *ecx =3D L3_N_DESCRIPTOR; + *ecx =3D cpuid2_cache_descriptor(&l3_cache); } - *edx =3D (L1D_DESCRIPTOR << 16) | \ - (L1I_DESCRIPTOR << 8) | \ - (L2_DESCRIPTOR); + *edx =3D (cpuid2_cache_descriptor(&l1d_cache) << 16) | + (cpuid2_cache_descriptor(&l1i_cache) << 8) | + (cpuid2_cache_descriptor(&l2_cache_cpuid2)); break; case 4: /* cache info: needed for Core compatibility */ if (cpu->cache_info_passthrough) { host_cpuid(index, count, eax, ebx, ecx, edx); + /* QEMU gives out its own APIC IDs, never pass down bits 31..2= 6. */ *eax &=3D ~0xFC000000; + if ((*eax & 31) && cs->nr_cores > 1) { + *eax |=3D (cs->nr_cores - 1) << 26; + } } else { *eax =3D 0; switch (count) { case 0: /* L1 dcache info */ - *eax |=3D CPUID_4_TYPE_DCACHE | \ - CPUID_4_LEVEL(1) | \ - CPUID_4_SELF_INIT_LEVEL; - *ebx =3D (L1D_LINE_SIZE - 1) | \ - ((L1D_PARTITIONS - 1) << 12) | \ - ((L1D_ASSOCIATIVITY - 1) << 22); - *ecx =3D L1D_SETS - 1; - *edx =3D CPUID_4_NO_INVD_SHARING; + encode_cache_cpuid4(&l1d_cache, + 1, cs->nr_cores, + eax, ebx, ecx, edx); break; case 1: /* L1 icache info */ - *eax |=3D CPUID_4_TYPE_ICACHE | \ - CPUID_4_LEVEL(1) | \ - CPUID_4_SELF_INIT_LEVEL; - *ebx =3D (L1I_LINE_SIZE - 1) | \ - ((L1I_PARTITIONS - 1) << 12) | \ - ((L1I_ASSOCIATIVITY - 1) << 22); - *ecx =3D L1I_SETS - 1; - *edx =3D CPUID_4_NO_INVD_SHARING; + encode_cache_cpuid4(&l1i_cache, + 1, cs->nr_cores, + eax, ebx, ecx, edx); break; case 2: /* L2 cache info */ - *eax |=3D CPUID_4_TYPE_UNIFIED | \ - CPUID_4_LEVEL(2) | \ - CPUID_4_SELF_INIT_LEVEL; - if (cs->nr_threads > 1) { - *eax |=3D (cs->nr_threads - 1) << 14; - } - *ebx =3D (L2_LINE_SIZE - 1) | \ - ((L2_PARTITIONS - 1) << 12) | \ - ((L2_ASSOCIATIVITY - 1) << 22); - *ecx =3D L2_SETS - 1; - *edx =3D CPUID_4_NO_INVD_SHARING; + encode_cache_cpuid4(&l2_cache, + cs->nr_threads, cs->nr_cores, + eax, ebx, ecx, edx); break; case 3: /* L3 cache info */ - if (!cpu->enable_l3_cache) { - *eax =3D 0; - *ebx =3D 0; - *ecx =3D 0; - *edx =3D 0; + pkg_offset =3D apicid_pkg_offset(cs->nr_cores, cs->nr_thre= ads); + if (cpu->enable_l3_cache) { + encode_cache_cpuid4(&l3_cache, + (1 << pkg_offset), cs->nr_cores, + eax, ebx, ecx, edx); break; } - *eax |=3D CPUID_4_TYPE_UNIFIED | \ - CPUID_4_LEVEL(3) | \ - CPUID_4_SELF_INIT_LEVEL; - pkg_offset =3D apicid_pkg_offset(cs->nr_cores, cs->nr_thre= ads); - *eax |=3D ((1 << pkg_offset) - 1) << 14; - *ebx =3D (L3_N_LINE_SIZE - 1) | \ - ((L3_N_PARTITIONS - 1) << 12) | \ - ((L3_N_ASSOCIATIVITY - 1) << 22); - *ecx =3D L3_N_SETS - 1; - *edx =3D CPUID_4_INCLUSIVE | CPUID_4_COMPLEX_IDX; - break; + /* fall through */ default: /* end of info */ - *eax =3D 0; - *ebx =3D 0; - *ecx =3D 0; - *edx =3D 0; + *eax =3D *ebx =3D *ecx =3D *edx =3D 0; break; } } - - /* QEMU gives out its own APIC IDs, never pass down bits 31..26. = */ - if ((*eax & 31) && cs->nr_cores > 1) { - *eax |=3D (cs->nr_cores - 1) << 26; - } break; case 5: /* mwait info: needed for Core compatibility */ @@ -3580,10 +3838,8 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,= uint32_t count, (L1_ITLB_2M_ASSOC << 8) | (L1_ITLB_2M_ENTRIES); *ebx =3D (L1_DTLB_4K_ASSOC << 24) | (L1_DTLB_4K_ENTRIES << 16) | \ (L1_ITLB_4K_ASSOC << 8) | (L1_ITLB_4K_ENTRIES); - *ecx =3D (L1D_SIZE_KB_AMD << 24) | (L1D_ASSOCIATIVITY_AMD << 16) |= \ - (L1D_LINES_PER_TAG << 8) | (L1D_LINE_SIZE); - *edx =3D (L1I_SIZE_KB_AMD << 24) | (L1I_ASSOCIATIVITY_AMD << 16) |= \ - (L1I_LINES_PER_TAG << 8) | (L1I_LINE_SIZE); + *ecx =3D encode_cache_cpuid80000005(&l1d_cache_amd); + *edx =3D encode_cache_cpuid80000005(&l1i_cache_amd); break; case 0x80000006: /* cache info (L2 cache) */ @@ -3599,18 +3855,9 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,= uint32_t count, (L2_DTLB_4K_ENTRIES << 16) | \ (AMD_ENC_ASSOC(L2_ITLB_4K_ASSOC) << 12) | \ (L2_ITLB_4K_ENTRIES); - *ecx =3D (L2_SIZE_KB_AMD << 16) | \ - (AMD_ENC_ASSOC(L2_ASSOCIATIVITY) << 12) | \ - (L2_LINES_PER_TAG << 8) | (L2_LINE_SIZE); - if (!cpu->enable_l3_cache) { - *edx =3D ((L3_SIZE_KB / 512) << 18) | \ - (AMD_ENC_ASSOC(L3_ASSOCIATIVITY) << 12) | \ - (L3_LINES_PER_TAG << 8) | (L3_LINE_SIZE); - } else { - *edx =3D ((L3_N_SIZE_KB_AMD / 512) << 18) | \ - (AMD_ENC_ASSOC(L3_N_ASSOCIATIVITY) << 12) | \ - (L3_N_LINES_PER_TAG << 8) | (L3_N_LINE_SIZE); - } + encode_cache_cpuid80000006(&l2_cache_amd, + cpu->enable_l3_cache ? &l3_cache : NULL, + ecx, edx); break; case 0x80000007: *eax =3D 0; diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 2e2bab5..79d5ccf 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -1044,6 +1044,59 @@ typedef enum TPRAccess { TPR_ACCESS_WRITE, } TPRAccess; =20 +/* Cache information data structures: */ + +enum CacheType { + DCACHE, + ICACHE, + UNIFIED_CACHE +}; + +typedef struct CPUCacheInfo { + enum CacheType type; + uint8_t level; + /* Size in bytes */ + uint32_t size; + /* Line size, in bytes */ + uint16_t line_size; + /* + * Associativity. + * Note: representation of fully-associative caches is not implemented + */ + uint8_t associativity; + /* Physical line partitions. CPUID[0x8000001D].EBX, CPUID[4].EBX */ + uint8_t partitions; + /* Number of sets. CPUID[0x8000001D].ECX, CPUID[4].ECX */ + uint32_t sets; + /* + * Lines per tag. + * AMD-specific: CPUID[0x80000005], CPUID[0x80000006]. + * (Is this synonym to @partitions?) + */ + uint8_t lines_per_tag; + + /* Self-initializing cache */ + bool self_init; + /* + * WBINVD/INVD is not guaranteed to act upon lower level caches of + * non-originating threads sharing this cache. + * CPUID[4].EDX[bit 0], CPUID[0x8000001D].EDX[bit 0] + */ + bool no_invd_sharing; + /* + * Cache is inclusive of lower cache levels. + * CPUID[4].EDX[bit 1], CPUID[0x8000001D].EDX[bit 1]. + */ + bool inclusive; + /* + * A complex function is used to index the cache, potentially using all + * address bits. CPUID[4].EDX[bit 2]. + */ + bool complex_indexing; +} CPUCacheInfo; + + + typedef struct CPUX86State { /* standard registers */ target_ulong regs[CPU_NB_REGS]; --=20 1.8.3.1 From nobody Mon Apr 29 09:23:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1522186427456665.721222023736; Tue, 27 Mar 2018 14:33:47 -0700 (PDT) Received: from localhost ([::1]:36204 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wDv-0003XX-3C for importer@patchew.org; Tue, 27 Mar 2018 17:33:43 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44960) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wBi-0002MG-FY for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f0wBf-0003qB-Qo for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:26 -0400 Received: from mail-bn3nam01on0064.outbound.protection.outlook.com ([104.47.33.64]:43315 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 1f0wBf-0003oR-Mk for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:23 -0400 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:21 +0000 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=MoWaTRdnH5Ho3JPZlkXluk0uS/Nipg06ILsZnVqNxgA=; b=0zyZpSoV4MHRzumhPfSHcrtV/jedtMWki38+3YRs2k/loFym2SS32P0ZqHrPGaWp+GHsQuZSN7yCl0eyMS1yJuwYvAl76pzXzEtoisyGQjU6bA6e+4XOZpLdKKfyPR0VihbbUUMPhlaiN4GU5G9rUZzwDZvGjSbWLLhXGOk73q8= 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:04 -0400 Message-Id: <1522186271-27743-3-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: 0d4be97a-a616-4a33-8aaa-08d5942a15ad 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:yHEzn3Tdy94tN9h+718dZTN5s3Ob5UFvesXOJsA35n+5jwWACp0vTTF5KOVwEi8v7JiXaHouttdEOV6Sw6XMVP2ozRoeCxKhu5gGBNMGyET7MEv5+ZMyp0W9/CmpMWTJT5KCIo6B2aRflW7Fsw6UalMZku1nSxjP7mOrS1iKQrCfl/SrLEhXq58lr/eO6qQYynXV/mGRCTkqAGGbobmCm4+VNm8W0IFPypqutFiwkKjcFDH3mcatQDDO3gi11nLA; 25:yW0KPWz9mmxruDq2KGwLXyNdvjR7cngtOED3Ers7QC6w4Ej5j7iHxRVbBmXf6b9QVv3FGF/1cUSv3HJIPtNB4vKG4GkSEI3uthxcXoU9NmG3vzPbcab4kkA7nxkjiXJiBKFzWtMpfplyH/ixhRWQ38lKi0RCLEhKz2KZ8dR+5FpMWk6KJ9zQr7R6gMqUD7kDR9pkezag4VTo6Bhq9WuJyjMbFYQFHlFYSbi5nrMKz2Y25CRCAFoUJgH3DjuYQJOlnnS8ggFdLZ0vfteLUaV0+/CUIR5jcES3UClVmS2KoXHMNs5vDz8A8aiIyii5UIwsDT+OwG8keweTcMtkW8ktjA==; 31:OAvIYqgtXORQitagk5KsnO0Hc/r7KmN80gWI6iCMoVap+caq3yymjsSjui86GDnrFIu5V/fJ/N1uYeVNmp3k/HcojZqlGkMQnaoRZyxyyitM0TbFQrKSqavFYS+g+GRz78t+RdHg68NeTNRGOrERzsyJ1EnsNF4mvv3/r6ZC4MCBc9Qu+zo4mMWt2/t2o1q/eH7EPfUEB/Ut9oVZv0IOfpkVSYez/mn6C+Mkldp1ypo= X-MS-TrafficTypeDiagnostic: DM5PR12MB1771: X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 20:nicYG16yXjeBGZMG/ZdMoeDaQZl2AyJyj7wXEk6QEbF+9LxXWsTkfA0Uc2obtdLPBZ65Qe6vPxXhkjmG8SxaxjD8805xk0m0fZyhuC6I1cRdbr5A2dD8f0ZZruJ2MqOHBXYjsuk36ye9yBDLDMvPFDwQU5oG+1+KhWGrCtnPWct7wKmfw5vgyEIpIoaZyuLOoWeaYG0nsMIZuVpTdOKRN9BdKGZqPy3yHJRzn+ztmLLU8VVmgMJr1Ci8CtdTzY7keqVzGV9drxHPLCFHD8Na1Z2SOza3ND0VHFxzjHT8JAwvW74h1JqtxCOlzqohrBM0Uqv/F4zsYOn9gqV3EJ9tYgN+GY0CX9jMcUbmAWO3RHPd0wj5xN6qJUe7FSRfbAsLcRlTbTAPxLHtu+xcJXg4WNClu2mCOkbLzFzARk/bzy1frPwuINlsmJdwGGcgp/jWxxmE0eJpKdyH61i3YLv9CtmzmXZ97bzvAFKIXtnhuVkxe2+EsmQ4co7u/Twx0IUr; 4:m57hL6bin4xW7LLmQAJZDyZyde1TRW9PCNgbuPRMHWEsWzqpX7ZK5f5lwqh7iq/zCoGw6qsvwz7lQ4kYDRXqw8Cn6IG+Eljdl6XIiItcK2rjvlkVA+C8V3Xe/9IaiQ3a5aiy5Y0Pl32q4iqWz7UhOHdsuyqOaJ+NqPz/P8pZKUowq9ll+1iaXN4M8Lw/AlgY6vJh+/MmEDXTILClaoNRdACiz+fqpLDZjrm7Pxp9j9oZYMMsMTVFJMGcaGfzl7J/GIppBn238QjOGEvhZcI5+DMEz0LW42hJLy/kZpX0Czhl7zDz8aRRuYLG18OTSLt6 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)(15760500003)(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); 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: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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:020jTavoToZ9qABqlRyxDqwryDi6/PJDP4bE2URM4?= =?us-ascii?Q?sPaZARc+PTLkdUNkkRFhEZHYZkVSMK8aS5lZtjeb+VjtrSYyPU3eHquPl6Rf?= =?us-ascii?Q?3bZ2pM1a6Mr+4EsTjncv7JkCWGnX1swPEoLaIE4ikGyzQGR17tAKXRMOIErc?= =?us-ascii?Q?MDzn2m4dikSQJlzugDFq00p+EutdjaZOeX+PffTFAIwPb3w8RmgAV93p7Gpg?= =?us-ascii?Q?UxQCBIbSNJhK75HeU5vozC5fS5r260GJLhRuPGyIF63XwtLgAN0M0+x0REvE?= =?us-ascii?Q?V6qxEPAokKn4VgiLONNmDZM7duwZKON3uSxetnH7zX5NkAf8a/kPrbuJno3W?= =?us-ascii?Q?D+F3jQpvSs6Byd6v3SJcqRfu/Fjr+mN0cI6TAf3j8gePBmaGLaiBSrq73MpZ?= =?us-ascii?Q?jeDFOD1dXkIJreBTvB5upS/py51Uklhw7uvyWHNs+cWQJYCB9rW5w0Y+42CU?= =?us-ascii?Q?d0dVV6omvIUdW0OJIySYBJtKjYwNvfkZ76M/ebf0SCN7PgNdeuJqtgInkSam?= =?us-ascii?Q?TqDNffOlDCFiGUrFdDl6TWZM/B4370d2H6e98nLmiunZ0IKLlu+rxDgHELeF?= =?us-ascii?Q?8YbZq2RstTiyn2C7qaNzwHbVRb9WOpNgNsn0to0nCtWhjiircqZE8FTyFMjl?= =?us-ascii?Q?bR8Ejmjha5RIlbjkOB7HagHCgJyX0FTVy1cEvbEBev3GZFyQCGC5Ruf7GB0h?= =?us-ascii?Q?W0zae0HjlVgfvG7iRh/rl7jdGPyqiMeoTj1u5bN4BDTFL/E6l1fO2eIM5gUT?= =?us-ascii?Q?8/VADzxmfqab5lUgcSq6Tsh+CKReGH9ygX/SGZ1Jfx+JGE5Lg29Q8BlDKOw0?= =?us-ascii?Q?kkXYjhpJ9H3Prop2g9MCGBk2mqHqVwoz1OIgL1PQOfJ2tYx3QDK4tDjlkdjF?= =?us-ascii?Q?d82z3Lgz0CJCApdvRIN55rNlunN8eJccSAiUbN4eJWld/3fTcu7am4UAgAM8?= =?us-ascii?Q?bYLvT8oZ4vpVETj+SEJ/zXWjWS41KfROwVl4wfghn25gSooTRkzAkS94/haV?= =?us-ascii?Q?fHjzswyz82tKK88zr6ZK7Wm/aljKChbU9mt2d0ESWMUGyr4zEi6Mnct/hNtI?= =?us-ascii?Q?LdeWYG4rTxpYan/f4kpOzslqvn3gYUC6pTP6QmD4cYV+h6uVNYIgzEnLgXv2?= =?us-ascii?Q?fJBUo1xXhFGfjHuD6XnGtrXVgy2UugPHdva2jtlSo3Ew6E16t7DR7tvzs4Mt?= =?us-ascii?Q?AyT7OPWQy4IMtXlUn/3Qi+HS3yS1NDK4tFjyMmQbdVs2sP+VE1twV/YAvkaQ?= =?us-ascii?Q?36x5PWX8vlKDW/39tBSe4DeFp53SznNFLPBTx/Sw2PUipi8EdSjFQS+73asG?= =?us-ascii?B?QT09?= X-Microsoft-Antispam-Message-Info: Rybxws8x2MnmeTsqQ9R1OfWPi3ShtjlDYCGtG0Wd6A0kr7kB8cssS5cOfA5auMRuYoqmMnYLMp3u5YJ72Uqr+LXOs3CzEAOPKiGe7c3XDQnBJNcVGfdo5d8h98V1p8XW6JygbvFW5ZIjezjR0Y6wem6x36uPF3E3pZ0pi8CEMNYpkJEWSfEvTnrGt7SmUTAC X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 6:9NfIfik/g+gmFUx833havVhHQomTs3QL51hcqnBIEScg8FFLDykYbyUNcnLwFJ/tdS9SJraMo8bFEp5sTeq/IJh4cRwkmn+uPfA2GBe34tXga3Zl/m6U/Jjk0t1wBxRt5e0k2NdcOCDVsYgrpv6Safjnxdn7T8vvChhYY1Zt4q5wz7aHQZtwX3MDMj4TRmMfCyYCXw6JXnVdzuTXT+vlbvVcZEgmCJMT0tlpSqcMPAM6VF3bYLcejbkpI6ccY0t+CH7IUckOj82vX8Tyv6ZNwKXd/pKmayW9t2jvLONsCJHjgW6FGj2YB83aOn+Bm54cSlqvaagCrBM8jMScUfuic/tpKQlm8SF2w+NlxLD4ze1qNAMQU6FUlRr87RSM+oaDFRonYc7oaPX3dpa09h6UTQbnTsU/SmPuYZS5MUzM06j5l4XzJJpd7j0jxkeob+H3jXmL5964fVi8TXqU/AtQMA==; 5:NfyL0L+aoVc4tkZbYu4mw6r1i0cL1RRY65+AvdXIXWvzrXMVRBLDLo1cnWS/KMidhZ6pQFERlyD73+HAqYKFAcFfFadcF2cL4YDSbVdTJnbSwCEANMwVWmgsLU4zKErgEs6YB3hzyUBuzCNL6+s7+TS+hR9M+xczKKggUD6mus0=; 24:imGCMAffjdbo/l/2Q3m5MzilnpnJDVpvHrr0X4yk+DtoO+vtMDmvNWnVKtYKdWI1NxjgS3OKzYX6RybaKlvFIbgtgUYKAdoNGIX6j09O9BQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 7:0pYS/3QpqG7gjV42zNLF7ql5+ptuS/55KChgbyfkXz55ab1uIIjD/+LvEoUGrLl4IsnRIfda8ObWQmOlh7hz9vsvFotKU5HNnRCJh0+yJhm3mCFIrk2PvaLwENcCPecrQwRCl0LYg44Xg4lrWfKIJGMdrBscoBKDywUGn/3L6EVo+1B/BPNiPT28PO9tXKArwUq4sVsCjo9NSZ6/ftgOmLxZ4NBAmbipHcfGKUWTwJtOEyedUX94NKt2gY7tGKzB; 20:nllbuOIzNb9pZyeWBlu+7tw9RUwsgHnH7sUr7IHitLecB9eQ44656Guzrop5lCq8az5apUXVAIuPowP670RCqAQIPf2y1QFHwmb6HAYsVDXnf5d8pGyT8lO7Z45d+Ec/zJpCBSM1AmnWBHQ/NCLH8jqKcUgxwFp7ypLjcRI6rxLk6pRjzs5kmViMz96RB6YIIxY9T/C4cXzpHOdy+Eo4M5yGY+xIy4/ixeNUAoYjXyhai1KYgJ7qcJZGWYJi4U7+ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2018 21:31:21.0243 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0d4be97a-a616-4a33-8aaa-08d5942a15ad 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.64 Subject: [Qemu-devel] [PATCH v5 2/9] i386: Add cache information in X86CPUDefinition 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add cache information in X86CPUDefinition and CPUX86State. Signed-off-by: Babu Moger --- target/i386/cpu.c | 4 ++++ target/i386/cpu.h | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index da59dc4..eec4a97 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -1102,6 +1102,7 @@ struct X86CPUDefinition { int stepping; FeatureWordArray features; const char *model_id; + CPUCaches cache_info; }; =20 static X86CPUDefinition builtin_x86_defs[] =3D { @@ -3239,6 +3240,9 @@ static void x86_cpu_load_def(X86CPU *cpu, X86CPUDefin= ition *def, Error **errp) env->features[w] =3D def->features[w]; } =20 + /* Load Cache information from the X86CPUDefinition */ + memcpy(&env->cache_info, &def->cache_info, sizeof(CPUCaches)); + /* Special cases not set in the X86CPUDefinition structs: */ /* TODO: in-kernel irqchip for hvf */ if (kvm_enabled()) { diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 79d5ccf..806c34b 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -1096,6 +1096,13 @@ typedef struct CPUCacheInfo { } CPUCacheInfo; =20 =20 +typedef struct CPUCaches { + bool valid; + CPUCacheInfo l1d_cache; + CPUCacheInfo l1i_cache; + CPUCacheInfo l2_cache; + CPUCacheInfo l3_cache; +} CPUCaches; =20 typedef struct CPUX86State { /* standard registers */ @@ -1282,6 +1289,7 @@ typedef struct CPUX86State { /* Features that were explicitly enabled/disabled */ FeatureWordArray user_features; uint32_t cpuid_model[12]; + CPUCaches cache_info; =20 /* MTRRs */ uint64_t mtrr_fixed[11]; --=20 1.8.3.1 From nobody Mon Apr 29 09:23:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1522186600456221.3560670015413; Tue, 27 Mar 2018 14:36:40 -0700 (PDT) Received: from localhost ([::1]:36222 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wGl-0006Jg-JK for importer@patchew.org; Tue, 27 Mar 2018 17:36:39 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44993) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wBk-0002MO-2w for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f0wBg-0003r4-UN for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:28 -0400 Received: from mail-bn3nam01on0062.outbound.protection.outlook.com ([104.47.33.62]:51955 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 1f0wBg-0003qh-OD for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:24 -0400 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:22 +0000 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=jn84dfh8W13fAtf4Ftpe8kgjcjQRspCLE8VRT11nkok=; b=XxHkNLnPfRZ/PKUwgwWaa2CvahT8Fj0kR3CI8TeA5HO+w9aoHJCKmctgKPNOaC4/EpaltCFclUyrqSUk22306JxjEvtRrJ29nbIHawyO0myaoPoyxs4d2XieLiqFHqP09RWHjY/W3AflIxnOZ4Ga4n+9UCzJMhvDfxWwOvap6Kk= 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:05 -0400 Message-Id: <1522186271-27743-4-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: b1a527ab-6a62-419a-bd72-08d5942a1662 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:cAonPxQ1H0NVSqobqiJ3kIpvoXiEHaoV6IDB45ftO643IVoPT7wggIQ1etcbnsjM+HU+fSOi2TsGTuOvQoqvig3dnQkCH5VWw5iticGs9TWwZVKi4qEw3FgkVNZGpnS7Jy+Q1rTdkSHMSVCYCchN5s1D5lRDtpH+5KJsAlsDHocxCfj+jA6HjFVZZn+rdpMDRkKMN6xb+P+kpzxDX5GF9Kson4hE8CtgaUpUhs3azDpOpCoDc+emACRqei3LA0ii; 25:jfwD6poUHu8mSI3UqCrjmz+mqu2Hzs5RmrrI7n64iX9/VyTWPuaCTaLHlcY77LPT7K9Z5p7QPcJVwQtDkU+CzZufaAksaV3yfW4bvrN74Lv5+CnIC1LymuMbUG6PTkmZT+q5BQKdo44AeyGI3TTAH/McPqaU2l2Lt7CSsuOasF4C+5FZ2VuBFxOn+9vJSvWHS4iQc5+uVY/P3mplfh480+0p1xX+Nh+dXQtuW64/vAocoTctu/r4ATnJHZKrI5kYqZBHN/sDVlkr++1OMCoOuNNS+uTyjzq0IHaVDd7JeTdPaidRfL1nvTeAIlqGoy8cz1U/waQPOtIiCQWitvxe4Q==; 31:ffFZRg1dIMaqj9eSe4KxR4IwzfO/8hzPa8R9ifm/0bzOmTU+ZCTumL2TjikaWsKO3fpaHg4FpNVywiu1Pt0lz1NcIhdBO7DJCGh3RNH0k5tVRdqL5hCcZkUwDshixwB/pyyVe2+4aolq45Ay9dmNSiQDrGf7gq3VqKw4eAypwaN2hh5o4wkDwmea2JqJkqOtuEgMTktD0M1cBKS1BJyIJBnXQjhjaYtfgvqnNO0vyW0= X-MS-TrafficTypeDiagnostic: DM5PR12MB1771: X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 20:u5u6SfIdpu16CCO/iwusIKwGV14b9Bq53/AYEGvq/U8FCUevgeyQJFpoq+RLNY43Cn+SRO+4dHhCe12xEasjd2rBZ1JyTNb2/Qjv7YXIeEQZGxL1jBm3ISnX0H+Scw7awU/oLtRNob+AJhGjSMSudm1sP+oCjcvqVCf0WTaFSMBEanaoAXVtgTutrUOZc1YtMIhJ7opqmC1wazRu/s2+jlHgaLDLBUQK8tYfLZV1PpzEW+4+Pz0oAZjZgNPNk6xm7jKvn9OJNZhvwn84DeH7uUSbWv+zctAQ5Omyqb+S88LYf+n8lbx9/O3//y9VTELdB5yvpzalgpPGKHm/C98oCUU1v6OhejnDhs6l48NZty+j5vIoLGgiyM262KcfGNvFIRttEnoEM9I6yvxKu7JDu7/k6F84dNlhaldk7mCFOS2ionPu2DhkUf5ySw/Pvj2xHsk1DEXUA84r0vS/Db1HSTcptIT5JX9afcP7yFoChr0681PuCSWkETdsyqNZNJ1L; 4:7MUHbC69uOXGb97yCz8eOPqvdTvzJK+jfLKWW8Ixb749a/KSs4K9gvWZ57fC5UuuJj2az5YcMJhxUZyYbgDLz167GLgAea5rTTUAHwodh6JxIbGnC0l4Gw8N6wFbDqX9fGrvTj6MYCQFMz1TOVQL94rnwOfihY6dkDlFFUAMEw6262n9QbkAfYyiPHB75N+QmACwUSAWD3fyg60xrgHI/4IkSYKhq38aozo8ppuiR5qZX4S8o8vDrGfy9RRUWa5ERLic6ZI2Sxd+ee9hXj3+OBBdU1Oi53HpPfm4jnuKf9r9mpWdQDzWgPg6fn7Hd5U4 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)(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); 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: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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:DddhUjb5sykkG0Y2iY2qqkIkxYwnEJlOw7sSWSAsp?= =?us-ascii?Q?NXhCuUa88NNv+ama8Z9N+h5JjNmo1iyJtAxhqcdrycDJ66t6zj3xwAlk+YIc?= =?us-ascii?Q?mCzvQ2LSX+eKFzLPzBEbV9xwDpyNzWRnOIVPFfnM/7E5l2KkEJYov1FYUIyO?= =?us-ascii?Q?zhcbpwQcM09tagoGX1UjajF+70T+PRfnIPOyh7qCPamnGXX0OH1+XYQhc8Dt?= =?us-ascii?Q?OKsEcpYbS9RYVh+1/qCWJqlZ/hpbZQwc+ANbpbnae/21HmoZ7E4WVFwDvv7/?= =?us-ascii?Q?B4rf0DeKVo4Axm9PwrviyecsiNXHhOq8Kw9TWPwMcwtlFr+L04Ty4oSLIk7y?= =?us-ascii?Q?8TwBAKG9eypy9F1rvcbMq3a2rlQE6nOjY43nHBkccSegcxwh/ujsvrVWy6OF?= =?us-ascii?Q?VXbfQVoUwspJD/Bazbs8ucKhiRbLF5seFKCQ84slrmxuXzADLTyq5vnzUklQ?= =?us-ascii?Q?A5/d7Z6oLxBxw8nnIgwSceb/BjWr2QoVxDZQCse43WaSS5DYAARIFmIkWG+7?= =?us-ascii?Q?l4V/9pGs8wE8WQOo6qr5/F5soWKlEdAu9JNQAysHe2YLFCh42tf3WlkkVB38?= =?us-ascii?Q?MBj/oxMQHMxxWDpmNu56kgKcWHyeje//NiYEgqQBjcWHNbwb1YqAwFD/td5w?= =?us-ascii?Q?ZZL3zrfhGD1G5YGWDj7geZJ1o5qgwwuR0P4FTRE7+p9kRpDHCwiHLc/Lz0+P?= =?us-ascii?Q?Z65A0idc6/AA7cv/q563b9jdaB1qQwpD8yYXqZoBkP7WQL0lKElOU2MqVbe4?= =?us-ascii?Q?0oHhin4+DNdcJ8cAAbHDIgxIFmCg6fN5XU5ARSVFb7a9i8ZlQYoChPkGgHIc?= =?us-ascii?Q?f3u4wtwAlBs1iZ/yzg5WEQc0WJwI2P5JvwMav/2a1EfcovCjmQuuP00+IgmF?= =?us-ascii?Q?D2HcvFwWbvssxuWhCQvbjYGhvwGtGqwNLfwEbrsqUfOacIhfs8TosCcTZpMn?= =?us-ascii?Q?1KRDZ9rwAwt4C4Ufx74yfOxStLeLZEodMA4RNN0ZE0UK/9571vAMhXFSs5la?= =?us-ascii?Q?C2vXDZnFcu7Lkmvvc3fpz3gg92iS/PHlwr0aXZ37Uk6JphqNGXGSRfJuD8B+?= =?us-ascii?Q?W17i6gBVgMokzNAZRBUP460R+Ewd7X9hqAlbWuKaGlhPwM4hZN25SgP0518s?= =?us-ascii?Q?nfG3K/xJbpKugVqp22NjFIoF5JsvdJdbCHy2UpGgZKr3agdFcmrd47TUeBJB?= =?us-ascii?Q?LA+eZ9IFryjXznxW277E5RXB/WFLjjkhPczfbVfn/FewwN2FtZ9jzC7msIgn?= =?us-ascii?Q?SlD6gVb7X4S9AhCLWg=3D?= X-Microsoft-Antispam-Message-Info: 8erstWOftPqYnsx9j7/7QZXMIrE9Ez3wsJxS88iNYUGL6WbbiHPz7HNHDwxK92iwftmapaNMCAatIibCdB0DZYPJyrNmOtCpqsemkG+8MApzwwIZcPrWsmuc8ripEFolNuf2K8MpaODZ82Dcyqwda8jqWJFQI5uiW3eI0eDQnlgxJ3FDpPgs+jF4f50DM/AA X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 6:tBHbnKImJl9uY0WxASk++Kfv2MggMAB6xcgCszfYNDMKEJajtUdbMbRoQPW/JCZqWipEfb/NeqU0zilODklcS+giuacvYE+bi0qY5Zih2Na8bsrKhsRV76ZUHuA8yz/uakXvNN8BcNgh9yDmhXFtPm9XlKq5jW3z4CHnfoY+6OU0gFKmxzUUsr1VyLXtFUzMu8xaMMDmxYpZt7L+02ddFQbxwwoKTFxxc6VijGnyhepKUAr8PIzqx9iQO3uMUl4RHEixjPDWI8BXUsnnyQwmr260dGRPAlvYWz+i3R5Hifc+Yo31GmOoc5HoCstK+EVhCogeOCB4gRLEkXMSJ6+wgJ+jHdyyVQ0BPXA1aGm7M0tyLXdvyl2Eu85fVdDO/eOTnfCrrGVQrLRiH6J0iGNKfbTapgUhNHdqosgm8YcJfNjNOqZjU9dlYQ8Ord0ruOr3FZsycUXPSIfdjUtyl2U6dA==; 5:60EPWbcMywmhMDQy6+HH6Iv28Z6C4pabzZBiLLn75fBgdUl01dodKhhVj06rT2nKo2u1gTKP1U2GLXK6wcdw8UOAjRb9RZ/Pu3cDo1BMESs7B4NSD2IMw7Ae1z0qNOGiOzmMT1xC1mi2o9bZISc5bmCZBnm23QO+Y/6XLXFANH8=; 24:JuWntw6519afaY3uVhI1Q5qivnOkiyL8kl6Ll/zLNlwAEMQEYXDixNWqJ43D3Xi2w/qbxM/Ag6cSSj9g/MGy/8NP+lUFozuIo7lcNdPuzJk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 7:WthGm9r5UpbNgMXvk68m1r6eL7DU/OV3X9z602D9DfmXoCzay62ooerAgv1QFFXNrjTZA+G3mrXbMiSVCugEL5h/jioQXfYDa0lOaPZB600qr2o5wKZhdvSeoF7wem1WYP0I8dcaUEwksaw0/1FowBjhX4HoKrhcs9mFgtcqY3WirikacYweoDrgDT5EPE9Wl+ukYd047wfihCay4zG1kMd7KCZfy0rEJroy3OoYtl9IMzccNtol4kBWtMoVux8J; 20:dyvqkqvvPvz9Ax+1HaNjXmKJNKzdZ90w0+oCaB23o3iHMCvsLQMNXa8aKM0Al7gLRjgHupPwuBvaQ+auwodX4izcKGW2zNMt8k1ga+H+o38T3Y2974pIf/b//pMUov9ZmWPrJD55qGojok0GqCV/skxOydNgMK08d48bKvt8n825TsKSEyv4SNRrARKz7y6sH+YlTcEsZyrNZLwD/TTZ2oydJZY9nZdNmdPX2sbVRMADkreTjnWALaBbCC+TL8XV X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2018 21:31:22.2119 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b1a527ab-6a62-419a-bd72-08d5942a1662 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.62 Subject: [Qemu-devel] [PATCH v5 3/9] i386: Initialize cache information for EPYC family processors 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Initialize pre-determined cache information for EPYC processors. Signed-off-by: Babu Moger --- target/i386/cpu.c | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 96 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index eec4a97..67faa53 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -2299,6 +2299,54 @@ static X86CPUDefinition builtin_x86_defs[] =3D { CPUID_6_EAX_ARAT, .xlevel =3D 0x8000000A, .model_id =3D "AMD EPYC Processor", + .cache_info.valid =3D 1, + .cache_info.l1d_cache =3D { + .type =3D DCACHE, + .level =3D 1, + .size =3D 32 * KiB, + .line_size =3D 64, + .associativity =3D 8, + .partitions =3D 1, + .sets =3D 64, + .lines_per_tag =3D 1, + .self_init =3D 1, + .no_invd_sharing =3D true, + }, + .cache_info.l1i_cache =3D { + .type =3D ICACHE, + .level =3D 1, + .size =3D 64 * KiB, + .line_size =3D 64, + .associativity =3D 4, + .partitions =3D 1, + .sets =3D 256, + .lines_per_tag =3D 1, + .self_init =3D 1, + .no_invd_sharing =3D true, + }, + .cache_info.l2_cache =3D { + .type =3D UNIFIED_CACHE, + .level =3D 2, + .size =3D 512 * KiB, + .line_size =3D 64, + .associativity =3D 8, + .partitions =3D 1, + .sets =3D 1024, + .lines_per_tag =3D 1, + }, + .cache_info.l3_cache =3D { + .type =3D UNIFIED_CACHE, + .level =3D 3, + .size =3D 16 * MiB, + .line_size =3D 64, + .associativity =3D 16, + .partitions =3D 1, + .sets =3D 16384, + .lines_per_tag =3D 1, + .self_init =3D true, + .inclusive =3D true, + .complex_indexing =3D true, + }, }, { .name =3D "EPYC-IBPB", @@ -2345,6 +2393,54 @@ static X86CPUDefinition builtin_x86_defs[] =3D { CPUID_6_EAX_ARAT, .xlevel =3D 0x8000000A, .model_id =3D "AMD EPYC Processor (with IBPB)", + .cache_info.valid =3D 1, + .cache_info.l1d_cache =3D { + .type =3D DCACHE, + .level =3D 1, + .size =3D 32 * KiB, + .line_size =3D 64, + .associativity =3D 8, + .partitions =3D 1, + .sets =3D 64, + .lines_per_tag =3D 1, + .self_init =3D 1, + .no_invd_sharing =3D true, + }, + .cache_info.l1i_cache =3D { + .type =3D ICACHE, + .level =3D 1, + .size =3D 64 * KiB, + .line_size =3D 64, + .associativity =3D 4, + .partitions =3D 1, + .sets =3D 256, + .lines_per_tag =3D 1, + .self_init =3D 1, + .no_invd_sharing =3D true, + }, + .cache_info.l2_cache =3D { + .type =3D UNIFIED_CACHE, + .level =3D 2, + .size =3D 512 * KiB, + .line_size =3D 64, + .associativity =3D 8, + .partitions =3D 1, + .sets =3D 1024, + .lines_per_tag =3D 1, + }, + .cache_info.l3_cache =3D { + .type =3D UNIFIED_CACHE, + .level =3D 3, + .size =3D 16 * MiB, + .line_size =3D 64, + .associativity =3D 16, + .partitions =3D 1, + .sets =3D 16384, + .lines_per_tag =3D 1, + .self_init =3D true, + .inclusive =3D true, + .complex_indexing =3D true, + }, }, }; =20 --=20 1.8.3.1 From nobody Mon Apr 29 09:23:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1522186512235862.733347080495; Tue, 27 Mar 2018 14:35:12 -0700 (PDT) Received: from localhost ([::1]:36207 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wFL-0004s3-EU for importer@patchew.org; Tue, 27 Mar 2018 17:35:11 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45014) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wBl-0002MR-B9 for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f0wBi-0003up-5G for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:29 -0400 Received: from mail-bn3nam01on0079.outbound.protection.outlook.com ([104.47.33.79]:25485 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 1f0wBh-0003ss-Sq for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:25 -0400 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:23 +0000 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=odel4yMzHbyhO64NempkePwo7kTXt8IM7yEH+ucph3Q=; b=bsnl65RfDlchwKLLvmCatOqfdYn2yGyrChsrjyB0t8nznX/ID5bhhcH94BOGRaVchBx9cBSSZqyS01ppL1MdsZQ4yR6TKzsxeDmEShrHUhOB1YPMCraFKVPWDdSNs8V+I4Dtp8htWPXZVWN9BI1UwgN29lxx3vR+j+vXpRZWu9M= 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:06 -0400 Message-Id: <1522186271-27743-5-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: 81b023c2-d17f-4b77-8f4e-08d5942a16f6 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:xeGAHp5b7pZAOJwOluh4MiWEpVs2prWnRDjVp0zbzMnpKj136+pyT6ISr/ioY9yV8+7rLOCkvsSqdGOgB4ufHue2SVrmMZaBkA2Ge/xkmInLCsTnkMpVF7Fr86msDoyucNgvBbwhCfW+uG3q0uv6D+4TdorlStAaNO+w8krAW/CCcUa2ElCXIPC45arryX07xtEceoTKuiQpK3sKNMconhgixfaZeGJLbQ5Fol8ErIlx5N7C/O1jt33q+oPLJjsL; 25:FSRIEJQTnaCOmnsaOfhTBqbXDtgvSrTlf9sXOWxcL9n4fUIMBNGxs0V2c+0D+w9AczDKrWkUg1Q8itN3SJ80wTMpBVrGJXG6v5G5xYGxln9SXnEVo5HC9+apTbUvvD5Jj/e3403GVi0HPBgNOn2ZhaWvEj07SeGe78RRQwBeDJucV6uY1PonoMO9R/3xSbwdfZnFLX//Mu1BIVa95c4RAQRe0lNeBa+I6Rp28nuV2lEsCbMN9ErOLE3/J4qdzyKCf5E3nGNl48XH9QKMOtD0Mz7IAWsHOBqUxH2G1lEdtjOy9zyxxnxED6jdU1mfkGBmKhS0VCt9akM1sA+Y30O9/w==; 31:RjQtrL3nVaX5soHdSaczaNBTb44+HUIaXdA9jXxUyzwWho+rgecufJCy+RamD3k0KhNDLcehCDpWyVsB1maQ2ahfCd8+J8rAKkSGJakymDn5HT/Np89P01ouXp5nmqbxQupN7Lci0paW9jGHom5d7k+dcjnmkJKc9uvBixFIjwrN2xfaSsKFVJzptfNJR7VPLKjBUtk3FklQSvFaj2JmZfqcrxsgtISjxIstfKZbj5s= X-MS-TrafficTypeDiagnostic: DM5PR12MB1771: X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 20:Tof/SaV1uRHN2EwVu73f0XSeuI99lvxSuYHb5Fjpjoy/gMIiKdSnwhV5tHCD989P+voKqCtgClwRab6alj4i2FDfyM0mzuke/x6+RPHtD3ZeE8AEu8F+MpwDZS/M3wKeL9I9qF4YZjEx1MvYe6S/fKqD92FTdv51APurcJAMT7B5rNoh/xbiLrZHaDw4F+To7jR28DkBtHdTUNwtrCT2sBbooidlQ0SSBBM4g2lwOFvD04VztUBs4PyTpjBZANHe10bvB5QANRxdwwDd53qWNkS94fWtDdlxcVF+9HAR8Q6idb0noKx2kJ0Ma5k1u8Iy6cCnbTaAvePUxe5ON6R0x2KWkISNs6Y7jGEW8wVgr/tIOa6R/RvrU0xWSuXIK9+eIaKJN66bqsWmdIb/E9hqzJQrrt/KZYZtJxMD6Ka7Dp98a3gXtdAVLrRZK67ogDt7SgpM0WkwGjoEEdghmDqZyB8CzmCL/xr2iwJmmvqy+eSSsWz974GJg+AsmUt4YO9q; 4:6tNbLEmsoNmpfyPPCxVIDggnN0UoqigjchrwfqffHDV64hP34FnW2kUyIXELTxrokps+bIBG9Ibi6r3BmzGstGxkW1DsQs3o5cykz/6XoBJabU5VMtnIXpc0jbo4mZBBMop7qxqRz67bcp6jV59+pPE4bjlxVKIPnvSVZ7Ou30OXv6HK/p8n2XTQ3/Co03sFMhIpAMXyqwv2NFg98jufkzrJJfrKw/13O0gLG1rDgqoch8hLK+OGH0Rtngw3mn4AZQUTQQLPXHlqvSYw6QDGfAzug1wuq6I7jA4gkJq4LW0lRRGYF8GRqjFCl7RmMJci 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)(45080400002)(26005)(2616005)(186003)(446003)(316002)(6116002)(956004)(86362001)(16586007)(48376002); 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: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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:dB96TCVWxZyFhZAEoCq0sOZ1fzBo9wH+uOHza1qCD?= =?us-ascii?Q?B4yTLUBP32/9dq94gmgw0M8qRwLcNvU4v+HWCm2o61K2SRXkMua5ptEUwhPk?= =?us-ascii?Q?7PZQEFZRzGDqcNG9tGmQ6/5a2vY3nWL9TlBRnIHAMrGEpGLwrsbqXSneHEGD?= =?us-ascii?Q?TNH3q+aogyk2sKPuOXuQWlcxXDifwrJfIG2y97+DWegXK7DLngXMAYmyKOmG?= =?us-ascii?Q?iwNKtBRvEWJXC6gknX5igFydFUsbX3dt9kIUBWzIZXx+79hPRT8N1MloPOEg?= =?us-ascii?Q?yqtqRApVAp+qn1zGCvWZwDVtjjv4ejbth2kM1fnR9h5+Gb+jr66JipmJ4MTd?= =?us-ascii?Q?pM75V92d+yO49dPBi54z2Zr+qdACoM2nkgF6GdPcP4fXlJTcectZrIeNgjmX?= =?us-ascii?Q?ZzyW26hoa9e9RBfya79VZnLGXpotvCK7pKhnwXAbDak7j8XRX6MD1kXH+1wa?= =?us-ascii?Q?RSDqw21doZjLeLn0x8De+Np/E2GIFvlLhsiZpxf3bWpxbYkJOpPcrrkfsbL3?= =?us-ascii?Q?v3LhwZWs2ro5yVgHOG+4mMhF9NMZ3wcpAc6kq9BVYxavyPQ5Mbvu3xZCS7Gm?= =?us-ascii?Q?EXbo2AJTMebqzToALMHUfxYzptXssjm5PiB5bG9IThl8KKHxkszkcJdBGPpQ?= =?us-ascii?Q?UAJqq8oJ6mfP8CMhIjbDMP8d4kG+tJRiuqakbheDat5VP2nFhPIZCTR0SApg?= =?us-ascii?Q?0NmJriTG5J+RQMDmRMCZjRpZzRt5B004yJY8SLESgWEesUtN1tS468xJMCtV?= =?us-ascii?Q?4bcA7vfgsHZ4mnYItkuT/8IowT596f8ky3wBu4l0dkpjHiSkcBEypTgf5SzS?= =?us-ascii?Q?lgk0eCa8w0EHg+/q092/gHwl6+3UG8b5lWiuTGzTCw0GC4Ma4/qlqy1yTQjH?= =?us-ascii?Q?+e1gO6n8WAEzrWlw9V8sn6CU0ALmRrwjEVOMmXy5f1iB0hCjLX2Inz/lS4ZY?= =?us-ascii?Q?pDcgZYicfPzKTB+LW7fJoPvZSwStlxOja7FoM1Fe+L/APxe3HLHTeGW4CJRI?= =?us-ascii?Q?J0tZ87H/ur3Yvnn7A5ZTfltpxY+5GW5ZHh3zqLoc2WJ3dx17fn3DeBDHbt7R?= =?us-ascii?Q?mrMbHIJeybMEfuEacl3jqDpEA726a86ZbNsiYqiXiVRSnjM7MJNGkEMYmasY?= =?us-ascii?Q?g2eRoywt5UW8baW4Skjc1OmZk9Je8xcv39iN0OLOu9xqFyRsxWQYw8o01l77?= =?us-ascii?Q?FELtig6x2pvHBcugTf7pp2IhAnnZShmm7KGuwcSq0nJirsWiIgm0h/AUIS7k?= =?us-ascii?Q?6ENiP5DBaloU9PpSNFfvGngJvareo0vyhBxf+o+MNvhS0HWsrPPrzmL/sYn+?= =?us-ascii?B?UT09?= X-Microsoft-Antispam-Message-Info: dFYY82csvS2Hz4Er6mvpSbEGCSBV0Wh8eJf3+9SUQU5y4gzdHcipXWuJIPuqJrBlsoGZM6fG2YnjPKLd1//xH5qFli7patknWatRCgO1LFIQbTLRBrsgEec958uh/Y3dscozO+xBHddMZxYDE7vbr6GIo5f2TS1p94J1zjwrmTqChiz9HkeESR+4A+zO/Smh X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 6:zYli6TzUoKqiI+hDQPm39BzAKaPr43Er2A7YK2IKg/gKwe82iSccoQNmK6SgO9/+Dj9+ZCl3F1had9OnE6DEDZbAIkGnlq9cysjHYfp7iov68KeWWbdk0sttb0RpS9VzDs2aKMVOq7xdTttbNnPhQGGt97SeeowZhC0bkmT8qbteL+iTk7FBEkV1tHVGKDSz3hs1v531enHf9LxiHVEwodAmNKV8giUhPn5CN8G41rJnDtN2XaCZQzltjypeiFIfH2S4YF7D+fNsadMgQ2t/Rbual4CIEr/C+XGThHqYHO80RTKJ/HrGZSXYEw6et0yCyVoyz+TqufKqaPriiPuk4ClakWal6ojVHTYDAZ/1kWlR6N6AvNw+pLd6ifCG2o74t6zJvMV2nKCNsCK57LWUJF+SMXoJeD4om2laoupikggWolFGJyg6llnXInovFeZ/cLjQ9eMnbuMWZbMqdYnbXA==; 5:gXtE0r8VZBMMGjWEacdB7BGeCKyFSvvEzisUp04vZPgASkhy5zn1QL+nA2n8Az9zVGMfd6ZXrHNVxLq+D0bd7vbXGcTF4KPwWJvvFeI/lLEjT2qlZWAFGKfMpY1uVMRCJ6tVVoYY1l5jREqLqaYv4PC3to7SYwhC3wuGiRUpfLw=; 24:44eyqhGEkUCOWVWKs+JG2lj5XjH39xKL4HX0iA7OZMtQmorDhtrq8aGzYCLzSmjtC+WIcJCPFo1ewyRk9dalTpE+CSjt9/kKrSnIHMcxphI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 7:L9rrw7Fksb4WUKK3UmTjhzsuWR5B19PdulnL7NrW+5XRY/F42WGRnWMN/sJQLf2AvqCcw9twyDi90RrgUPQE65BqieqNBdyWWGNsU5rzCgbKTJ3kftPdw4CoWB2Yb/NyYkDCrVWaSFEaA4lXc/qX14MixZn/cZG6FmcKD2btpwve14Tg6n5nTczx1J5O9ST1pz4/6MGf6FrT540pp+rPyXhN76umuPLROZQ2S41oqWehQqPJB0cJNCGcrCBVklSG; 20:r5amFmvGy1bU6AI+3bc0RyKs0FWmYAR2g+PWfTxT+c4meqgCWNdIj1l4ZoS/bidl5pICvM7fLSogVXVvmWwwOzE5YSCG6u+dRxydpi+ZroJOOGGYsuAFX+306/OXmm+exrI5njhrtNoBJi8gXpdBG0wzcauGwjpLSuAoTnE7HuOPJML2d5e62puqX3a7iKGvUWyWzDpwBUwTYFFSC24QnwTwaerx1jGvhdr741zybNAVgmKif9+MF4/1dvK1eiNV X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2018 21:31:23.1806 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 81b023c2-d17f-4b77-8f4e-08d5942a16f6 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.79 Subject: [Qemu-devel] [PATCH v5 4/9] i386: Add new property to control cache info 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This will be used to control the cache information. By default new information will be displayed. If user passes "-cpu legacy-cache" then older information will be displayed even if the hardware supports new information. Signed-off-by: Babu Moger --- include/hw/i386/pc.h | 6 +++++- target/i386/cpu.c | 1 + target/i386/cpu.h | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index ffee841..9cda1ab 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -327,7 +327,11 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_= t *); .driver =3D "q35-pcihost",\ .property =3D "x-pci-hole64-fix",\ .value =3D "off",\ - }, + },{\ + .driver =3D TYPE_X86_CPU,\ + .property =3D "legacy-cache",\ + .value =3D "off",\ + },\ =20 #define PC_COMPAT_2_9 \ HW_COMPAT_2_9 \ diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 67faa53..f4fbe3a 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -5132,6 +5132,7 @@ static Property x86_cpu_properties[] =3D { false), DEFINE_PROP_BOOL("vmware-cpuid-freq", X86CPU, vmware_cpuid_freq, true), DEFINE_PROP_BOOL("tcg-cpuid", X86CPU, expose_tcg, true), + DEFINE_PROP_BOOL("legacy-cache", X86CPU, legacy_cache, false), =20 /* * From "Requirements for Implementing the Microsoft diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 806c34b..bbe13f2 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -1394,6 +1394,11 @@ struct X86CPU { */ bool enable_l3_cache; =20 + /* Compatibility bits for old machine types. + * If true present the old cache topology information + */ + bool legacy_cache; + /* Compatibility bits for old machine types: */ bool enable_cpuid_0xb; =20 --=20 1.8.3.1 From nobody Mon Apr 29 09:23:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1522186744156316.3528949546999; Tue, 27 Mar 2018 14:39:04 -0700 (PDT) Received: from localhost ([::1]:36231 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wJ3-0008Sd-5F for importer@patchew.org; Tue, 27 Mar 2018 17:39:01 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45026) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wBm-0002Mx-62 for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f0wBi-0003wT-W3 for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:30 -0400 Received: from mail-bn3nam01on0074.outbound.protection.outlook.com ([104.47.33.74]:29427 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 1f0wBi-0003vP-PH for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:26 -0400 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:24 +0000 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=dBiKjRAvB28DbgoXx9acldG14zQ3qHaSEOZZj9u3JzQ=; b=GqBt7/Rbc7BQuiI+qtRhhZkrUvgYOE5txirpnmSMm364npX5oR72bAzMiY5emMOsoOiKq5znJvmKetDBWJ6bDybntu/7XFl5p38jg3flXm/w+btYdNu/pCWF+9oild9MmzLPfI9ylCav9RuX6oFw2WD5Vci18GbXb2dQCbwgep4= 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:07 -0400 Message-Id: <1522186271-27743-6-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: d3df61cd-105a-4dae-103c-08d5942a17ba 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:jjG0aeWGihB+H8vPZ9o7QBjmd4WUwE+v/U/2ZhRpWaeuds18kGhc5OSHrZecRGfjXNBQrQeXdAyPlQMkIkEN6J8fM3dgyHtiv4biCXxhfTY1XoySaN+E5g+mOXZ9MrZ/yKTn8tcBOcfAOCgM7Z9gb33pE52NDDDLt7FkZowAAacRDp8mXOb0mkMD1j26bSno4fuhLPu/Elf/nK2WzPo/bTXLm3DTlnaePwGaNBVt5W6oZPX3Ym6n+U1hY2DdKa/I; 25:pGIyOiZ8E1WUM1Qw+36O4RToN8E6WlrBuLQIQihtAt/MLQXixldeiL3EgL7qy/YW4wQeQMpg+UbEiYgx2h5oscRxDNNKKdZ09gxiNYMQGWOKVZXbaFmcTF6i7DbBBJyod/OlvOke1XWGi4sLjh3EpsAVjSTGJ1rHq78xpRL/Wf0LSN4JaqvB7gSNM6kRIjxA8XX+2YcRCL7hV+l2LLS+F+m12aOIEInQUjzLEJWfg9aGEDTEcBkGe1PKrceHljE+qDJPyTL/j7As35vH4pogFBVytEBqdAqUenWP8FRkSRf+XugM4H2CU797aSIBUrIwH6hFfLLzBKNYj9pzF98AzA==; 31:u9k8QAEA62JFhh03qyRnb3Q9XjKM31WJXEkPmoGig9TTIAU8SU+OqaK9XOSx3+sCcgAFycNBf/iH9NdwsXEhtxxl0dnpi+pArSdQEYPmgjCfqjvwnzPMluiSeF04wqbpR0EoNMGikwlaPLscOa7vLwOAiSmq3lSuJ+VSFcXz5i8+FuJaL2TqNt75W2V6IdgrwE2k9iIliTj/ZYeO5gVMoLDfEqPAcgVzMBKWu4IMleg= X-MS-TrafficTypeDiagnostic: DM5PR12MB1771: X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 20:0W/60dlcc+4yG89Y5jleGL6zZBmSXLXQvyA+3EAYG68KZEiVbVStw+2o9QAXYDSYn8KYm/qWB0bdIQ62bfzCE8dEw3J4VZVodOrw6xio5zcreypIXTNVurwC71BCpXpmqGw/qPUNAxVOrP+ONkUHBuSa69Y7/XOjm+ZaGVfJwjqqKvflyI9Px0GLz534wj52IdDsDyMHo35I161dK+u4Eou3daTYx40E7RBpFG+mXUR7iQ+RVeKzBqBZQIZVXZLML1nq50enUNVokYQ6ZFrDAIpW+xuIJieTDP3ee6NqRdbBFDb0A/7p0XwFaTuiFJwPIUxGiRKFFuq6PAIgA6ZNVdkAPE49CpHBVY+007T9o78q5JhdC1NH/yJkzCXz+PZFI6WDVDyZdXBEqcYf6SG6g3bP33odserxp+zSiVsveW+wfS71ins0HZ4bWgFQRs1LJLcH/7/Rv2ya1Ij4fpdTGmWRSZvPyZSmQVbtNGcpzc1NS0gOoQ3RIp9a8x7WMVO1; 4:zadyyTYiKbDkVFYx/Afu1qCrDszPWKsc43BP6IMGlf5+x/Y3RtdLsWk/9HQqsfG3JF7A4h+TXZkithTbINRBzleOOPCDHsJ4xUYaHt5Uw+7krlbUFaQtGkiVlJpIvHy+TCEHmUbXujNishhO52GFMijfoA/nARES3MilDS9bqLoddiDsMuY6TAGlcbnKbwCdU9JqgP9eoyuMzFrqXljm4tWR+nXvy4cQaGENjiNinXpfjYHiKKOH6HLsYxTwqd7Sjc2mzM/FQKxbwwo4QXt5kxCX/bfAobbLScEwVBjlPihUuqIvIxQ4wWFH/Kcg/XOa 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)(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); 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: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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:IlvqzPaOz3bbPHEdO0MI4+ruB6Q2UVQ+WsVcsvdzA?= =?us-ascii?Q?GklMNtNKTpJA6qvpaT/WAj+D/Pl+0szDmeV1Qp5zd9TMGzlOROCktiHePa0U?= =?us-ascii?Q?8hXhjSWRyMowCkVYt7x4QImJCCQiEHUH9EDNMJG7LLQtVqqlR4mSLWSkGjU+?= =?us-ascii?Q?Savikq9fCpLrrx9R3aK9Q1UFdkhDXAIcRrS5zdV4nOnLyFuA1C05pYseA1WW?= =?us-ascii?Q?OWfut0Z0HwCftqMqC4vMbOO4l400A2aCLLK61a9rFwNKdDwE5QKRO5Lz/oXa?= =?us-ascii?Q?w6poWr+iy0Zjqnes5evraEgNDbzijiVgoe5bgyHYfTsDZmd0/zvVX5RGCQ4E?= =?us-ascii?Q?QPaVDBZ0gkMNPDQnS6+7mRcyooQH7bwfqLy6sYQ12YzQpZSBe297V+umWGmu?= =?us-ascii?Q?h5zKTV4w5gOjOBVd7AbDG1ZSB9o53JVnu0lsgxeixnxpqch4vTyU+RZxE/sX?= =?us-ascii?Q?rWYDYDB5dSeonWLbvBTCSIAhPdLisC7OT4didP05dbh0I1Tnpo5nu0qQjr+T?= =?us-ascii?Q?Jq4/n4AZlf0UDrQ7MSvqiLNqTs7IpVmHmMpqhV/AJmp149im+spW44FyptCR?= =?us-ascii?Q?2SG80w1+yWSFiiFy7DgLWC+oVT0VrpcSilnf5ScHfvi+wqy+fAc+yuFmzPzI?= =?us-ascii?Q?cgLZAPgpuhCBgAec5sCzSpNAP2NwtMNz37NxoPc3uJ1RCHukmrdGmJwuO6Q3?= =?us-ascii?Q?6hu3y0uw0N7ljBASnAeI3ewBvbZq6GAOTq1G7F92QJaTU0fPZc4ZcGFp0p4a?= =?us-ascii?Q?gGHCgXesM/tUvHEs1gr8dh3GSltzRhaAhVat/vDhloMwvPLbQvrSEyEeGXdf?= =?us-ascii?Q?0cUY0Tn5yXoShpn66xoFswSSadG2KLt16TbdEM0TrYWb72SwqHF2DIEfuznM?= =?us-ascii?Q?7mxHCTWueXf1e1VhmFDaLVJafaz3nA81EvzhUSp2dVeNR/tJMbQ1eKh1r+YY?= =?us-ascii?Q?ivgb2CIKOi8j4YvR267gdYxQG9I9KAX6lIBhxN+OnmCiGxNyVynP2H7rhDfL?= =?us-ascii?Q?xLElAY6kFqJAd+TFtHmKs1pj+jaV44LIEBFGtWn8ecvKAj1VTl2736utp9h4?= =?us-ascii?Q?qBVWBcViSSLNg2Aul0KpKAqdsPtiTOFzew61QjPgYiFLNdhGeHfG/uqLmN0M?= =?us-ascii?Q?hjd8qeaWI3+mobZyCC4DhgkktBDf3QT4iUkofLj2oZKosyRltMoOULwkmzic?= =?us-ascii?Q?Syk1XAE8grE3CXFXJMKgwgmfLAvQPAL7Xgy8+hAuHgH+vGpaXZ1FP+9XB6aS?= =?us-ascii?Q?EZQjmqx/Juf16dDjDY=3D?= X-Microsoft-Antispam-Message-Info: m5qNfIgq6tdhmHsGdlXwF+fZRzzAJZxVb8RZNwnpX4UhfS6YY9nsKDonfj7cU4vaMSAKUNdO6q4xqvl4rb7BLXQiMakQ3NoRA/VqTKGeLdtqMby8x1Xsnc98PNlqtGMwvKxp09Py0EtL4N2wGDM0E1YSsiH/FgngRZYXhD6F++qwRV6JQb5AqeScMkVebSFs X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 6:E+cDcwooASS0Ebd+mAGY23bRibnn40dlycbKx4A6s/CZkNvkp6cCh1sqQ+820wFVo2/uvNmuv5JFdlrD+ghF3ynpfq8fVTBNxvQIuAhGzW4iceydRsxCg7dq0YCzReWZTl4l2MFqZI0ZFrgHbVLqPkbJxi5kWZadGcYhrk4xs/ex9XRWuBsVwsvy0wJbYNBp19HStOyHG/anl75rxKPle+LJ3W8rI88nb3IpH6oqcNG5KLYvm1VV3jyNOLT0FeHMJBg+MC8G7Xq1VOy6Pzjys5uwW4HIUdmKXhESnk/K9zpZ1vtXI3pv9t5KQ2wx5ftXG3a+RaBt56Ocr3z/fNO2O8A1+lopb7kWSXfR7/E3p/m3uK0FdbgggY7Zo+m5Qrxa00+JCaW471jaXkqTJ+VDjQlJR1pPAkgAIQjCs2+hifTt9OXuhwUme1VySoWnB/YSXK8FkDGTMbJ7vRCXZyjnIA==; 5:gTkqJFThuHdvKuFaKcmKODTwTIZqDucLWW0U3fkI0Uqd3zsS0kP9TBOE6ubgqVdp3q3RVEgdy2ijBtQs2JVO9r2NFKx0WBJXh/hkb8IR75LBE0159c11Wm1/+g1iQa5Y6hMHNJuYzHlKKZKyaiMaqOluCfafASIzOE62ym9yjtQ=; 24:TKOVb9afWFzZ+/BLsj79pIlYoELWXlW+QeBGLN23S/DomtgbaP9UWMiXgyaFxIAiRoKXuhdYYSkXn+dlqyZTtaZl20ivPnKckHuo/QD4pjI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 7:xN3DH6nPSdqHfkVXZKQ4R/556syltG3bMUuIbr1EqLYVe2d9D2Z+f3/PqevmU59h4YludFCB6UUoZqrNJM4zQKLJBu1XRnSsev2OnpfN7ZslleXzvBsPr/vNjjmCLQ+XbH9FT03m5KPmwAI1+lyafGL4wnYTbohDaQ+b6EVSSQes2YpCuxIKiGNaDwjL04WfEnXGqLtPBLlT2GiOmS7zAQ+dS0TDpz3NXLv6jvVzLkygk+B6M7Nqr+vLCS64g/nO; 20:nvsvkS7kQeZeQ6CD26YJIYW9J/mQ2GEVzHdezN9TwrplDt5fpIaB2iqoQX162/6+XlVxZ67DsTu5H9o+7QZspV/UVgjqHMWx7W+LNDGGbtfXFwCqOdbBgEvOuPXhEIm3k8DmWKKPZjhwhTsqCO3NBg4ATrUkvrBN+cbcp5nvjEOq91wdzBPnKtEDF5BVLY0bogcCf47uVqJV+rQFOyTNxIamocNULuVByXdierlffeFeDNqLpaZDQ366kCVYL/vN X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2018 21:31:24.3837 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d3df61cd-105a-4dae-103c-08d5942a17ba 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.74 Subject: [Qemu-devel] [PATCH v5 5/9] i386: Use the statically loaded cache definitions 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use the statically loaded cache definitions if available and legacy-cache parameter is not set. Signed-off-by: Babu Moger --- target/i386/cpu.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index f4fbe3a..738927d 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -3938,8 +3938,13 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,= uint32_t count, (L1_ITLB_2M_ASSOC << 8) | (L1_ITLB_2M_ENTRIES); *ebx =3D (L1_DTLB_4K_ASSOC << 24) | (L1_DTLB_4K_ENTRIES << 16) | \ (L1_ITLB_4K_ASSOC << 8) | (L1_ITLB_4K_ENTRIES); - *ecx =3D encode_cache_cpuid80000005(&l1d_cache_amd); - *edx =3D encode_cache_cpuid80000005(&l1i_cache_amd); + if (env->cache_info.valid && !cpu->legacy_cache) { + *ecx =3D encode_cache_cpuid80000005(&env->cache_info.l1d_cache= ); + *edx =3D encode_cache_cpuid80000005(&env->cache_info.l1i_cache= ); + } else { + *ecx =3D encode_cache_cpuid80000005(&l1d_cache_amd); + *edx =3D encode_cache_cpuid80000005(&l1i_cache_amd); + } break; case 0x80000006: /* cache info (L2 cache) */ @@ -3955,9 +3960,16 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,= uint32_t count, (L2_DTLB_4K_ENTRIES << 16) | \ (AMD_ENC_ASSOC(L2_ITLB_4K_ASSOC) << 12) | \ (L2_ITLB_4K_ENTRIES); - encode_cache_cpuid80000006(&l2_cache_amd, - cpu->enable_l3_cache ? &l3_cache : NULL, - ecx, edx); + if (env->cache_info.valid && !cpu->legacy_cache) { + encode_cache_cpuid80000006(&env->cache_info.l2_cache, + cpu->enable_l3_cache ? + &env->cache_info.l3_cache : NULL, + ecx, edx); + } else { + encode_cache_cpuid80000006(&l2_cache_amd, + cpu->enable_l3_cache ? &l3_cache : = NULL, + ecx, edx); + } break; case 0x80000007: *eax =3D 0; --=20 1.8.3.1 From nobody Mon Apr 29 09:23:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1522186610636458.9149908367309; Tue, 27 Mar 2018 14:36:50 -0700 (PDT) Received: from localhost ([::1]:36223 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wGv-0006Qa-Rj for importer@patchew.org; Tue, 27 Mar 2018 17:36:49 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45042) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wBn-0002Nv-DY for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f0wBj-0003xB-UU for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:31 -0400 Received: from mail-bn3nam01on0052.outbound.protection.outlook.com ([104.47.33.52]:30064 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 1f0wBj-0003wo-PD for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:27 -0400 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:25 +0000 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=gy/01DyXFDVPlZj3OfvyMa/J+2WCaRjOcxHsEswsEcA=; b=FOyKYtpatZa4H1zIfwk30Uv3tKEcLsQ8jMLi9mpNGWp6Tmio2fgK64+xoh2eYoueLJWqhIsh2jR3Qhe8guJ9cd+f8pk1QaxMpTFfYxL8bqhmQQYDQFLcRU4IOb488UxmMuNeWlapJYKiIj8IozV2FH3c6DqFt6EZOyIMWLeA1aw= 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:08 -0400 Message-Id: <1522186271-27743-7-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: 7fc37b2c-cb64-4103-58ac-08d5942a1844 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:X70vjAAkTz3L3lBpPI2jjRDaihvBSNVG368C7saZpho6AzkPb2XfeR41i3uG8MKqQWj9PCXR/fDt72HSE/JHHhmxt95vMo68hTX/U3XKFq6swGMAxhNkHDdg0Hvq13/QIiKwrN+jAjqFSOnCfioNpfrKP4TpRU+Sr2TRjnDXfdKj2y6BzBRQjR8G0ofQTfi9xdImHj2UW5OJ/h1Z5yZ5AClC//fQ/AXxPeOvecUTOAx72C9jF9VXQr9OlF5uPin1; 25:HuUXLmPZ84+3JiZGh/S1BEEwh2llZPySQNtbS3OVo/y6GQelJRJI4swqln0T8p+nlZlAUuukZUKCs9UTjsO8bqpKdce3/9wzn5qjp3+Ok64Qkigg7cIbvzsW5Oh59AB64C+HWm22w8piE1zsW+0VB0sCAAob/6W2zzSDTVEeqp9mSDO9VN9UC1gq3V04Bw3rAglTymnlh1++D66DAdRXI+KZdayZh1nyY+e+DmWL3suuWqBtReorNPsaKVel6qqR6hQNPSWnh3Y/BltUswgstgmy2N41+UBsgo3b7oSpI9BmUcPtZpYTXXAPjGer0hl9fF4vsEptP3CsaJhcS8S3VA==; 31:gG45XUTXeVvGRqm5pQ7RC4pigZlaTak/3bPd3sGSW308CMdBu/is2lWIGjOxgdk13vInQQeGLFhhE/iAjzeZRM71Tb3cMdMli340zvdKMiio4h53sJuc8Jk2g9Ku5ogfHYvoKTPsZbBZ9tWTWxjm2IHdGS7dwDG6TeNIIMTciASlnTTV2LmaJaykLGBgMbkJayGakM+HVBIAfMiAD6KrRSSXUG/nxl3honuwyl27UYY= X-MS-TrafficTypeDiagnostic: DM5PR12MB1771: X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 20:VTZBVjdtVPnXiSVE5Wg2qIXLrQOpsmG4L3ttF0wIHgCRHxQ6D47TTg4b/PtAEsMU5Jbsrf3xktxuTobXjzlZuEj66Bz2O2In45TNx8juVhwW5RcCYSlp0fjyd5cPLb/SI9NGSHa3Y6pFjy0WRnZeCLgLeCPUSQXWCzSXxQ7Yb+4pgKj6TziSg/owa6RbiJMEutd4oQiHyl7o6TVQKsi/bK81KtsQ9U556jg0Y78z0hM4uUg860k0yeeww8gge06koI3LnxZGmG4fwnOy9gKTGAg20UG8z7savo/7xXhu/D0q49H6hd4DdCYAw+G/nw54YAnKxrtxO7wQPd5gsYSjmdk+3YpEfJqn+L/xxawypPkGK+3EFNe8d6vhNlaKy3BtAIPXzK5tNoipx1HRiH2X7jLTaUsacbPO4KcOHLwlQJvJ9taI7SB9lTtdbBHt+8577lkIuHx3TDuBWJm814Bl17AsslfhNnEmLoYrQV31bqQTKAYrdYYTqQ4aejv3D49e; 4:fASEvgdJbuEGfv95zWcG8TrjjBahBq9h5TKF8d79gnf8iUFRy+L+K1/mX9ZsKSsoHrcwZc66Gu5Z26QskW740DocSZOCNc72OctuK1F62fC4avU6/9EQhLWlHgNh/2RClrt3e2l6CNQ1XXND+Ljo+HriF+0VKeWNeDuXWjL2CyirP3TrItO43ENGtY+wO3XQ0imOflPRoQ3QWLMhVj3d2mqJ5DGQsmAms1GcuV6rTLj+zpCzIIgyhemsupm/E2GSW/WH0xHYzbxpdzMPzlfl7z7NsBK8j8aJRjRAj+ezmOP1fj41k0D7JXtdSGraYz51 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)(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); 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: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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:ffmK6NqcTB7bGLYb9rys/GNirdh2SGUvJRVYw6LoN?= =?us-ascii?Q?qWSMvT+d9iv6KlCh+xZdMuTFGApcCnqZjJo1RVeC+gzPPuH1Un1U+OrGuzAB?= =?us-ascii?Q?9Ij4Qu/vdJau2CdCNLFUESDIf0Zjbuo2X4sywQ3TesqFtLiXXy6NSwqvtqRe?= =?us-ascii?Q?jOK1rpIBpn+VLiIEYZkqu2b8e59dcYXLpIVqtDgHCskZO6jfiJyfPlxW6D1l?= =?us-ascii?Q?ZpOVsZ2k9gkhLeJqO+QTAiXsaNA6L28BZfQsKkdvG5czJ4ZJBwUX7TTy1AuC?= =?us-ascii?Q?K5Q6YtHgN6/ldzRu258Wuhq7dh2kBbsdS8Wkk5N16IncWZkNDrv2y9egSe1U?= =?us-ascii?Q?CcYHIJR2g0hs1VLmrQU/Y9PUVlzAsanIMVsI99H/OiBMwkki7QRjABC6TlqR?= =?us-ascii?Q?df2+S1jLLZYU4HJqxXCb2QvJiPQpOcEE6cKORkKEPYEChO7VNWbaTLBcWEbR?= =?us-ascii?Q?lBfqJEKQAOaTTBLWZxo6N8lGA3wrJIXJe0viI6luWb3z/IisaAj5n2Gre4pG?= =?us-ascii?Q?QxkigR49UCT0KIwKQ481kcGfSsD1VgHHl88sCJ4bIf9nIKUTpbE8ACL7qZwz?= =?us-ascii?Q?3U8xvTuND6sgzlFV7WKRYze/PMnWRZQeLZ7ZuQiHGlLvf4Urnkgpq8GeI3TE?= =?us-ascii?Q?/klQ6CDWvR+vrEt5cgKh+i7weeRU1uRfgwWETHVmYjtPpkNDCUEiD3K/8Bji?= =?us-ascii?Q?EZX9nrelmcI+SdTuksLQu39rDADDsMvs6mIbRtcrO2bK2QBDHT0nK252WSU+?= =?us-ascii?Q?dub94xS05WCF7lVxRz74y84bAkXEbu7rnf/35vsZumv2QJzknJt3ir/FijKD?= =?us-ascii?Q?sxdtsr7zjLgPOAR8/6U1SLro4AFSORvzBJYcqMr3ZaTUkEevKtwSdQ9vM/4L?= =?us-ascii?Q?X1MUgYUHHRogZwZHZPlMhQbBjHOiZ5lzWiFL2bDJ2FxqknBmZA8Ia0YBuNIe?= =?us-ascii?Q?l9pOXTujxuDkXsBaZl2e1asSdoI4IgRnd3BMEZiCwdiFqCWeTNyqpROXIdyL?= =?us-ascii?Q?S/XAi7DERb3XZ4qIkoZ4WxRsvm8LSf36JRn0pwAWQ3d4DEn5JQvEGoYH7ld5?= =?us-ascii?Q?PP57ZdnW+5SgLa/QbD5WvTDyip5x7iYd5pOu3vf0i30c1HmihPTOzWM8ErjI?= =?us-ascii?Q?dP3gnGv0B+v3dd2VABWsI9Ye6SSO0VFWv9gF0S3c4lUomZ+Em/gXIuNmyv2k?= =?us-ascii?Q?eEELbKKgLIqs/hy/MQ56vRZG4Tkoe1p5M7cnndFph8G7aROBvDM0Mwgq9d6G?= =?us-ascii?Q?1jZZ7Z9Unb94g405u0=3D?= X-Microsoft-Antispam-Message-Info: k68C0PQOflGv1bV54iW+vwvlAeTKMWX3f7IIhFxgqA/ZvMBPzPamDa2bMnHLJHiONM+wT31ow5vk5e12zI2zMjdfrOYNnmf3aWS+dRxW7Rx7dYtNjUitXJ1hBbHgrOQZ3GVyjG2s4z6WhCYHf8rM2ECmpdpceKmpibrl1HR7W4ugyTXUV0bALac9KSIV8IwD X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 6:fGwd3gQWs6j+dgqQVyFwD8Wgexy1NAmtahMm0YvqCQfPG8lUmQkAerdkhlpGaSU6udnfDngqYQpd3dBNvJtuAxXlBSgNs/fPmcBjAgFWZ12Y2GaDDjYkh5WP1Fpni5VItmeCOER/Op2ffvx+7jRPa37amECsGj8yFtTRuW+3CoMoLPfkd02qq5jX6GVK+vMBqzh3KT6LoyMskVDClIAblJWqh3+FNDlGK5Jc44ZiRh8hppoMtOQjqSlnF75oSy3D1XvO7CtmOsPXTZcSvQdU2IOoOZh5HRfF88xOW1mBXGHRj3cfrGB9tGhLxDwe2m6HFfvDC+KTJyW7JpVkeIxX88k0sjCgBFHIJLxhcyylmuY2J+iSqm7QatVbvINwbV2MLsZE9zpGTKdZv1Uz8G2GCwh4omTzgw2CY2L+mFN3dIAFHcEbU9Wjpb46yP0FLQkR9apEaX5w16PdFO++/4fmFQ==; 5:F3GsABipOTEZuWcPWiaflnaVKIZh/tC9yBirFZQEm8sn18VF+XMKSyOcUmlcEtifsYhvhAvcrN4IfZYNm1d4WYCsDiaDMlTp10mMGkXpv/fcSTvp0u9/BkyIFvReSUZXmjaVP7HFWri83QIz2srofssu+Tcs2HKQHFKhX6ui638=; 24:wPtS1g/R4enrGfv4HE5Qkdi7usHmiOJZ55COyyJvlzPdWID7HOX44JhHwTRBQeKHSjXwCuqabYUA1WruusuBXKfJuy35qB3uRvKHkJFO9tU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 7:dFJTMZOFXkTc0fNXN+xHP0vJqga+K8mmGlGkaDtk7YGQEsCsSXXC32ErdzIRAGGOmRNenY5veqPRT3qaQi66nj0cjjheqRmZruxlRU9cQPti5ZQ2cSzIHDlcldDlk/C1ZRWxZe49lfKczOeVDf91RhPmCKTMF0kqAhMh6mefFuLqmCz1B4H9c9prf7ra5kU8kbGDg60A9nLJJDpgs+fSTE21VUOYaWVpxm/lHjz1tUJXZSgqFWLvvP4ibU9OJxat; 20:nKoXziDJHTN2BNvEGSTZcIDlSYey0oblJX9jVetpv39aVl97GvcN3BX+fYvAiaPhhpnkAnmBwFdtu73FGT2uqRHazOT9suN2oOXDCBstXJZ0pspKgOY468BPtoiCkRtQKTVZvKfnfOEEyYPtXYEk64m2DiCsN62CVq3SJZj9HxhMoA7sfbeeBou1Xr6ROPnwpWEUrSnCbfRO4qSoaYbd0j2RN4zxIGoYbZ8yDsEhpZ0izYUXll7KMT77ZXCyDrP+ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2018 21:31:25.3369 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7fc37b2c-cb64-4103-58ac-08d5942a1844 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.52 Subject: [Qemu-devel] [PATCH v5 6/9] i386: Populate AMD Processor Cache Information for cpuid 0x8000001D 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add information for cpuid 0x8000001D leaf. Populate cache topology informat= ion for different cache types(Data Cache, Instruction Cache, L2 and L3) support= ed by 0x8000001D leaf. Please refer Processor Programming Reference (PPR) for = AMD Family 17h Model for more details. Signed-off-by: Babu Moger --- target/i386/cpu.c | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++= ++++ target/i386/kvm.c | 29 ++++++++++++++++-- 2 files changed, 117 insertions(+), 3 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 738927d..f69f551 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -307,6 +307,14 @@ static uint32_t encode_cache_cpuid80000005(CPUCacheInf= o *cache) a =3D=3D ASSOC_FULL ? 0xF : \ 0 /* invalid value */) =20 +/* Definitions used on CPUID Leaf 0x8000001D */ +/* Number of logical cores in a complex */ +#define CORES_IN_CMPLX 4 +/* Number of logical processors sharing cache */ +#define NUM_SHARING_CACHE(threads) (threads ? \ + (((CORES_IN_CMPLX - 1) * 2) + 1) : \ + (CORES_IN_CMPLX - 1)) + /* * Encode cache info for CPUID[0x80000006].ECX and CPUID[0x80000006].EDX * @l3 can be NULL. @@ -336,6 +344,40 @@ static void encode_cache_cpuid80000006(CPUCacheInfo *l= 2, } } =20 +/* Encode cache info for CPUID[8000001D] */ +static void encode_cache_cpuid8000001d(CPUCacheInfo *cache, int nr_threads, + uint32_t *eax, uint32_t *ebx, + uint32_t *ecx, uint32_t *edx) +{ + assert(cache->size =3D=3D cache->line_size * cache->associativity * + cache->partitions * cache->sets); + + *eax =3D CACHE_TYPE(cache->type) | CACHE_LEVEL(cache->level) | + (cache->self_init ? CACHE_SELF_INIT_LEVEL : 0); + + if (CACHE_TYPE(cache->type) =3D=3D UNIFIED_CACHE) { + *eax |=3D (NUM_SHARING_CACHE(nr_threads - 1) << 14); + } else { + *eax |=3D ((nr_threads - 1) << 14); + } + + assert(cache->line_size > 0); + assert(cache->partitions > 0); + assert(cache->associativity > 0); + /* We don't implement fully-associative caches */ + assert(cache->associativity < cache->sets); + *ebx =3D (cache->line_size - 1) | + ((cache->partitions - 1) << 12) | + ((cache->associativity - 1) << 22); + + assert(cache->sets > 0); + *ecx =3D cache->sets - 1; + + *edx =3D (cache->no_invd_sharing ? CACHE_NO_INVD_SHARING : 0) | + (cache->inclusive ? CACHE_INCLUSIVE : 0) | + (cache->complex_indexing ? CACHE_COMPLEX_IDX : 0); +} + /* Definitions of the hardcoded cache entries we expose: */ =20 /* L1 data cache: */ @@ -4010,6 +4052,55 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,= uint32_t count, *edx =3D 0; } break; + case 0x8000001D: + *eax =3D 0; + switch (count) { + case 0: /* L1 dcache info */ + if (env->cache_info.valid && !cpu->legacy_cache) { + encode_cache_cpuid8000001d(&env->cache_info.l1d_cache, + cs->nr_threads, + eax, ebx, ecx, edx); + } else { + encode_cache_cpuid8000001d(&l1d_cache_amd, cs->nr_threads, + eax, ebx, ecx, edx); + } + break; + case 1: /* L1 icache info */ + if (env->cache_info.valid && !cpu->legacy_cache) { + encode_cache_cpuid8000001d(&env->cache_info.l1i_cache, + cs->nr_threads, + eax, ebx, ecx, edx); + } else { + encode_cache_cpuid8000001d(&l1i_cache_amd, + cs->nr_threads, + eax, ebx, ecx, edx); + } + break; + case 2: /* L2 cache info */ + if (env->cache_info.valid && !cpu->legacy_cache) { + encode_cache_cpuid8000001d(&env->cache_info.l2_cache, + cs->nr_threads, + eax, ebx, ecx, edx); + } else { + encode_cache_cpuid8000001d(&l2_cache_amd, cs->nr_threads, + eax, ebx, ecx, edx); + } + break; + case 3: /* L3 cache info */ + if (env->cache_info.valid && !cpu->legacy_cache) { + encode_cache_cpuid8000001d(&env->cache_info.l3_cache, + cs->nr_threads, + eax, ebx, ecx, edx); + } else { + encode_cache_cpuid8000001d(&l3_cache, cs->nr_threads, + eax, ebx, ecx, edx); + } + break; + default: /* end of info */ + *eax =3D *ebx =3D *ecx =3D *edx =3D 0; + break; + } + break; case 0xC0000000: *eax =3D env->cpuid_xlevel2; *ebx =3D 0; diff --git a/target/i386/kvm.c b/target/i386/kvm.c index d23fff1..d170d2a 100644 --- a/target/i386/kvm.c +++ b/target/i386/kvm.c @@ -937,9 +937,32 @@ int kvm_arch_init_vcpu(CPUState *cs) } c =3D &cpuid_data.entries[cpuid_i++]; =20 - c->function =3D i; - c->flags =3D 0; - cpu_x86_cpuid(env, i, 0, &c->eax, &c->ebx, &c->ecx, &c->edx); + switch (i) { + case 0x8000001d: + /* Query for all AMD cache information leaves */ + for (j =3D 0; ; j++) { + c->function =3D i; + c->flags =3D KVM_CPUID_FLAG_SIGNIFCANT_INDEX; + c->index =3D j; + cpu_x86_cpuid(env, i, j, &c->eax, &c->ebx, &c->ecx, &c->ed= x); + + if (c->eax =3D=3D 0) { + break; + } + if (cpuid_i =3D=3D KVM_MAX_CPUID_ENTRIES) { + fprintf(stderr, "cpuid_data is full, no space for " + "cpuid(eax:0x%x,ecx:0x%x)\n", i, j); + abort(); + } + c =3D &cpuid_data.entries[cpuid_i++]; + } + break; + default: + c->function =3D i; + c->flags =3D 0; + cpu_x86_cpuid(env, i, 0, &c->eax, &c->ebx, &c->ecx, &c->edx); + break; + } } =20 /* Call Centaur's CPUID instructions they are supported. */ --=20 1.8.3.1 From nobody Mon Apr 29 09:23:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1522186669118972.3427151977695; Tue, 27 Mar 2018 14:37:49 -0700 (PDT) Received: from localhost ([::1]:36224 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wHm-000777-DV for importer@patchew.org; Tue, 27 Mar 2018 17:37:42 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45048) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wBn-0002OP-S5 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 1f0wBk-0003y1-MY for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:31 -0400 Received: from mail-bn3nam01on0044.outbound.protection.outlook.com ([104.47.33.44]:44896 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 1f0wBk-0003xW-Hi for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:28 -0400 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:26 +0000 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=R2NwXhX2cqAeSxsui1F6Mayia9cl52OeJM7hV7WJCVk=; b=bsOkOchaFyluyM2zaCmLiy91bmKIy2BbIqLkQdIIe/WUdvTalwZPhY5oi6lRD68KUWOCoEWC6gBXDHxJW0we/Ur9jO+m2agDhCM3F3DTaahOYmM58/rNK2HulIpIiU+6tJLFgbSjYlCH89ogrX54Gga74YiGiG0ZBdQZ1UqLmng= 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:09 -0400 Message-Id: <1522186271-27743-8-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: e8b6a97a-643d-4c8c-dc73-08d5942a18c9 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:BBgD26SlK4281sgpaz7Hcm3qPuUDrNrO9aqP9ASxXfkzOPD3+w9ShPWf5Rp5j7ILkxbutwrjyg8CLcy5UCsvJQJBffLidVu1zQSbfyEbQRE8T8eYEc/xjQT4rGBlk6Mn/E9RDk6d08OkpM4czd1kguoDdFecR2I5iv7AzBElYYUl4svr7WN55Tw/hEYw4icoQr6Au25JeDviZuueBqyIUFxp/1f4RDGgvmTb4ip23x/BiJLCvLP1Bqh5q2gffEyS; 25:KtK3BRDhdpz1ZNBOyhvEr7RiwnM4yLS0KbtEmJtlx55RHqorx595W4y9+ZdpJyURC+Nc9+0v/lu8OIFUriRJ13qEMJt7UG9VRUv46g9nUQXqXEMiZrcs0zfxsxGRTe3ETWOXIToWYQjiUS/urBcfuA22t5Hsihuanq4t6wgDUTU35sl21jKuIMQocb/NhsqGyJBydAm+izIdgu9H2dbepD7ro78KCHaegwP/Xv7Q4Qd8wFadVq2xgCR9Ej+3zUMoTphUDADDmEWOcOtn4CvWLIv8TA0G4A7jGbql/qtBzdbRPzAUT8xfE/a82aO5oLqCLQXrGN0VFgATe9d7Dgph8g==; 31:7u56FMI4dw/uW4kY9GyJDVlTb4ryXuenrdswQWdOC1mHJAcrM+XWTrGVrUt9Eutf+atojD4VVnZUHDidvhQIbYi7q6OHCVyS/3oX6qIIGQC6f4vmX0B+4ZG2bw6Yoz7uO/ehs2sgfWEfeHo57LStYW2i6ryKREzzpsAc2/Br1pMXR0oPzzvENlhm1GAPL+p5My+NALy6e1k6AF3IdWuSGT3+YsN7yy3baZQ+PkR5VDc= X-MS-TrafficTypeDiagnostic: DM5PR12MB1771: X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 20:6/YDroksdjY93ZI6zF1g8/oqr7U1ZrhAINk1eWHip/GKNsDDyRjf6ux9FrVvqWIAvDn2RqVVohVEmbQPR1GgT0qc6xnggq2q7uS5dqZVj/u8mwjTzcUcZPjE2/Ay0U3tkvumCN6OhkJ3cPs34w2LC+bhhmafIXe4epBcIJQrrrrL2yuI/QWMZ73fZDdeceWdbAMX4bbF5EY+QoWU3QIZXjh6lG/1RDbDtcDGtnbA0+DFaIllQqxOUD/xxkI0Q+hmaX4X3Mj4E0NKOeWAFEGM1kF93d0SMFNE5iAo5V9jNEmXXAeYB33WWqNkXwcnlwCs0g93YU+dE99XXQR14+8hZAI9k3RUgjyrd/qHOA5wayt1kNZMQt550AF+5tx9Ss/WI9Kq9fm0/WtWMCFg5dnibKQu56vU3oKVfAtErX+ZywjTvoAg4Cgial5Y8kUEjZqfaJqueZOjclwnmNxMB5WCq1NXjWcNJm18DKLAkcb99C5Cy1Rf3x2e9TLIfwN3SLPG; 4:qlOWg0SiMqA2xok7xA3KIVrGJ9WNfOH/VYHLUyCOKxElvt2OgbinZJF9C2QdeZgQugDRtsIGiN8dt+/DY1/uj0f+glyqH/7b/BNcTER0zKtBK3LVD7lz1Y8C0vql3JmgONpKpISkeVKboEm3G/HSpO+lVZj4YQ1rOTVtPM57Sm0/KlTMV42XaMkOGkJF+RyL2AYfU6c62H/92eDkpxlB68KrAq11FdZ0hk972V+scmb/ZRGm2pk6kADUIsd5PsHyM/86wwXtgfS6Ui1Zp+XdBlalc3UZDZ38S5GjKq0X0tf/UYejJ125xhmBTPCWTkgY 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)(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); 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: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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:/fD2Y6XqHX/IQhLJpHW1BjaK/w0ibjvFFOC9Xptu7?= =?us-ascii?Q?PVt38Q767L91QIMJ819rlZofYXWSsoxFGUIRR+3F+b4r8fr1pmwQu80nEjsV?= =?us-ascii?Q?HSSNZM4rGTK62NmbLQNmmOueuzjaUbf5F9/75jv+kb4bWWGuxzNUx8fCwAVl?= =?us-ascii?Q?isKReobyx3YW8M7ez56glurDXjP46hAaNoJEIds7p9SGA+Rbroq2q9v+6Ke5?= =?us-ascii?Q?o4OwsCbP7WAQVgImY9LvfWR+ctXmOy5bkY7AcC/XxSuL4bAg7/IN0rCZkj8T?= =?us-ascii?Q?t9lz3B11Y+Cic7EdaoL5nv9qfBDBzWUm3WDglqI25sU2H9s64QQ7IuB1UWri?= =?us-ascii?Q?EPq+2iY+RC0JG83RyKLDimUHRATLx/rorqLnEHs3OaBMdiSa3Wmlc3dQgx1P?= =?us-ascii?Q?kMo8JAhUrxfmdXw2+t6/D/jBD9qPTMvpSbR9/S9YmbOawGXYLfKJb0qFNOaN?= =?us-ascii?Q?qApJE76NT3VBF4SkTLWeWS2I5lndgliF5AehW+XNYAx7tjbRzNFz3WHjvpEp?= =?us-ascii?Q?Zcwb6TmHXjs4wQqzAGk/QW0QvH5BJUnCLey5LIuUmypINCNCaxyxXxALMBtB?= =?us-ascii?Q?Iz/pNKsPbvqPT4zWF56bKxyjEwp6TcGA7NCy7f8RlHBVdjYSnRXmh76twmjy?= =?us-ascii?Q?op/cejL0VzFHRzjsrgo/Ct1jwudVp5+8Dw4QuWJCNSrqwgh0YuEAzB+iCGKx?= =?us-ascii?Q?Uh26xg3po0MhOxJYgo1o7uLleJYI04EFdyrsdAFbNrwj+zmIsoPtbHr2OhCC?= =?us-ascii?Q?9It/rOupsatri7ci+jo8fS8kXiOWygk75QdqFFjlhq1w0RiA3e9TMFk85lhH?= =?us-ascii?Q?yVHKzMS8rMzQxRGuGqv0wXvmeXklMMheKfwrGIpO1BKEUB9SV+WoPd4bdOgJ?= =?us-ascii?Q?GgpxIbdkkOLljHbFYlN3UAAJ2p4fuj5iCpP0DvP/r+qRAEPiycaTIoM7Ksmj?= =?us-ascii?Q?zGrxT2h94E7BUp2F86+Fd5PMMAY+w+/lWwWm1JzsZ9ogWLrBlw9ZVdMjgO3G?= =?us-ascii?Q?inonjKdajFDSA5HsCpNk8fnhIZlGMCmudVawVg82zZXbz9SOoaQXBaxcyckH?= =?us-ascii?Q?rxsV7mvpqePMqfFq3GuI7ybWmcxASBCHOrseo61pDnHH93tGksEcjHcjJlb4?= =?us-ascii?Q?e11cruGDbjiLB9E3Y6Dmg8l1o6PF/gb+uInkAzfDywsq+caqMYOtSyy66dcW?= =?us-ascii?Q?HtrbVhFigyi7wPsXaDBkTUPEk6Mf4jWKNriNy/oPb8uk+Lon4vVKI+vjTdZ2?= =?us-ascii?Q?r4hmckLMDRl16wZY7U=3D?= X-Microsoft-Antispam-Message-Info: q3fvN5Z1Xgx26YFLpaNbSI6E/glAOIfA2kQchutUkOaQcR8ZmElfUEbK1GYar1njrG+jm9LLZun9cd2TljxyJv+CpXSRBKU3BJlGGT90Y9UXEsjLaCES/nXLvZscs2NJBCVSIvUTpkBdzwky57QhCOI/ZHxZGxpTp027YKR+egO+FgvpcuYDxwKSiICO/uBC X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 6:JUJFavcZ9mRSaKSkQ+KYxnrNjhmVqOYP2WsKD1Fmxo8I7CIUwriVeM8JyTRP7OsryFr/FNDuKCy6vMZqvjQSpqnV2c+Ojvl0sVN/IgSeG8630VHWatRqgdmaDwziSLtFd47nuaULoP3jSnMrMI9NwvFC02bFUPIVWrxk7gS40j4Squ6yAtth6mFyXZJrezcKPtOTttkhAw85zM2i0VLaaDVJY2XSeWLuLoTZh73bg9ix+7IY79E+aqlm2EWYJSbrZevBXSRRa2oTfHreeApDMR7zhwXgo2/FNFnLVvyahw5VdXhSefyVlmvxgKw8RixlhF9kHvgPPbsLBpgq4xMbDwwwv3poZE8HIFe8wY560UD8Rr3X2gISUeasEgNoRwdUSX3rWqiXlwHjCpAY/Q414a+OLzkunapaVf3xhsNBv/hduJ2H2kW0QRUAaIZJbCgiz9ztei2NHi96IhqyQnil+Q==; 5:6uSTU427gBF5LQVsKb2O1FmE6XlRzowUqUOnXjD/AaVHZ7yr9Rjw50vb15qrNftAZ1SyjQgTZOlCQmfao2ps+Y0npfgN11XoFgyFXrgkvIjkseC6s9zBqixvSt9gac3ZKr+oQkXDO9si8Wu+/wT1qoN8uHqJ86+xfh4V3+bLv/0=; 24:oxOygYgBvqyx+sDlRT1IsS+NX4tfT7OPsbRbvZilFQNnT/e97j6f8PnpOgWzl9kqLII6u/qYnl6lQAAfDxRZBza0F9Gd1l+aNQNMBJHRiqU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 7:/S109loGsP5+9kU1uW3n9DmbZzBDdA3Pizp969zQlrGAhbk8Rn7OcVP50XEFki0XQQDC5vnQBjKpve8sEggX9bZL3xqALUuI01tipBVYA8w+u5EosdWaz4NhYNpcX69apMzhP1D7tiNphNKhGpreoWCNYXsjVzwL+HzFLkhsC1qYGGVsuxGBgl4UTU/2tpJNOD+n7fgBm4iW0KGSIdwMOe2xwcNFofO5I15iSPet5Up+j33kzYKkYP0Z2VJwh3b7; 20:T7g7bFl5aGNct0Oy6H5S2dchrlARmdEyfuMmRfCG9RxQezbRte5RyseaSPri5xItUWd0CNtU+0/S4JBOvMchxgZKgVdfs9HQ4XJrzShUYbVYrtJJd3Pa+1skYyrTpuklWwNa0m6ElJblpJ6C1pNmhenRCjhjILWsShN+56QunYO13D3JScYURY+cvOCrl3QKTiV3dQSjFQ1O3OQQBr7nAqnh2DErYjgKlrUvHfeUwXmTlUwMVmLNUvEtx/b3ooxb X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2018 21:31:26.2431 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e8b6a97a-643d-4c8c-dc73-08d5942a18c9 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.44 Subject: [Qemu-devel] [PATCH v5 7/9] 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: babu.moger@amd.com, kash@tripleback.net, qemu-devel@nongnu.org, kvm@vger.kernel.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Populate threads/core_id/apic_ids/socket_id when CPUID_EXT3_TOPOEXT feature is supported. This is required to support hyperthreading feature on AMD CPUs. This is supported via CPUID_8000_001E extended functions. Signed-off-by: Babu Moger --- target/i386/cpu.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index f69f551..6f3ad44 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -315,6 +315,12 @@ static uint32_t encode_cache_cpuid80000005(CPUCacheInf= o *cache) (((CORES_IN_CMPLX - 1) * 2) + 1) : \ (CORES_IN_CMPLX - 1)) =20 +/* Definitions used on CPUID Leaf 0x8000001E */ +#define EXTENDED_APIC_ID(threads, socket_id, core_id, thread_id) \ + ((threads) ? \ + ((socket_id << 6) | (core_id << 1) | thread_id) := \ + ((socket_id << 6) | core_id)) + /* * Encode cache info for CPUID[0x80000006].ECX and CPUID[0x80000006].EDX * @l3 can be NULL. @@ -4101,6 +4107,14 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,= uint32_t count, break; } break; + case 0x8000001E: + assert(cpu->core_id <=3D 255); + *eax =3D EXTENDED_APIC_ID((cs->nr_threads - 1), + cpu->socket_id, cpu->core_id, cpu->thread_id); + *ebx =3D (cs->nr_threads - 1) << 8 | cpu->core_id; + *ecx =3D cpu->socket_id; + *edx =3D 0; + break; case 0xC0000000: *eax =3D env->cpuid_xlevel2; *ebx =3D 0; --=20 1.8.3.1 From nobody Mon Apr 29 09:23:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1522186800286752.1002021891138; Tue, 27 Mar 2018 14:40:00 -0700 (PDT) Received: from localhost ([::1]:36235 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wJz-0001e6-Df for importer@patchew.org; Tue, 27 Mar 2018 17:39:59 -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 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 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= 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: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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?= =?us-ascii?Q?kkCVlmYK6h36yR1wSQeNh2UTgBqZWJWT0Yc76JtGmo5rrebU+XPU/DAjjSE/?= =?us-ascii?Q?yUBTbkjRHACZTlAQjH/bl7WGqc9oRrIbWKJxqwDG18c7s9y06Lmjpo4bXbVH?= =?us-ascii?Q?op2CGFl3NFs9VKs8gRbODVENGL2rD01aZD5nXDYrL0v5Y3HwIeQMgZDCJmzT?= =?us-ascii?Q?t8o/9m6zIJhL8RNn0DxuevmcwiXznKpfGIojGBoBJTMcu5ZngxQDY3CwiX31?= =?us-ascii?Q?sQ+HKHs2soiaLvs8EDytMTrpkEhV19nqt5Cbx76i1y6Ffy5TL6XzR1C1ghxW?= =?us-ascii?Q?OEhDb/MsNaPwBUoaUONtxobhPJ7jNkGdXsKO+RclC2v38cUUZr3wlW5pyaaz?= =?us-ascii?Q?Fbfh1TRwtISgPSeo+WmDGJpuT5tcmAiuB2ZOw6qOV460zwgIypL8WwjYMKXF?= =?us-ascii?Q?iZTTad2ZiA0PDO7NHGE/xrfG5lxrIh3fuePMy3TL2r9EB1MG6teWyrcNlj1d?= =?us-ascii?Q?SbSQLgh4fw0U+ta/WWWu+PmrU1jvuI8krqw6CAMH++L1ISMWsrv3n+ChM262?= =?us-ascii?Q?xRRY5gLUBaUJshShIr+NvIqKYdXGuNjSPCEsBMmz89k5rDpV14EWZn5YA46M?= =?us-ascii?Q?APDk6v8zpEN4RsvOLJ20mckxczHARNI4nOQJ7gmrcNO1r62wxxyChmQ1+4lR?= =?us-ascii?Q?gJGf3CB359eNpPgYQ0BbhBbxZirumwzjG4V3jjJBPpmFfvGroxld+BzfydsA?= =?us-ascii?Q?eLwLACFlspoLSjcjZ7pAXZTYTv0aVcihU9trqjr+kq2/MUznAJ/dBR9NZEhC?= =?us-ascii?Q?9w1ODR1UQcwx289YbjB1FzjHZ5y4uk0GihWP6Pcv77DOhyHspc4C1o+jvvrl?= =?us-ascii?Q?RMDMWHTjRuV9u31mlJfUiQo9KXCm13X/jXFSO6xMHPFa4Xg+XeLNhLHhUM3y?= =?us-ascii?Q?FtetPAIwVB/KFX/C2kcnPVBzmKuBp8VHhf3l+xAO8Jerz6ljyWdVujpqfki0?= =?us-ascii?Q?AJfd8RQ6TpSI7HU+tjo/+BfsRWFKZEAW/3/Q/DtIFMoAUKIJAJBp4morwaCw?= =?us-ascii?Q?/N9sRSze2nOq5t/XwN19I3QXczGMdWeh+la1rs6PdOcsrBi6p463vmJImXFT?= =?us-ascii?Q?TGTfqPfkMSVsJk/z23TdfoOZzg1C9BaZKLkCucNzHM4ka5vdAenYX1Byvl+M?= =?us-ascii?Q?mBQw6ewWQHmZU9KEQZW/FC24OMhqvoKWxPIlsVOaBcUO0CN7OGEhGHmNpTcg?= =?us-ascii?Q?0qcV4xDlFlBFH3vjdw/Iee6/Den9Qje/4We2O4pb9yt4s/TmdhQ+jv8dG0OC?= =?us-ascii?B?QT09?= 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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[] =3D { .features[FEAT_8000_0001_ECX] =3D 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] =3D CPUID_7_0_EBX_FSGSBASE | CPUID_7_0_EBX_BMI1 | CPUID_7_0_EBX_AV= X2 | CPUID_7_0_EBX_SMEP | CPUID_7_0_EBX_BMI2 | CPUID_7_0_EBX_RDSEED= | @@ -2422,7 +2423,8 @@ static X86CPUDefinition builtin_x86_defs[] =3D { .features[FEAT_8000_0001_ECX] =3D 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] =3D CPUID_8000_0008_EBX_IBPB, .features[FEAT_7_0_EBX] =3D @@ -4575,6 +4577,11 @@ static void x86_cpu_expand_features(X86CPU *cpu, Err= or **errp) x86_cpu_adjust_level(cpu, &env->cpuid_min_xlevel, 0x8000000A); } =20 + /* 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); --=20 1.8.3.1 From nobody Mon Apr 29 09:23:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 152218675744938.96067233819451; Tue, 27 Mar 2018 14:39:17 -0700 (PDT) Received: from localhost ([::1]:36232 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wJB-0000cc-8s for importer@patchew.org; Tue, 27 Mar 2018 17:39:09 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45096) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0wBq-0002R3-Kd 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 1f0wBn-00043J-FT for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:34 -0400 Received: from mail-bn3nam01on0060.outbound.protection.outlook.com ([104.47.33.60]:8096 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 1f0wBn-00042U-38 for qemu-devel@nongnu.org; Tue, 27 Mar 2018 17:31:31 -0400 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:28 +0000 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=ZXMM6TI2hBIfyARPNE1BdsIgGbhQRYTNj2bsXSPPlZ0=; b=ptbyRkRVqUVrDH3UDwl6IsLRUnh4SKOWm+LueU8ATSXeSAZuA5XMxIYLP1s6ScwMgYPO7wp8do+Bpal7KroC3ZXn6nJWL8Vv/Ycaz+4EazaaherBcIlvmgRZE/zAdVM9mxTSAfjB0oJaEQgly4lgAmc7sk+EbggBTFRloxXv6UQ= 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:11 -0400 Message-Id: <1522186271-27743-10-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: 192de3ca-588d-4b89-4643-08d5942a19d7 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:J0KxVWwSSs53iEeqOZAZRN8QA/AC9Mw2dPHqIzGZLuuppOpURXtzxzqHG+GFyPuO4bYF64w2zD7N1I3CywsVqSrA9dPYdhxydPHqnLqvzmpu57uoLOs2K3RH4t+Cc1T0fx373dYLnZ6Rl9OLqc/AM7BIDxB/1l8nG8+iIWSmnt+FY9SfUBMjYAVLhHAzE1GCR2MCsapLPPgkOounHY1sxDa3XBuAzZVKVmwac6yMFubbMIoWlCmzILoFO8Ebmy6D; 25:c4gqVLfr8vvF1kMRPrHbkTDIaGhXqSTrOvsSsk0+2tCrd1edHFR6rZMn8K5gdaRJJCwImY2agKO1EO0QTYmbryutPwlP+sfFqHFgHHMXPIohOfxSGD9rPQnTTjTd0BdTwDRLPMs4o0gB2CQ7D4TrqBezc5Nmv4yC72UDYdgBSTdqCkbk7U7uDgYrLD/59GmUEKzbaRCzaj2TPy1uuuzPvN74UZ5YrMA0oRQ6/POMq4IgIC3l7BDgwP3ULkfz8SgGml3Wu0CQJoF73TfDsF6NkJeCC7/s/KYMRB4ctW+cpJMz+RiSsiJF3pODv//qDGCngHUio6fkAiccFLBjP5CrnA==; 31:ENeAz839g+expYf505SYpry3ux+iYXlKv75hu0tKVnqR+wQ0IieMXMarGMtFZuxrfOmcujLKZ2tuoNcTsuqEd0LxelFpPh1yIvul6NBp82UnUwBsfnNkb05FPsCYq/pg/WzkQlP7stclD+XIixhj7D1HD0YusH1VIPRAckdjieq7GkqhMA+fU/7w7SdwDs2T5KAuR03IXrGwNdWcouk9tDLtMTUOlfNxU/x6KMjFuZs= X-MS-TrafficTypeDiagnostic: DM5PR12MB1771: X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 20:6ZQTK6fDmLHPrC6tyjMvFiIg4YO4IuXafm/uk686KbfUfzuqLFno/dSFdp4FmNVz0e/JOoFy9vxdjEifObjtH9p1fE1Q3jyNux2azQOg1UoXJUpXPE4wl0mn8PDt/dxzmz2eaPbzaFDD1v3b/+B+pIRrAfZMXiJxjSpVPAS4piUxp0bN6jNl0RdZrbudu0k1fo/F6+aU6pOStWmoMTxCVtBBV4/KQOIxUXDIPm+3Zj3CG3+nYpThcKXdjNqqPmVmea7R70bK9M7lMYu5fn184cGakkK9L+t9YHmeAabR65bjMyhoQ8Q1E4492Aa+IviEtfsoBzOxL2hc9PYLBwg5wOVA31rgtFdY8XUW8Lv2wGv448Rtg4l4d4mTgPq/RoTGBI2TcZQPJgKmbm2AvsuBJS9aEKl/HoR5cpnyOmh5deITx94uKc23yZSApiVznHI+LTt9qE9YwoKEYgO7QbZsNyZcmsxbs28b/rJDpNkqoguvuBz/7nZMPuxGQEf16814; 4:JpiYLfkmqjchOxnZYfwcPEjiZaBrvHq/ld4qMo1Hq9Ty/Gfm1nzBXZWW97IgHh9KpKo0jDnsGFwRWLWyUb6k82U5dyacz1S2WgZ1pauRCOzNXNndDzsJs1fhMoZ8eMkGzwzGVUmi5oe/y3EjRO2JH7J8rWod8CFBtMqQm6H38/2O64vedlyZ6OFIY01Lp2c/kbqdNwIv7dFRpzRHyBP/yKqXNA6lugdkH6RXMJqSD8rqzG7a0XIKFZUGoNykqtGLIJ7dlYo+oOBJ5x6ZtPKSAzNQAmEpTFPAGsboNxm/LcKslhgZjnrOZB+zfS76yyL8 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)(41533002); 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: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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:GevVnb6QwKLwC7pxkUUsUkWcMkmdiJmiDxuBIjh2U?= =?us-ascii?Q?KDABPAPDBrN2py9Fp5TNyPfFRKLPaO0VdrJuFDLzC7S3wTFs2hunEjSD8soS?= =?us-ascii?Q?zs6sz4IgKLOXcY+/CjcayRPe0Tjfrgpav0Vm4CnvljOtc4ucyIVjAQ+0XvhR?= =?us-ascii?Q?bN5G6L1hDZT3tnl3Bk9zwplZsyoPP6MC8CvGOlGW+gZHt5hco6yM1sKet7le?= =?us-ascii?Q?+H6kbRlqCjq1CE/KLgPp309ArjiQZuLrpJQlXF+2Q9y1Q+80HyW2XOH7qMD6?= =?us-ascii?Q?Oo8vOCVdSVQPnlfxF/rV+LUS8H0AbYhOoAsyh4jDxuT1v+KJBAjHGR+6iBzI?= =?us-ascii?Q?k1INmPfEXkn63EW27DRCXATENLyQFznuIjDvLBaxaOyeLRLTYBWzKe8r/SnU?= =?us-ascii?Q?ekuvHH+Ixk/sYH2b76itEjeO6sT7fzuu01sse/4S4Z69LOKtUiRdIvUTDSEi?= =?us-ascii?Q?HKYwk0q54KqTmbGkDPc5pb51sP7ZObmCuNZo+cJUb7N/MqBh2Khl0bbit6x1?= =?us-ascii?Q?rMzn87g7OcqmRfCzAPpGhERX0WB0jcBagz1dHxeY+ZhYJXBcRwmSbcXko6rR?= =?us-ascii?Q?7RPOFCtyCBi40H1Caz69D44a6JPmN5GOiUKtVnDcJW9VDQo+KQlGP75yS1WN?= =?us-ascii?Q?DZrDGf9L+exXtqoRdp6ILD8MNsk11UGl3LFjrpWHXdTdDGnAuv1+Jvxw2bJC?= =?us-ascii?Q?06wQEX92IjpXgmI7Fo9q6fiPQJmfwR8XAuuJ1oissg6mPYcMvpIe/h0NJdIU?= =?us-ascii?Q?YIwlKC7j+QOnDaE9ZAKoI2qRbwmZ95ZqV++zqGyZdbsl4+wwFzVf4fjRjUk8?= =?us-ascii?Q?tKN8a0AFUHK0e+naxbMPM0HTSNVo/b/xETFtBm3VNdG60uT/mo/uudVe63dR?= =?us-ascii?Q?YHjIJoWamDMWXdQXoHYHZ9CKAOKLyvumFwPJdmj16cxyNAZ3WHSob7bk8AQT?= =?us-ascii?Q?gpOY2c5WQNtqs2MLOsT/IeQypmJM+sPgyv4RiXor1FE79KpHLL6S2LzzeBpm?= =?us-ascii?Q?c+wE8MFrvQfJoYbFIXHDQCeCph092Qt8a7pbZYOL8PMqctmd+Zn2b462/Vem?= =?us-ascii?Q?JpV81IIBZABz0HSf5K7nBWKkKyUS4cUDbus3kKCtP87wYXMZ69mXBUXx2iqb?= =?us-ascii?Q?i/VHLL4i7B+ubDoCiccbzAi6ho/6woC74LFXsa8MA/0cqZNIuTSfvJQxYzu4?= =?us-ascii?Q?4kWEOosOS3l44zAAF1xvOAGdh9tKfOOj/2n3j9SdkAleKR4fvh+1YQYdcBxU?= =?us-ascii?Q?qJTN10sqjZSBOn1gPtaQPD0kAHBCxRX3EuptJdZTP/Hxibq6dqfRBXJMMofW?= =?us-ascii?B?QT09?= X-Microsoft-Antispam-Message-Info: VzNQxIppl7He0KH4QJvjcDLPH6XyOjnPvQEcSeQS/nb8PpoZklnFMF/F0fGpEnamWJjIwuIMdlkhhYlZzZVIvb6MgdQsdiKF/cFE+R4lC4ihx+6ovezN8bBDratRrpKZSnEPIakkVBsDW8TcF2iouVOQsTcozOab6vEXSWNBsQOkFwDErYtP5inUo0mNOGBb X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 6:X65Of++H8Xmozpx2V4b/+LDiZgzJBb9GO2wwmqiXdgr+dqf7xAM6TVUpRZzKEQFL3p1hIQXCxmmtrsgEdDA0VR5OVMOI7gyoFfrojawAzasktbsaSceHE0BbxLqU3yTjTmoLuz/3JLzOqvGbEJ++7w0j0cXME82fks7i8GFzvPuFIxfVPoev6RE6Xdp74Vzq/7xax3op1XtHuFDBQjClC9iDwxswkpRcZpVn2kgGvOGwW5fFjO2Hc9WD2PxpfAfrm2BsSQwqxIYVIhQTvbM5D2B/z86JmAG2uEbzpYxeKzacxAdkMN3ZfCsuw3Ouu9K9/dgooB8wT6im7M2vTmsswaMapuvbb3rZYdVXaIN8AKQsGC/dkYq9dQqTZbJ/aH3vkZ7p6KOs6yP2vDJK91I9d5VxCuhgC3+vt190G1EmSCXdFDrWTzy7ojHYLt+CYFf2cLKoDJWcJNWZ0EIbj3mPiA==; 5:He27bgr6hsjDhJLkfJMGbcc3XRg2oh+kZf7C62xJIU6Xw15MOsaAxYDIop/1UvHZP0jYHjO/Qa/rl6X7aXBYMLcVgFGKpHaFPbopwrySCU1Ngd6ryRFSoZpwYVafJYmElDoJ/1SiO67WTSQgnY3GMaRbj6QjGI9SQfpXIcv3ZdY=; 24:FDcUm8Q9YZ+FuvOpeDOQ8cc4E9+WCgWjUryUJ5xXB1YuImeFAJaHo7SR3KlGPrkW9J+fAW9mi1Co6Vijt0hlVI4BrTSCAxVvE9NEVTAHusI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1771; 7:ACd8UZfWwhp2i1tV7+tSbn5coa+H0vL6Y9rRnFh/EwchjNqKYSTAEb/jlM9daclvzo/wU/RwUOnNyMxR7rUaj1HdB8NBmdrh979O9zBydpwUM2Iy3iowvZS0c7htQOVSU0JSXGKQ8z42LYUJ+0yM8fJJMrrOBBkgNgWGFUApOpnLp8p8IDFw+CsiiIW7qQi4tUlqMfdzJASG4WFoA6D06mulDft8khpWAB0SBC0T6300xp/7dhd/bUdmySBOyB6T; 20:eDSgiLSUteIOCY0NzRmnTKOxsfExbB8+q6Lhn3TmzNX0bESzbp00XizbeIAclPmD3a7caScz5TjKH19a7OM7HwU4I71R/tbXxHSVZCzSW4lrMgnjxg4UX+scE+gidfhHDkUGm9HRL+TnIFD3R4lzmcRa7voeFLoluVprL86YQkxEbf9SvPDDSxqnN3p0DcsBJBztmgtWLbtikEOHeIkGQadzMmyGm6Ryr+A6ICoxQXSBYr2SSfIQeED1JgvNKZPR X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2018 21:31:28.0087 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 192de3ca-588d-4b89-4643-08d5942a19d7 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.60 Subject: [Qemu-devel] [PATCH v5 9/9] 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: babu.moger@amd.com, kash@tripleback.net, qemu-devel@nongnu.org, kvm@vger.kernel.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 --- target/i386/cpu.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index f8e7325..e216d54 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -4824,17 +4824,20 @@ static void x86_cpu_realizefn(DeviceState *dev, Err= or **errp) =20 qemu_init_vcpu(cs); =20 - /* 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_00= 08_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 incorrec= t. */ - if (!IS_INTEL_CPU(env) && cs->nr_threads > 1 && !ht_warned) { - error_report("AMD CPU doesn't support hyperthreading. Please confi= gure" - " -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. Please configure -smp " + "options properly."); ht_warned =3D true; } =20 --=20 1.8.3.1