From patchwork Fri Feb 28 18:07:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 13996882 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2074.outbound.protection.outlook.com [40.107.244.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6F1641A2554 for ; Fri, 28 Feb 2025 18:07:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.74 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740766047; cv=fail; b=cK2r3vNR7/Q0GBrDbDSFJhsbf7+uT16K3cLiXpJNsh+lUB2linKRNzSotJKMqxhwg46idkdkJCY2x/K1nX2fr3zjb+HFlNI58WL9OdYUo4oaBAn/WV0/oSf36DMOdAITvQ+iiw4dDOshyTajTw1397IDHBUd6imStbCwpnuf4RA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740766047; c=relaxed/simple; bh=R8m38/2DhwmnzhpnuBu+5eBZkklYnlBplJxuXkYbv7A=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=hTOBnRfEJDLLCGzmtdopTI3MzPBSrgg2s+vQGFevBLb5EQJG7d7+S5mB7Hsg/twRCQlBeT4zv0z78zurMJ4NalSL6zD7hs6L5avri+++dht3sqKS3FPVfNOM7tLwNlJnZSbYVYY9O/dxGj353Pg9Zo1fq2EO6icE17QQn0QPKv0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=V9XzMuHj; arc=fail smtp.client-ip=40.107.244.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="V9XzMuHj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZkLi4u+7k7FLBhehrr7Y/7Lk3+VHCrZ3GIjLFrevVashLBvDhTcQyTWlMkjeBi0J+OGAV/XOQc5QJ6UJ1yZhaLtdsIY4wrynSCZQlKvuIUvw6sZvpxQP+1ZEhdBCDvZkw+VL9q5ueBAsmAthTwyVKA7RFdavk61yZzK9KosNUbJKrws4YBNekTmE2zzUgFjoi8/aGPMnK9VnUKTDkwx6hsUq06zwKopooANVp9JaZpA3BbW7RoghL4tAqu3sdjAPa3q6A277xAFnKOZXORJCBFIa9ueLriS2Yf93oCkcyCZj2zIk5XbO4TlLHX90i1fjCe/JemYtTbvHRBf9tDeQrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=aWn12FJGh/GHZYdIwhvqHLwqDpV8jfI8J1LlIkT28s0=; b=CHwn94C+AA36KwuMI9dUROj3skPtLoDViyeKuIBcnIfHDpHp3Zf+wYHfrTWWcvjDECre+Vgs3/k5Clw3WyjZduZbsHP3RD1l+QCWbTNoeuKYmNpWs1rpdH1VGSMWoWKorkey9XOvaEPx9LY1Awhqi6sNJRs1Q0Ibd64D/3AOLtXivZV7+KJjCK0N1nH5ldBkj8tzLFw7UEGZkTGD3Vh382Jv7wPErBK6rG8hcs7uhGbIbn5fxypmHZc0Uf5x9PnPdl9QP7Uszk48iA24SOSU5gi3j13ZUv44NJoLmUwFMULrf66De8g6NRahlfFFedcLe4o5apzQpCxNcg04xnWhQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aWn12FJGh/GHZYdIwhvqHLwqDpV8jfI8J1LlIkT28s0=; b=V9XzMuHjw+AYC1uZWx/ubLTqvNHBJQRRM3dLZ4aP5Y2pxw34JZAMhrrLAO3BnqhrzSZacuBmY9r4/i55bsPv0Vo3wWNgWtBkfwn0IAxX/P5UGls7CaSCnwLrSsP5BzU5Lz88+wSftUFKip8o9kmZVA69Wr7JyyaHUZ9POnh7aX0= Received: from CYXPR03CA0034.namprd03.prod.outlook.com (2603:10b6:930:d2::9) by DM4PR12MB6471.namprd12.prod.outlook.com (2603:10b6:8:ba::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.19; Fri, 28 Feb 2025 18:07:21 +0000 Received: from CY4PEPF0000EE3D.namprd03.prod.outlook.com (2603:10b6:930:d2:cafe::6c) by CYXPR03CA0034.outlook.office365.com (2603:10b6:930:d2::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.18 via Frontend Transport; Fri, 28 Feb 2025 18:07:21 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EE3D.mail.protection.outlook.com (10.167.242.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8489.16 via Frontend Transport; Fri, 28 Feb 2025 18:07:21 +0000 Received: from bmoger-ubuntu.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 28 Feb 2025 12:07:20 -0600 From: Babu Moger To: CC: , , , Subject: [PATCH v6 1/6] target/i386: Update EPYC CPU model for Cache property, RAS, SVM feature bits Date: Fri, 28 Feb 2025 12:07:01 -0600 Message-ID: <8ecfd8751d58811b18fd918a6d13e859217156d4.1740766026.git.babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3D:EE_|DM4PR12MB6471:EE_ X-MS-Office365-Filtering-Correlation-Id: cc1e641c-a97f-4c3f-9689-08dd5822bf2c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: rjbpuf/LTvXdQbaoP/hNPrW4ctJMcv//7aa/f8/rz9Y0bIvUZhP2CsdIvy/+Fh7zjGg5sf0ggMkUtqILZftSPMXjiVF+5BiHmDpI70jCUH+kRL7rQmPKjAsx0pYf59rN0gE4arJ3Cq4A3vV2BQVQNBRhUMMiQb+VTmO+/OpmHwckwkfQcTHO9B8D5GZ1fRl2LauJxFBAcEevkVgxzRL5wjhFTnS1jAzpDyog07u6PwQ/8Y8c6WoFyOS4KVJkkcr/CnpCo4jSRL+fD2AhiIkHsSEWJarBGW8GXX90Dhn8LwG/uDPpQ/+UCoObMMy+9c5D5sNKZPpvG6vsYn4464HDvdlkn1gUe2upxSSmXFpULfrT+/+0JQi6aG3Y0SpCJsH6AxCQ0QpLsBQP6KPyecJ/9o38ZQ/wceVo7AJD0nF2VGvfEJpy6czArMJSG42plWamYBPKXoFEnmnQvDYByuQSmKo1buPIYBhAMKfUM7H5Mvk9/V/UNRlYJpCcIs+d/ZuAcEEN/4P7DCJt1xbeCOf6/qa+OO2AcIeHKBjtap8Nhf6XfAxkL+eaikM/vAUWE4WboFpDOS33llroO1ZSRkWxb65TsTgO6rOY2j5ySpCDM6Gp271uSYsy032jryehEtyYZNOgZN20ElgleyLGcb9RzB5bcNwCaYNjHlt3JRdbChJAaXtNsWjnRUwweewtCmn4HF80ORzz9LqGsw9XDD0PYiquF6a+HoczUt+5ICByvYF47L5Fjs2pzHnVGnLh4bcIrMiFubgXewyJLh1zdFxrLXlZzvRJNNheyS5HzKCAYh/ZI5CFpcMzTGBEV8bQp/sm2bOBTS7hQqz38W+DfcnFPF1HhEQMMjOw+MIQuxZYExeETFBlfJBzmDfmjhY1ZATHKK8/j0rg1rIHwICcEiqi+VxixD60KurzMLaoNWFLSwMF/72oRsSWmZ7br/qZKRhSo9Q7p/xG21q0ys9Zj1DPE5NQMJZB9ZpbY/eujnk2SDtBi8FVUDYp0KEgOhukfHv6DfNcDlF6cThbvxK/7/XwYoxji9g7LKna6tK09f5T+0GjxdA4rrZq7oIcUlvW/0oFXQ399kHUuHAPwTWSGkCU5nO2cjD8F5MiTTmO5oHZHELpmrX6Gs7AU1xeK6+amOsF6vBZsL2WhIyFAPq8R3rMFXGeelznebKS0q9+NSEhDdbOawmzniqZvl2TjTpUqU/bBnw2orJ2Yo0TsxiNKBvzo52E5NhYvA7U4PoW2yoesz09z5a+DDvr3LCT5LpJp2xMyYu9HQBL99Rd8bd7vlzpKH+Qe/cZJYq7fW2U7FFs6R3tDgJLRm0caB0BJa0LyjZcf63a7Qw/4h2TjL/vLt+AhZonRbcdBoD2TDyWs8Glhbbj5ChufHX11rxKW934S4g5YLoi0eAs6HqCQMGJQx1UcL3FWeHxyFG2+T0raE5HBu3Bpsxej8UGPcVBw3/Epyhrt5iSQBCq3LDilDIzxf53ivi7zAj3oMVGlXgoMyDmQV8= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 18:07:21.4418 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cc1e641c-a97f-4c3f-9689-08dd5822bf2c X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE3D.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6471 Found that some of the cache properties are not set correctly for EPYC models. l1d_cache.no_invd_sharing should not be true. l1i_cache.no_invd_sharing should not be true. L2.self_init should be true. L2.inclusive should be true. L3.inclusive should not be true. L3.no_invd_sharing should be true. Fix the cache properties. Also add the missing RAS and SVM features bits on AMD EPYC CPU models. The SVM feature bits are used in nested guests. succor : Software uncorrectable error containment and recovery capability. overflow-recov : MCA overflow recovery support. lbrv : LBR virtualization tsc-scale : MSR based TSC rate control vmcb-clean : VMCB clean bits flushbyasid : Flush by ASID pause-filter : Pause intercept filter pfthreshold : PAUSE filter threshold v-vmsave-vmload : Virtualized VMLOAD and VMSAVE vgif : Virtualized GIF Signed-off-by: Babu Moger Reviewed-by: Maksim Davydov Reviewed-by: Zhao Liu --- target/i386/cpu.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 72ab147e85..7908b90b77 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -2180,6 +2180,60 @@ static CPUCaches epyc_v4_cache_info = { }, }; +static CPUCaches epyc_v5_cache_info = { + .l1d_cache = &(CPUCacheInfo) { + .type = DATA_CACHE, + .level = 1, + .size = 32 * KiB, + .line_size = 64, + .associativity = 8, + .partitions = 1, + .sets = 64, + .lines_per_tag = 1, + .self_init = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l1i_cache = &(CPUCacheInfo) { + .type = INSTRUCTION_CACHE, + .level = 1, + .size = 64 * KiB, + .line_size = 64, + .associativity = 4, + .partitions = 1, + .sets = 256, + .lines_per_tag = 1, + .self_init = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l2_cache = &(CPUCacheInfo) { + .type = UNIFIED_CACHE, + .level = 2, + .size = 512 * KiB, + .line_size = 64, + .associativity = 8, + .partitions = 1, + .sets = 1024, + .lines_per_tag = 1, + .self_init = true, + .inclusive = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l3_cache = &(CPUCacheInfo) { + .type = UNIFIED_CACHE, + .level = 3, + .size = 8 * MiB, + .line_size = 64, + .associativity = 16, + .partitions = 1, + .sets = 8192, + .lines_per_tag = 1, + .self_init = true, + .no_invd_sharing = true, + .complex_indexing = false, + .share_level = CPU_TOPOLOGY_LEVEL_DIE, + }, +}; + static const CPUCaches epyc_rome_cache_info = { .l1d_cache = &(CPUCacheInfo) { .type = DATA_CACHE, @@ -5207,6 +5261,25 @@ static const X86CPUDefinition builtin_x86_defs[] = { }, .cache_info = &epyc_v4_cache_info }, + { + .version = 5, + .props = (PropValue[]) { + { "overflow-recov", "on" }, + { "succor", "on" }, + { "lbrv", "on" }, + { "tsc-scale", "on" }, + { "vmcb-clean", "on" }, + { "flushbyasid", "on" }, + { "pause-filter", "on" }, + { "pfthreshold", "on" }, + { "v-vmsave-vmload", "on" }, + { "vgif", "on" }, + { "model-id", + "AMD EPYC-v5 Processor" }, + { /* end of list */ } + }, + .cache_info = &epyc_v5_cache_info + }, { /* end of list */ } } }, From patchwork Fri Feb 28 18:07:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 13996883 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2068.outbound.protection.outlook.com [40.107.93.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1D5FA1A2554 for ; Fri, 28 Feb 2025 18:07:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740766054; cv=fail; b=aqkOwadJDJljMP/W/su7eY5ED46Hg1KTDbrFEf1kxAFcyv21gS8u0+L78k13Xrdj7rIzmqRup/SqFhrg1jIhJ2OEjEnMrG1YAJTUJ4c45eFEDI4/brlPrJbsc6K3292/7DU/iNn+W4kKN2lZOdlYNMBPX3M7gCKPIP/NN5s3im8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740766054; c=relaxed/simple; bh=mJ0tTJ1l70QmjXB/p/tqTz3oH+3eE541oCYca8Uzwb4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Ft63egtE+ixPCWu0P9qRHaNawvdOBj4E+1iBiUlYmKFhwXaAkJbUfs69Mw/ddfNhSHrbQraXLGO6jo9kHuTOMKrZVCd4V5gbznHe2E7JrIbrTsQqdoZfncq0eyeVu77KkaA9L2mrk8jfH+RZgHMmGM06TE7aF9E73yKqxzgBnuY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=sTeLmgXS; arc=fail smtp.client-ip=40.107.93.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="sTeLmgXS" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g2bLbYq48ub/cKbqoSntUQyhf91Hqk+eKwdGXZ79Tmc5HeKyiKKNwcykjM5z2DnqhaER2crLI9izhFj4B50paQFq8l2CbfPitaUFDUpMTDU/qOWQTuXIld2vLsgTcXplz2YXRZOBFSZMQl2didPhzd6k4EOXPssq1ajF4GVtwd6CMvGKy4QTMcQuXh14LtOF3Yz95MwsLkXEAJmJNGgVKikT4Z86bVBzsS4kV9aLGq07mshBw2VJSiScbhSyYWG1fwvH/NIlObnDMQV2XJdE2d5gJHbsltBo6BEbWXdJjUZ0Gsn1yb/JlcZyXwb8+ti0spelkANM3bnJ9GU+MYTxUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=iRdZ3ktvIeY5uC3j64ry4xRSsWv1xvh05cTkux3ZZwI=; b=oJjlEZQ/TfzVO6PXA6AZ3ruQgl9MJvK1xQd/3desq7oZmH0V03Cge4VI/uJs9Y60ix+cr2exvZMg7E9UAMT6M+HLWjKckT3DZTDm1aX+Pl1Tg2U0KUKHuPnqEuhAT/RdKma+0NS7qkCGPZ6a1coWjSeu3PvChLak4rr/gML8vjHRiILD+TM79Of3ep08W7KmX33V5MA8vC5aO3fc2A0J+JytYY/8oD5+pUVl67Z5kFwqyjd5DgZss9+om05CK2SaraDOCKkMMUGPfWAsHBcwr/t8IvecCv+nI0NecBT8ZINNakhXYWFAl/X5erR/m4U4vJ0dWQuWSUgXGerYkEoUeA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iRdZ3ktvIeY5uC3j64ry4xRSsWv1xvh05cTkux3ZZwI=; b=sTeLmgXSqxBOdPdK1sbEt39o6HSwNcLlHu9AOGxniZheGacR5MfrgBJ85hOiEUuvvFYR0ijw1huOubQpnTyxMdS7oZvnOVWBvpUhfq5LAsFbSXJNsI+vp5gUxqWClvVmRJFo55i1vn7K3crjPC9QPPyZqqbNTxknmFEZhGjPFhM= Received: from PH8PR20CA0013.namprd20.prod.outlook.com (2603:10b6:510:23c::27) by DM4PR12MB6303.namprd12.prod.outlook.com (2603:10b6:8:a3::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.22; Fri, 28 Feb 2025 18:07:29 +0000 Received: from CY4PEPF0000EE3C.namprd03.prod.outlook.com (2603:10b6:510:23c:cafe::a7) by PH8PR20CA0013.outlook.office365.com (2603:10b6:510:23c::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.23 via Frontend Transport; Fri, 28 Feb 2025 18:07:29 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EE3C.mail.protection.outlook.com (10.167.242.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8489.16 via Frontend Transport; Fri, 28 Feb 2025 18:07:29 +0000 Received: from bmoger-ubuntu.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 28 Feb 2025 12:07:27 -0600 From: Babu Moger To: CC: , , , Subject: [PATCH v6 2/6] target/i386: Update EPYC-Rome CPU model for Cache property, RAS, SVM feature bits Date: Fri, 28 Feb 2025 12:07:02 -0600 Message-ID: <96d40128682225b75e0f3c62c025b72c93ac8d1e.1740766026.git.babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3C:EE_|DM4PR12MB6303:EE_ X-MS-Office365-Filtering-Correlation-Id: c16c9771-7def-4961-1c56-08dd5822c3bc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: Kcqj3MhoHs5U+Fbk2Q8SbR6pHyzfFAiGQOiB8UdvoLyITyHvWn6iYYujRgvCdtJyl6kPv2wqdiJ4dGldF5B8zWO80n/6p7GuG+6UoEmrrDgiU3Yx5ENh9kTzSmesd+/yv79dQKxdCzAoUvIxIIP1Pfs6Py0MK5Ni7Ykg9iOet31OUwqXDFtI9TjkLlrWNg12/GDV8avPeGFXCmqLFRI+qLVV31PWXLCKYgJ/WpxSKJvZ1LAazvJ//03MS1UDBWnBlvFIDjNiC/ZCCeCDeE7Avwnc6ucNMZ2Hu9KuiH94jQxdYo9fLcXbwibI/QlrM8QKdT3aZd2g2uvd7yIQL3cUQ61ry2ZJVZfyjWjW9vLDpZEVfADuvAi4+jJMgO8Pesh4lTWWJ9qu9aYqAh94gE01Y5UMNiqMGIPlqOp69GKj+E9iKZBd7h22EtjnEj00QYT2+Sz3mTzY70V+0CofH3bKO2DLLhNi4ntWAny1euOitY6dEWXHGqUiQCIHo0k36m8xhOAN+lIrregEns+RsAuLAKQ8rYfvY6ubMRe60H/xNPTzEZIMqO8ftyICH2Kc7cwYIMHV7x3TM8fCRHHGDo+qeZQND5mTSomAIne12cs4SMlLrojfCJm7ElluZ6E91Ff/OQL52KfbYmNkIr4As1Ffo4u5s00+e9IX4Isst/igHeveESN+eup1XWL7bfftfqzR0+kUO9U5KXfp7aNDbYfTOJyW+D5hV4OEeNIqXRaegtrka7C3AedJJYynG8tKzwWal+GyIxiVxeVI0QscaLxxnB6KVoKZEn6Ru0GUl8L7FJ3d9QNmkkXzCWAIiuNBLZcA/DG06NT9lenydRhN+TQ8FN51Bp2UPX7sP8iNg4bxS5pv7/niV353j+JdhlUHnSaRMciJLhU9F1S5IUSt3NQHYlO9ZTzWc2TIlDmYvBOKKly4BRrJ46g0KcDo4fmKo2Wr8LrgJ0NSjO7YS7jmJnqBcJUSbiaT29OGx6TX1ylXLZaHWjtS2PLJtRvcpLW/b+UsTEmIhvwaXpPLbP5P9wPJDGYp1CzNddIDEqdqnFfi4kVwpp4jjd7WF/TrblkX7lQPWXaahb3mtMpdXqJgijgSOqSYCQbxNBucf+msAyedpqEaDYhZVA9RB/PWcn4ZiIMxdjKGethcTxKAZ11xvAIKo2Fa6mp+LIqx9wPEVYWWWiTPF/GFYaze9HajdCzYjyw468FwKg+6Mymz/vsY8b4kq4cB3CYjm4CkIFDINPNLOXIpYtQjBm1S0OV8j7lSflLgmdcFctPZFAFGqUysNbFN8kiopIyR1OmsblXw1n62dXh3TxzxJO8QqgGppVvFzisumlf4SqdNM35IS2py3v2Ley+p72xGDt3QO+k4KQt6oTDDCuYgbWXxaH44v93O++/bGwNjgxTAZV5sdqJIr2ns0qzuJryImwYEh32chLDsMpZbKqBFqFoD6vXXNwAhl53ezofGvdszhN716dlGg/Lb/9hAzo7iUt8QH8unS06xuFw= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 18:07:29.0933 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c16c9771-7def-4961-1c56-08dd5822c3bc X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE3C.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6303 Found that some of the cache properties are not set correctly for EPYC models. l1d_cache.no_invd_sharing should not be true. l1i_cache.no_invd_sharing should not be true. L2.self_init should be true. L2.inclusive should be true. L3.inclusive should not be true. L3.no_invd_sharing should be true. Fix these cache properties. Also add the missing RAS and SVM features bits on AMD EPYC-Rome. The SVM feature bits are used in nested guests. succor : Software uncorrectable error containment and recovery capability. overflow-recov : MCA overflow recovery support. lbrv : LBR virtualization tsc-scale : MSR based TSC rate control vmcb-clean : VMCB clean bits flushbyasid : Flush by ASID pause-filter : Pause intercept filter pfthreshold : PAUSE filter threshold v-vmsave-vmload : Virtualized VMLOAD and VMSAVE vgif : Virtualized GIF Signed-off-by: Babu Moger Reviewed-by: Maksim Davydov Reviewed-by: Zhao Liu --- target/i386/cpu.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 7908b90b77..be8dcf9739 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -2342,6 +2342,60 @@ static const CPUCaches epyc_rome_v3_cache_info = { }, }; +static const CPUCaches epyc_rome_v5_cache_info = { + .l1d_cache = &(CPUCacheInfo) { + .type = DATA_CACHE, + .level = 1, + .size = 32 * KiB, + .line_size = 64, + .associativity = 8, + .partitions = 1, + .sets = 64, + .lines_per_tag = 1, + .self_init = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l1i_cache = &(CPUCacheInfo) { + .type = INSTRUCTION_CACHE, + .level = 1, + .size = 32 * KiB, + .line_size = 64, + .associativity = 8, + .partitions = 1, + .sets = 64, + .lines_per_tag = 1, + .self_init = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l2_cache = &(CPUCacheInfo) { + .type = UNIFIED_CACHE, + .level = 2, + .size = 512 * KiB, + .line_size = 64, + .associativity = 8, + .partitions = 1, + .sets = 1024, + .lines_per_tag = 1, + .self_init = true, + .inclusive = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l3_cache = &(CPUCacheInfo) { + .type = UNIFIED_CACHE, + .level = 3, + .size = 16 * MiB, + .line_size = 64, + .associativity = 16, + .partitions = 1, + .sets = 16384, + .lines_per_tag = 1, + .self_init = true, + .no_invd_sharing = true, + .complex_indexing = false, + .share_level = CPU_TOPOLOGY_LEVEL_DIE, + }, +}; + static const CPUCaches epyc_milan_cache_info = { .l1d_cache = &(CPUCacheInfo) { .type = DATA_CACHE, @@ -5418,6 +5472,25 @@ static const X86CPUDefinition builtin_x86_defs[] = { { /* end of list */ } }, }, + { + .version = 5, + .props = (PropValue[]) { + { "overflow-recov", "on" }, + { "succor", "on" }, + { "lbrv", "on" }, + { "tsc-scale", "on" }, + { "vmcb-clean", "on" }, + { "flushbyasid", "on" }, + { "pause-filter", "on" }, + { "pfthreshold", "on" }, + { "v-vmsave-vmload", "on" }, + { "vgif", "on" }, + { "model-id", + "AMD EPYC-Rome-v5 Processor" }, + { /* end of list */ } + }, + .cache_info = &epyc_rome_v5_cache_info + }, { /* end of list */ } } }, From patchwork Fri Feb 28 18:07:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 13996884 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2073.outbound.protection.outlook.com [40.107.93.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 23E601A2554 for ; Fri, 28 Feb 2025 18:07:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.73 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740766063; cv=fail; b=ogw9cJco/TsbAX09qysyEbKnUbjm8ZwQKpmBoWvm3n5JAQ9a5s/8VQLzX2K8HRPyqWIfbjrESouhTqvLjzO+NV7h1BcSUGbe0KJkggELiEl4dNVj4fRDwd9YQ7hDTTdZQz8aMtDKdmw7mtr1UU3P1m3/Fhru0dch794KnHRoz1o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740766063; c=relaxed/simple; bh=W7esGflT4tNEiVnmmZrXwOVD6zeY23euq0oZPV4PsUs=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=OT4UB0/wi1ywfb7jV8pPhXb/ebpYwkVYVTzgvJN1Q1K4UPJ0CeCmdruVy2zEp8WNXRFteAOVOP2q7JxzRmwknR2AcgVPpdvv/83uDroKxPPjJPUn8+aztlk3txO+8IPYo7EaXFTI52Kn7Ih8N8XkAqo6Wk+Y/ihophDyNMRYmyw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=mBSTiMuU; arc=fail smtp.client-ip=40.107.93.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="mBSTiMuU" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=shdFDGgjBXkjR7op+WV59SECAfuenrX/clvqhOmn6FCfxhbQ0aS2TxtFSGnaWH5zMpaMiQkbuxaeSRmscy++x2fs1TGu9mGybITyt8hJ0xvaG7+a461V6UkO/VVigIs0vdZ1V48zdh9rBo8AB5PSWNAzIHEF9AAEW8+j+4xQib1UEppBkPOD2sDoxOMD1CtldgOUnZ/DSDm9g+iX+ej6Ge1DzD6zLnc7Zw2ObN8/q82ZHtdohBS8rFCtjdvZhkVNRzRMdPCDGFSkqolVUtoM68RvI5GrzZWf5wlhUfrdGC5sMogxbmZMrf0lop/KLbhogDoczp6o53S3dUeStz+dLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xYxwmqX6ky61U1XG+7TT/rmSPx0hSfYAV2hfrt46OU8=; b=aMLfet1SB2aQnQqZjNfKBcup6Xa/qPVdmjK1dbxNVOjH+J3osjzTBy//61pbhfBq2NxFaSdPmO4PsVz7Mr7PGH4BwUho4TF/iPTyNb60GfFOciL9+9PNEblUJt/1dCxhTqaQfkJy2HjGPNf5OChqNeFmVZ5xEu/qFYkDftjsAhagNr/Hz0cWJmWlVQbbpGk7IPQuQTfvU2q1Ch8FwHfAk+bMEQzf+h5TGUajtaRxlN4BQEQWrVyNysoPDr0y3og36VL0v0HP/nJal0KcYqnImMGuw3eR/UlXi4E/+4rJ3OJblmRNdlgMFvDbfyuqLohiFm9/t8hBQsdyoqBfsFshbQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xYxwmqX6ky61U1XG+7TT/rmSPx0hSfYAV2hfrt46OU8=; b=mBSTiMuUNVFy3sm9Btudzdo0JtRpyAyi7YnfUNcHBVlQqwfQAXEpNLegJmjLzxwVxuWy+TUS1XVp8OY8HGdCsXDWbUmpZTpfONk6QYBXZDhZJqW8r7fc9a9maVb8r7qUJDni4w03mP4ulYSp3qlCjvxcFtoxZlTh1KEwSj8gWaU= Received: from CY5PR13CA0044.namprd13.prod.outlook.com (2603:10b6:930:11::14) by PH0PR12MB8775.namprd12.prod.outlook.com (2603:10b6:510:28e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.20; Fri, 28 Feb 2025 18:07:37 +0000 Received: from CY4PEPF0000EE3F.namprd03.prod.outlook.com (2603:10b6:930:11:cafe::82) by CY5PR13CA0044.outlook.office365.com (2603:10b6:930:11::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.9 via Frontend Transport; Fri, 28 Feb 2025 18:07:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EE3F.mail.protection.outlook.com (10.167.242.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8489.16 via Frontend Transport; Fri, 28 Feb 2025 18:07:36 +0000 Received: from bmoger-ubuntu.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 28 Feb 2025 12:07:35 -0600 From: Babu Moger To: CC: , , , Subject: [PATCH v6 3/6] target/i386: Update EPYC-Milan CPU model for Cache property, RAS, SVM feature bits Date: Fri, 28 Feb 2025 12:07:03 -0600 Message-ID: <7ab1807506c87d54242044e68aa20c82d7fd3561.1740766026.git.babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3F:EE_|PH0PR12MB8775:EE_ X-MS-Office365-Filtering-Correlation-Id: 29c9c54f-894d-4165-acfd-08dd5822c84e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: D3xjdrmOy1J41MWtS031hajEfpLC2tkmlTu4gLqcbechEHe/3CWbJm/seH6ZmyPdmHnu+iaNPdTP5aJeGjSY6gN+r25eiRDvxwZfiwfChHfkFIAAtKGxg83dHJCwVZgzYgGMLk4aCIlEbJ313NnJMN1Vv1MJQyJ+rhm/9g/9b9dnoLgAjaJOmI1AMaDqldGzC1k1QbgUqdHlaJ+vVi+DJnmgfNwZXPAiqFJbDpat4WUQOgyApS2pdaQx62XxbRdFsLBj9WI0VbbOVQV2r0EeJH1M9KADBMVH8+svZySpYlbivpMefYUiOVM1zlKFzS32P/7KunsHHBbZ8f6fdApk8Grnpb2yuiEZ4ilhWd5T7V9rFvsP8A48VHJ0GzzoV+yIEK899CW6IiMH8FMz60IffGZjAXdHg1tsRoDR6uyqodm/3Iz63fk54fzf9BlEl9HPvSpuJdWsle8FR7Q+C6JzNktQ4XCI6CYdvtnxHf8xQRbUTgxX1FC4/MWg26/LJGZQwZaJ2WUuuisYOnRLRYLm/hnk4bEl3FOw+p7yA5I+0JcCwYtTrLBXYU7XA0dmfDPMw6uzexk5twz7WkzroZV3z5OqXUrhzORxrTJzE65sUn8UnchPuUWbxYzdR/XbOlmeNkgTQsD/tnCUmiQb9xyGjoc+3s6+c+pNlQY43c4wTyXFlsf1HFN9Qg6YlPFeqMrrnLdr2HdTD78oiRU9qNarUKzoUpIpUoq9Kkw+dBUrUeFbA6mHCILmAlCf0PQvdIfdIEEm5FKSqYquDDCcLVrymHlfxXpLBaYn6wYiCuM66D5UDCt4P0aRkLYZvQVzFCi0orbRe1rvS9sKMoN4gJYBQfsEd42VLzykJjDFjxgJyp+yKaa7a5CHjQ+KMHxdpGXrTGb4Z5Ap/xgTtGPmsm8HVzZIxC6ql4vcC2RZ8cHqRQQPKvPlR6OOArxe39rqF3ub91l43rETPLF5Vz+5iGmC/7oAEht7Xs1vVkDmaCKYAlOYEAYCVJ8HtWRFlFgEMi0tj63LrsZW8beDcLVKW6tgqu+dC2FhSTa+mj3gDBgtU1yRgNmkh2abAwLhzhvMc8/2NdAuYZG8FkiCaTuXlSHVkN2DASLiFygV+UV7Jlk4CNgSt+dk1FC7qp+T8XlaesPqqn0sb/dZwtb7QnbyOgV+TomrxzR7tUP0X7iz/g/cfgNxHOarVRn3Y+40J6FdSh2hEqz2LEFd9xcy0VgvI8O8L7qiyAbXwOrqOqo5cvkvxA+0i7yMmbV8VFUrwNk4US9LeZh61rmSDrXnn7SHfYiNyDiUUGamdQBTRZRRRe9hJRHkGIpV6BPtHSsWdNCAQpoZ/II/t4NAlSJaunMM7bCgMlUSFFVIujVxGK/dwXARmaVS2eYvtvTIT39S6yZIjkUDPRp3di1jSDLo7nf/9W3UL9mGMsVFw3zYJSHWp67o9B6ta52LH7YDq//AD8k07TYB4DXtey7BIDdRO3bcZRePtbmSI1LgtOCrq4frJ1cHA10= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 18:07:36.7647 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 29c9c54f-894d-4165-acfd-08dd5822c84e X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE3F.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8775 Found that some of the cache properties are not set correctly for EPYC models. l1d_cache.no_invd_sharing should not be true. l1i_cache.no_invd_sharing should not be true. L2.self_init should be true. L2.inclusive should be true. L3.inclusive should not be true. L3.no_invd_sharing should be true. Fix these cache properties. Also add the missing RAS and SVM features bits on AMD EPYC-Milan model. The SVM feature bits are used in nested guests. succor : Software uncorrectable error containment and recovery capability. overflow-recov : MCA overflow recovery support. lbrv : LBR virtualization tsc-scale : MSR based TSC rate control vmcb-clean : VMCB clean bits flushbyasid : Flush by ASID pause-filter : Pause intercept filter pfthreshold : PAUSE filter threshold v-vmsave-vmload : Virtualized VMLOAD and VMSAVE vgif : Virtualized GIF Signed-off-by: Babu Moger Reviewed-by: Maksim Davydov Reviewed-by: Zhao Liu --- target/i386/cpu.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index be8dcf9739..a5427620d0 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -2504,6 +2504,60 @@ static const CPUCaches epyc_milan_v2_cache_info = { }, }; +static const CPUCaches epyc_milan_v3_cache_info = { + .l1d_cache = &(CPUCacheInfo) { + .type = DATA_CACHE, + .level = 1, + .size = 32 * KiB, + .line_size = 64, + .associativity = 8, + .partitions = 1, + .sets = 64, + .lines_per_tag = 1, + .self_init = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l1i_cache = &(CPUCacheInfo) { + .type = INSTRUCTION_CACHE, + .level = 1, + .size = 32 * KiB, + .line_size = 64, + .associativity = 8, + .partitions = 1, + .sets = 64, + .lines_per_tag = 1, + .self_init = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l2_cache = &(CPUCacheInfo) { + .type = UNIFIED_CACHE, + .level = 2, + .size = 512 * KiB, + .line_size = 64, + .associativity = 8, + .partitions = 1, + .sets = 1024, + .lines_per_tag = 1, + .self_init = true, + .inclusive = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l3_cache = &(CPUCacheInfo) { + .type = UNIFIED_CACHE, + .level = 3, + .size = 32 * MiB, + .line_size = 64, + .associativity = 16, + .partitions = 1, + .sets = 32768, + .lines_per_tag = 1, + .self_init = true, + .no_invd_sharing = true, + .complex_indexing = false, + .share_level = CPU_TOPOLOGY_LEVEL_DIE, + }, +}; + static const CPUCaches epyc_genoa_cache_info = { .l1d_cache = &(CPUCacheInfo) { .type = DATA_CACHE, @@ -5566,6 +5620,25 @@ static const X86CPUDefinition builtin_x86_defs[] = { }, .cache_info = &epyc_milan_v2_cache_info }, + { + .version = 3, + .props = (PropValue[]) { + { "overflow-recov", "on" }, + { "succor", "on" }, + { "lbrv", "on" }, + { "tsc-scale", "on" }, + { "vmcb-clean", "on" }, + { "flushbyasid", "on" }, + { "pause-filter", "on" }, + { "pfthreshold", "on" }, + { "v-vmsave-vmload", "on" }, + { "vgif", "on" }, + { "model-id", + "AMD EPYC-Milan-v3 Processor" }, + { /* end of list */ } + }, + .cache_info = &epyc_milan_v3_cache_info + }, { /* end of list */ } } }, From patchwork Fri Feb 28 18:07:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 13996885 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2081.outbound.protection.outlook.com [40.107.243.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0BE301A2554 for ; Fri, 28 Feb 2025 18:07:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.243.81 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740766073; cv=fail; b=Hh62DSfT18z4nACsR3AC7r5intKqMpSncNareab8lo25qhNeAzvFs9xGMXtuTgvPO1UWj60XcCOQ2pUIvHkV9Yg+gLk+xVbzJICvd+xs8VJXBSxD36GBX/enq7CZNCYd8TvmUs2yCaqVvX3fginanj52cLbE0+ixfYqpSTGVo0M= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740766073; c=relaxed/simple; bh=Iup2AS35qdX4zpG3Ff2UBEsLFYONYZlsU6xvbevxmRA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=jUHuWdbZ6IhcYZn2vQ8iWGDG5hAtSu10L3ihcGWrrvmnif2oXqFmTRLQ45gXitbKjFOzAf+LleGXlR/ys5nSI7Pqv5yMuvl4+IaqfgrrH+XgkUE3TCp8mDwZ181V9SU77DN7GLRQbkk6YzfCaLsrxmY8uDe+Fy1rk0FvAQKncDs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=N8FgZjBf; arc=fail smtp.client-ip=40.107.243.81 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="N8FgZjBf" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NaVXm7e40vJc35Di5x8WGrBxu9gisEU+WgOCoHbze3FihHRESFaRKrlmYLZOovZQLJmzCAeMr2VJuecMysHpvQV31yA4TGX8uus5VL1+wNavivlKXj8g2SI7RT7oipBrlqWnYU8H3hlRCAk8GPtu8VSLCECuTEugr2fh8FxvZXRN8Rq6Ia7IHKCEpPvLHpbSzj1Yt29fjN0najrqSiG0eJmVDuDiOrxFsXERaXFv64qbh3tNYGn/Z92PmV2r3ctse9WIeSGobd1dOnthoA5JTJPYuwJZPpv0KEY0n0aMsEFRr+h0ctxNIQGQpXjLVDDwqte6jh8MU8fEe/bMzuREog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=EUOALKLUD8axTq0POgFoFfDRxoMGmZUQID+WE5kjQcg=; b=cjzJ34FZ3ecQMCYyTWdGJACdmebpWM6clvlJC0EtHb1ySMeYete9ZtmwCT1RAaSOT0ZijuqPRpB6rVHbteh/vmLB+Gtj8p7oH3tMyFhVquSHtY1JinAmq8YtYweM0JPBOnKKJ/a0x87YKfxnW7CuYpvv5bUtSiX1vLh8LdwifJPiN+rD4S9Lm2tKHMENdnL3MQfix7THR0jMFhrzk3wdZBBsXz1HnuB+HGeM78In5nMME0Utx2i6CIlW300bc6057F2kqU3CANOIKGMtXLXIXdQkmu7/GkBWckkLY7ZB12B4oTgbf1PnI5FK0l7SjAB5YEZbUiXHK7A9zA+BnAI8wg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EUOALKLUD8axTq0POgFoFfDRxoMGmZUQID+WE5kjQcg=; b=N8FgZjBfZkAtntCYGV0a1udLYIZBpRq2PRQpiq0jsJ6Banr0a4Mk3vmi/bJX2PIFNIn3ohv+L5AzfWu5G6rQ/BRLQUYtNfbwXy+9Tq4aAKdvDbAqvO4j4EJ5W/OOaNSf1WIp2+RXLe0LXjYei3z46sDFRW/fUarww13RG3mC+aw= Received: from DM6PR13CA0028.namprd13.prod.outlook.com (2603:10b6:5:bc::41) by DS0PR12MB8245.namprd12.prod.outlook.com (2603:10b6:8:f2::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.22; Fri, 28 Feb 2025 18:07:47 +0000 Received: from CY4PEPF0000EE3B.namprd03.prod.outlook.com (2603:10b6:5:bc:cafe::ee) by DM6PR13CA0028.outlook.office365.com (2603:10b6:5:bc::41) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.9 via Frontend Transport; Fri, 28 Feb 2025 18:07:47 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EE3B.mail.protection.outlook.com (10.167.242.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8489.16 via Frontend Transport; Fri, 28 Feb 2025 18:07:47 +0000 Received: from bmoger-ubuntu.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 28 Feb 2025 12:07:43 -0600 From: Babu Moger To: CC: , , , Subject: [PATCH v6 4/6] target/i386: Add feature that indicates WRMSR to BASE reg is non-serializing Date: Fri, 28 Feb 2025 12:07:04 -0600 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3B:EE_|DS0PR12MB8245:EE_ X-MS-Office365-Filtering-Correlation-Id: 44748ea4-78c1-43f2-77a3-08dd5822ce8c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026|13003099007; X-Microsoft-Antispam-Message-Info: MCJ6HEbyx3DGI74i8SJzG/x5lMca4Vqn1HlwY3ufQm3rgZBOT7e5Ap5lP8oC3PG/Mr+ARvBTILCB6NqTeoFqa6BLxvZo/lPAHCb1M4jB6lZhf7g28pDtPKdTpOQGLm0FmE8vxEtibRkUYKRnaQqz3Rciu4bpQ+oOaSAartJ/XJY0v/3ktf5KE0mcqRpqE1idqQ5egCY0d36Tj/qd4oVlpD3Q7sZypYDyKeyJpixyURblGJhglKiTfkbrSIexZglUcwMLuGKH1QlXaGTbYF2bZZTEAVLDgWFJNk47TnIV+be1JncKHKmtWzLYB74MmdN+08BvLM9UmhpUr+atJBF09yzVwHtedc73XvZsSZw88AhtIB6I4Wzax4hZCIrf9sxjUMDydTLQHcG18QI+omDIg0F3yTvkbQcDswyCb+idmy32dYwtbc3W0v2l8faLzj7WSuxj9dtXjI+pX4V6KFDtjlwTViV8emGJXCjS4U3C46OjmKjfK0N/Sqdi1Jgsof3xOlQLiUohE6pdkrkAdZ+fC2qQRgEK9Ov6SYpytqnGF5muqWOafZqlbZh6bPivKDYkrFI5sIDrs8dy9Z2r64QcLVHn9/iT0N6S0ouFCRHqcKvDAuyIcuJGp7lFGFkUDDJT8aplSZQoiv7E+glIxaeLO8yAoJR0rOXsn7aZn7LEMdagCld3wyNsEiwPz1YGjGWy5ofwxMyGBo7JAfA/h32PmSRHG1B/yaG1Td4PXRO1GamFHgJIB99CLeg1OrQd/JYqm69oPTSTY3H2UFlFxuO6q0xRf7cqZ6yuDsEnYQdxonHkZpFBdftGElxhbnSX/BcIvwcOyRH4OYcS47uag2r5tGRyELqBUya7cWv8hGZMIOJ/VWNWZzblI6159i97qBx4E8kZKjOfXdDvgg8okMpDlUi3FvyuPnWYBj4re71G4YUz2I4mVhe4bzo1SYcPz9fXWIQ4lEsGtc0M1PCusslHar78L2uv9qKWQ67Z3qYyWweJ3cHLdghpaSvt63qU70aK1bzMt4v3DwTknUaIRmUiD98WADq4TuJrFgHcZUDyw+gkDdl6nxt3XsolRGJOkGdfXTFWp/5pzl0jJ0zES0CBari5r4AiOsWfs1zRs3Ne4otqQLY8nwqYsgJ2YiYqmvpH2bcm3ZvXJJPMxX8xX0QpgaJW3f8bZN3fP7e1mvxZqnyDJNENrh4/vTgQfPtKsHHA1IUI2EHoAoLAbmaUbfALjnDDqTg6yGN1lyvNziAqYebpEhpcsrz1Z8/BV7hSnWfOwI1KfAXmxqu+y0+nb70/59bc5e/bTuKn8s25SFH6FQqYDhIJEsGFzCO7YcdBwO0bW5NxdQgvfiUxPVhAvGRi++PITEg0R+ofM37I5JYN1ma733rIklz3gcV1hpE3qMy4i5+hAAsVDxq0swSUazjLzD1mOihYWcM27uW3KL8uaPQs20JW88aqpCnrvwFO7shs2Q2ohCrC5BA0uM1TSPFh5uNfm2ZnKD3ITZPldgpoXyg= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 18:07:47.2360 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 44748ea4-78c1-43f2-77a3-08dd5822ce8c X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE3B.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8245 Add the CPUID bit indicates that a WRMSR to MSR_FS_BASE, MSR_GS_BASE, or MSR_KERNEL_GS_BASE is non-serializing. CPUID_Fn80000021_EAX Bit Feature description 1 FsGsKernelGsBaseNonSerializing. WRMSR to FS_BASE, GS_BASE and KernelGSbase are non-serializing. Link: https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/programmer-references/57238.zip Signed-off-by: Babu Moger Reviewed-by: Maksim Davydov Reviewed-by: Zhao Liu --- target/i386/cpu.c | 2 +- target/i386/cpu.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index a5427620d0..7a5c5da0f1 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -1234,7 +1234,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] = { [FEAT_8000_0021_EAX] = { .type = CPUID_FEATURE_WORD, .feat_names = { - "no-nested-data-bp", NULL, "lfence-always-serializing", NULL, + "no-nested-data-bp", "fs-gs-base-ns", "lfence-always-serializing", NULL, NULL, NULL, "null-sel-clr-base", NULL, "auto-ibrs", NULL, NULL, NULL, NULL, NULL, NULL, NULL, diff --git a/target/i386/cpu.h b/target/i386/cpu.h index c67b42d34f..968b4fd99b 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -1074,6 +1074,8 @@ uint64_t x86_cpu_get_supported_feature_word(X86CPU *cpu, FeatureWord w); /* Processor ignores nested data breakpoints */ #define CPUID_8000_0021_EAX_NO_NESTED_DATA_BP (1U << 0) +/* WRMSR to FS_BASE, GS_BASE, or KERNEL_GS_BASE is non-serializing */ +#define CPUID_8000_0021_EAX_FS_GS_BASE_NS (1U << 1) /* LFENCE is always serializing */ #define CPUID_8000_0021_EAX_LFENCE_ALWAYS_SERIALIZING (1U << 2) /* Null Selector Clears Base */ From patchwork Fri Feb 28 18:07:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 13996886 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2078.outbound.protection.outlook.com [40.107.101.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B9CA42702A5 for ; Fri, 28 Feb 2025 18:07:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.101.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740766079; cv=fail; b=LQn22IOJFssCTNBriVwVKs1WplhNWa0lcdw26lR6tBQSlgSLGRKHjop8INGQkh2qBsuKm4ICDCOANueUt93PjShIzbet1zikSCsJC+6Bszszp19/Dv143SwdX5sUpRhteJXt4cd+oRn5DX1+MJenPyZrQNtuPzm+Lp5mDUyG+Ms= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740766079; c=relaxed/simple; bh=BMBxm58PMUKOE4BsRDWpc9XDl2VUy95oV4RzZpO0is4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=UnnGGOrgr5TfQuL1Y9Qrcl8RyJcvDR2+z0OFTp1yLZZbIuHYPHjgu8NKvaIs4N/DI3vzBfSropXgjTS0XbOqkYGIwUIA6/6MPtvw2G5nQhrHoV6T0TP2069Lo1ej+EcrZeRKSmNWkpW0mqPPNiZiDn5OVkTlDGjG1oHmapYQA2s= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=morb66GO; arc=fail smtp.client-ip=40.107.101.78 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="morb66GO" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=if43fOTNEU9thHkeCwIZNv9ATIT0Y76cTWrbp2mRNkEn4F6p8ZHv21GbdyGpyTIWYP5XdAmLRiaF2gHVkPQMIYXYCTT+6tcOMZA6YqmDtXEFzKEEUjj0LZEhDtz7m+ll6ipe31WmQIG4nYcBD9f9e6fbwdg8QJhSHgl24qDXK8wuHLsv6UgAIap93oJQ3VMGzXKErADCshdOInwT1dF9kLnsOcCj8BxICMYXZ7MXtM0JN6QHW6M/FsvmaG7KrTu56OZLXJmb/AOxxHoLYPoaZkf/b4Aj9/a8QJi0AQETqNUQa6+pQyCaucv0zxex1+3iw6evP4smQ8gGzzrh3d9i4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CpHTQFBSlcBx0vaqV0qTiPHgAgB1EQIBkdtWUxW2+Ug=; b=UVQTsk3tiUzfKaQfHZmDMhgqFlHad0830fZ4k8CZ8Z3DxIcIduPXVkW+C40KyO3UBpXTOsxfM6TgAxjBgKN41OSnzpPUcbI8My8K1QwD7v7rwTNS0HHT2fqq6OtYN/RDk0f1Tjj+IwpACdibETAOvcyVAKKfYszuTe7FXwD8PFH56lMOw5SW0bFQsc8erk+/mAZF+WZ+2PayLo9zN642jhtpqfwLnZxnfjyLK2PrRSKzx1tdcECEULSjxfX7lWdwVnVQHf3ww3u53aAPF/TAXptfpZthNOCh+qDL8248rfXcxr5LspT5aZsSlx10fIi0/yzy3vA0fmH8EuhGhUF9ow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CpHTQFBSlcBx0vaqV0qTiPHgAgB1EQIBkdtWUxW2+Ug=; b=morb66GOy7k7Vdj+bRLCfrOJCzyKlQJp8BWKZUVhSva046BRDy94z2ThCBpVjFnPCk3cxO8bvtNvMtqrdPcNSKYai2/19GiuSIXxDcQiIhxNZYZ9gkZavR5vSA/nlf9RyS3+onUvBlT+yUkVqLAwY1KtxkHyGXjkjtV5SMxjn+Y= Received: from BY5PR04CA0024.namprd04.prod.outlook.com (2603:10b6:a03:1d0::34) by PH8PR12MB7232.namprd12.prod.outlook.com (2603:10b6:510:224::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.19; Fri, 28 Feb 2025 18:07:52 +0000 Received: from CY4PEPF0000EE38.namprd03.prod.outlook.com (2603:10b6:a03:1d0:cafe::a3) by BY5PR04CA0024.outlook.office365.com (2603:10b6:a03:1d0::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.21 via Frontend Transport; Fri, 28 Feb 2025 18:07:52 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EE38.mail.protection.outlook.com (10.167.242.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8489.16 via Frontend Transport; Fri, 28 Feb 2025 18:07:52 +0000 Received: from bmoger-ubuntu.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 28 Feb 2025 12:07:50 -0600 From: Babu Moger To: CC: , , , Subject: [PATCH v6 5/6] target/i386: Update EPYC-Genoa for Cache property, perfmon-v2, RAS and SVM feature bits Date: Fri, 28 Feb 2025 12:07:05 -0600 Message-ID: <6be1c5cbe1717d9d62b30db49fcb480f1e8f9d33.1740766026.git.babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE38:EE_|PH8PR12MB7232:EE_ X-MS-Office365-Filtering-Correlation-Id: d9ff6538-24c3-4e11-de79-08dd5822d16a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014; X-Microsoft-Antispam-Message-Info: HJtSgmYBBYXc8wPLTlW1LnMDgH2ImYYrDE8wLyFwOUDqZzJjoxjz8XuJONuFMzaVLlXUQPSNuAwMC+6GSaGdYc0XJ6/eTSv55etV0u5Pr29yjrqHAD7CyruuqXN9RY3ZMtFnzU5pqSFS+dfMH5/UizGGgBKRxv7H1um3jKrEuBqNAoILEB9ysIxbmSSshv2NU/xts/MiNOALv+d78/f3iPP8tX6y0CWq1xd9K/OzWFzL2wYp0bIjogDdFyLE3Rdj1cAqZVPuOnQ3Us4ylI30EoM51cpOF7ngneIj35vLjWKVWpnnJoZTvvwAD5hh77FdT0MstVF5b16O57AeXOvcA4tAzlWN50Hhmdq3i65EtjyP0JVL6zMLdArxewtKmXxOvIrB2zjj3hxuPRn++E5GpRYEvqdfuw18J7klf/q+5vn1JTp3eBlPAzx86k/WHgf2SmqwBfLvUhYC8jI9w9O9Z3WvoLmM9S+ZX7PbAKvWOTsSDzVsutLBQ6ubATwo/2QfoXc54bsnAWvKxZapBeKHbRbLtme53cXnpbN+v0o8bVq0VAum2gnOJx+uE2x5IVLNXfykb456PescqKmpCDHLaeKZWk56jFm1K5wwyDMLcCc9igdRZiRMql9TjiMhtDqGo7RG/LD5ZylcRM0LTX6rUb9uRovSK1R0AAHPDvxKKp/m+ZhN0q8j1k9wsjHRWjMxzmMNijs5RAT8cUKEAfehwjW4ONROCciQo1JZQhHi0Rk85iPHSOK8Ub5i5E1G0zitRBmh8AkNjvmZCKFkXb1X55QzkMxnkmf8wBfqJtD74UphH7jRUA67WkErnSiBIB/q6fWGtXhUMaT2KuYScsvxQWVYl3duz6GOlfh0A4zml5kgvh6IiFuRGTS14x7cWnK+yNSaYktm1fOnB4lXpfyRElNLYoTELFnugutSDMrNkvjng2ffxyEIJJgTljfy1oFK5cGfKmFqrpEkDZTLHmJWCTFFdzsu6Yxv7oQrrgc9L3njOW63+eHUuLcB6VRYzx5ftfdgEJABvWRycNGveuHYjfGTaumSf8jFUNZSgSem1Fod/HaoSdosVIwhGVzh6s1rdhadVUBp/MInQmeQ7nSUPOgGbq5n80JPsofYj7MopFXpvRRxpjsGB/kX7Y+kdsRvgg/VeW1rIMUkgK1ErHDXpediP/V8xCzzqWnMeKoXBTXXZQUxaRgwF+EHLq+S3ZV+GYiK0cGNwF4ilyYw2xP5f0FOTpMn24TcQpftB9OyYtpbWwj5L9TAGqABUdaUddhcOf9qefju4Ens1JtJ5jEzY/rp5388ps8DJRxfrhx0ZwJxxTqInc/Q45lwAXpB3fYWQSXGhNczZWCH55hiPRxV3kExo5rfOrlHguO/vZfmMYsNohKmWrnPD009TOIVwQUkh9SeeviGpd07RSJtrRo9PvKX10KQN75+z8BgLrc6hWSJwhuN7Jll9294ARuqTRG1 X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 18:07:52.0490 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d9ff6538-24c3-4e11-de79-08dd5822d16a X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE38.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7232 Found that some of the cache properties are not set correctly for EPYC models. l1d_cache.no_invd_sharing should not be true. l1i_cache.no_invd_sharing should not be true. L2.self_init should be true. L2.inclusive should be true. L3.inclusive should not be true. L3.no_invd_sharing should be true. Fix these cache properties. Also add the missing RAS and SVM features bits on AMD EPYC-Genoa model. The SVM feature bits are used in nested guests. perfmon-v2 : Allow guests to make use of the PerfMonV2 features. succor : Software uncorrectable error containment and recovery capability. overflow-recov : MCA overflow recovery support. lbrv : LBR virtualization tsc-scale : MSR based TSC rate control vmcb-clean : VMCB clean bits flushbyasid : Flush by ASID pause-filter : Pause intercept filter pfthreshold : PAUSE filter threshold v-vmsave-vmload: Virtualized VMLOAD and VMSAVE vgif : Virtualized GIF fs-gs-base-ns : WRMSR to {FS,GS,KERNEL_GS}_BASE is non-serializing The feature details are available in APM listed below [1]. [1] AMD64 Architecture Programmer's Manual Volume 2: System Programming Publication # 24593 Revision 3.41. Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537 Signed-off-by: Babu Moger Reviewed-by: Maksim Davydov Reviewed-by: Zhao Liu --- target/i386/cpu.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 7a5c5da0f1..b9109b7e79 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -2612,6 +2612,59 @@ static const CPUCaches epyc_genoa_cache_info = { }, }; +static const CPUCaches epyc_genoa_v2_cache_info = { + .l1d_cache = &(CPUCacheInfo) { + .type = DATA_CACHE, + .level = 1, + .size = 32 * KiB, + .line_size = 64, + .associativity = 8, + .partitions = 1, + .sets = 64, + .lines_per_tag = 1, + .self_init = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l1i_cache = &(CPUCacheInfo) { + .type = INSTRUCTION_CACHE, + .level = 1, + .size = 32 * KiB, + .line_size = 64, + .associativity = 8, + .partitions = 1, + .sets = 64, + .lines_per_tag = 1, + .self_init = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l2_cache = &(CPUCacheInfo) { + .type = UNIFIED_CACHE, + .level = 2, + .size = 1 * MiB, + .line_size = 64, + .associativity = 8, + .partitions = 1, + .sets = 2048, + .lines_per_tag = 1, + .self_init = true, + .inclusive = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l3_cache = &(CPUCacheInfo) { + .type = UNIFIED_CACHE, + .level = 3, + .size = 32 * MiB, + .line_size = 64, + .associativity = 16, + .partitions = 1, + .sets = 32768, + .lines_per_tag = 1, + .self_init = true, + .no_invd_sharing = true, + .complex_indexing = false, + .share_level = CPU_TOPOLOGY_LEVEL_DIE, + }, +}; /* The following VMX features are not supported by KVM and are left out in the * CPU definitions: * @@ -5713,6 +5766,31 @@ static const X86CPUDefinition builtin_x86_defs[] = { .xlevel = 0x80000022, .model_id = "AMD EPYC-Genoa Processor", .cache_info = &epyc_genoa_cache_info, + .versions = (X86CPUVersionDefinition[]) { + { .version = 1 }, + { + .version = 2, + .props = (PropValue[]) { + { "overflow-recov", "on" }, + { "succor", "on" }, + { "lbrv", "on" }, + { "tsc-scale", "on" }, + { "vmcb-clean", "on" }, + { "flushbyasid", "on" }, + { "pause-filter", "on" }, + { "pfthreshold", "on" }, + { "v-vmsave-vmload", "on" }, + { "vgif", "on" }, + { "fs-gs-base-ns", "on" }, + { "perfmon-v2", "on" }, + { "model-id", + "AMD EPYC-Genoa-v2 Processor" }, + { /* end of list */ } + }, + .cache_info = &epyc_genoa_v2_cache_info + }, + { /* end of list */ } + } }, }; From patchwork Fri Feb 28 18:07:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 13996887 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2051.outbound.protection.outlook.com [40.107.93.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 841C426E140 for ; Fri, 28 Feb 2025 18:08:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.51 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740766084; cv=fail; b=bsKFEKg4iAfOA1JtbhQdd83kqR5vyyCF8TRWOjHyagjWmDQgllQO7K0AM+zsW3lc40nZi1J4yu/hJ11rUEeZrdsywgUo+V/b7ghwilTBKkTawE0dLXEH5nONjqV1IvkUpg9C6a0ibkxqBGmvyI6TR9lRI4So1btSfFq/+UBKHO0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740766084; c=relaxed/simple; bh=oHJ8AJUXCTUow5wQkuXxEen/dL9z8MVRSb96UInSs5A=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tzap4KvROIj7VvmvGpKDl+gA7mm/Wk6Tl1IOeCSsOUO/KILdTxtcCoUNtjQNgCLByQQmH9Z1w0gx+1BfYC1JONGHynMCBniQR6HSupzul6aUcjMBPOm45A5U9Nz9bvH6QYlkrWyKXwPyOWfRvFvrpaOyxz4IuXWH28YuLW6J1vE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=LCgrz6ME; arc=fail smtp.client-ip=40.107.93.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="LCgrz6ME" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XhB85ZaLUXzEtJJrpL+opuLFeNIi3d7SdkYAujjA/1gPssdHtnA7SiXhNV1Q5Q4Lz+TW4jWVHc4igLKheuVFaU976tEmwCKrVxs7asGBmVbqz+b2WbtxStBBkw25ceIB7n+lpQIIHoHHwUJ5zfPjuzb14V15txon35CoxVud7dYYqcihD0OiwSKultM31hX/qX7PZqy2FF5h1frc34FNMeBiv3pwnBcfc9YYa1IZZjTNQG72W2bDYqoI7PX+4JSA8+LKhecacAQCCLPmBRurbqDdYs0RBtvKN9dQRlYOmh4v3AVDir+hMqbrLll9OwPkITKQkouAkyZ4LmdEwFCMBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=aVeULQ+Eb8fvVEv9FUxZ/7bE5TjiFYthpnLAE5e7kvU=; b=tawIzD+qkmXt+hykkhUOYKFTVHnM9pxzGKma5my+YONBVmHIJq5kBjZVOiuaziLSp3HftxIHry7mGvFgHvYM8o69oGG0nxgYeC9Yn9btZjQrbdxqmBiOE44tt7iC6Kwhqujp5yRblXharTKOnBF9I2ELL05f86hyl3ZxPTUxfZcXXcCCMNR+qADR4S6uIbA5MhJdoYpuWrSLtLk2BIF9RtcHf2y2R0mtSTf3meFXfUDR0wKBWufvSwnFvmfe3UMySz/uicIgfgfL5hXGAGpFAp38MTdqya8HKsL7LfhqZyxgUsBJRq6dU1dvbJ8sPgjuLlM+PLN/r3XoLB5tiADxVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aVeULQ+Eb8fvVEv9FUxZ/7bE5TjiFYthpnLAE5e7kvU=; b=LCgrz6ME1G3zmoVy8zvH9Z4ESgxxCg2wQkWciIsoabcYlGuuW4C/Xzqy8ddicuWWIdBUD6/K42RzbGHgokicvKsrCc8c+Y3mbf84iloRE1KT+uKgEY/FyNmG2I4ZRVbxD5xGUNaIe7bLeQEoGS2GrI2y5pg1Do6ylqblZmdil30= Received: from SJ0PR13CA0123.namprd13.prod.outlook.com (2603:10b6:a03:2c6::8) by CYYPR12MB8872.namprd12.prod.outlook.com (2603:10b6:930:c8::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.20; Fri, 28 Feb 2025 18:08:00 +0000 Received: from CY4PEPF0000EE3A.namprd03.prod.outlook.com (2603:10b6:a03:2c6:cafe::a6) by SJ0PR13CA0123.outlook.office365.com (2603:10b6:a03:2c6::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.10 via Frontend Transport; Fri, 28 Feb 2025 18:08:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EE3A.mail.protection.outlook.com (10.167.242.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8489.16 via Frontend Transport; Fri, 28 Feb 2025 18:07:59 +0000 Received: from bmoger-ubuntu.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 28 Feb 2025 12:07:58 -0600 From: Babu Moger To: CC: , , , Subject: [PATCH v6 6/6] target/i386: Add support for EPYC-Turin model Date: Fri, 28 Feb 2025 12:07:06 -0600 Message-ID: <51b0e6fdd7caafd365f3a0f38a177920c7a167c5.1740766026.git.babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3A:EE_|CYYPR12MB8872:EE_ X-MS-Office365-Filtering-Correlation-Id: b7855d33-e65d-4f50-4397-08dd5822d603 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024; X-Microsoft-Antispam-Message-Info: O4a8zIBuWfV2zBesqvZizN+zPFc1uVvNoNV97uZHygLs4VX1rs/62ImGLZwh8gYRwBHuh4aqJPVQQVwOqV9P1MQJiEzPuwQKs/H9tp/IT146O/tiRIlsTiGObGIqz8mGfAYQr0iZOOOdIP/RQnEjekKCzsyN1yh43L9zOwQ/fLKl07slwFFDZsIQeJuwAhUcGUbm2hTufGL4MlwlM9jml91Q1ElUeEAQVAb/AwkHvud7kJ98dN6+Mo5LHQcxyI3Douv9498n17QhmyinxS4406o+VMWZB726G88D3MuIAHPc+pWqJArBTecFbrmhTiwYCpMVR8vOYOmspL3OZOpK5CvOESVMj7TJtw8LRNuGAMR69+p49sk979ffZ1RHFajDsPz4BshTziMH11O00sKrnLcclgMCMVz1MlenBpH3fUHBd6WaFbrw6kf/wlRB0xcIgdJqlA8RSeIaiFKI+U31xKUynM86Vjn6t5SoLlVDT3ML3jCxx3E54ITr15LkOFFLXCvPxX3SIZYHnuajd+oZtvGSzpZSn4UfX726pQVbbAoUOp0NtLelgJ/LMmiF5bbO6imaLR5w5/fseFToExS5wpwJB1X9wtzVRXppERhI00pjRWXJ8C1vWe9zI/2/DWXWbw8aPUocmSUaZFyo4cO77Hc+WCTuaHIbAZFxO6WXYdNRULOe2U7ck3pYCFTWPxCZFr2PXMiCCxaMpUnoYtRDKl3lUmM/fRpK48LgILmlpetuPOBYPDvTCc/w9plXNWkzo3q0L2QwMLZtRP7n6jtqGYM6ZpNR8LAQaOJN5HafLeOWe4/9wXNFKgm+XKz0sHvNfAKP7EIaCBseFWfA3up4yljQfGRLrFNq3z4KqPpyew7riV9/VyL/dAwWiPSXjydO4NBuwma+n8l+jGv/bNSIUOKuPIoqy+ZqXUs1ODWmZ7thkv/x3je4UkzfYh9zPZNBlX4W/ei3QTxxv/Zv/sNSWLXF9N2noZ1HDvdlaUytdvT67vKaXGuMuJ+vAcUvX/r7a2/n81wc7CM90WVF5RUTarvnUXvuYxa5mzSjXTVzNas938ySJEOiHW+k3gIuiexs8KCkd7wsWWwL9HeheKaFhFiaShn+0HOI+j386/LkIntGC/2olOD5ZwCE1DZNRIgeLwHdnSV15mlgHcEcBtK9+BhRPnrki0XftPOQ0TFgdIYRrV5U6ZJJ1rh8KEox8/T1snF+SkqwEzn0QuCTacupDt4IauXvdEE7p9EN4LOxg2PdmQNMjNf1L4KNyJnwveIzw302fKc9GM598q6pWx+AFcG1kp9HAmYk+QX3UgpLzmDwjhKLTPFJqem8Q44I+20MC12u7sfblryhj7op2+UIOQXlGEc+SODH5mCTBBCD4n4+WagMkNcdFiENaaRvG7IYoerz03FlF5G2yBNXCfU0q3lecLk8a8OlxLfxvDwzdNovFLSS41N3DP13oYriliWBob8vy36Yzlp9hyzhyJMgAGJvDDFPPmgOnvgVy1CELRk5ySOuYY6zoTzMtJphzAR+ X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 18:07:59.7586 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b7855d33-e65d-4f50-4397-08dd5822d603 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE3A.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8872 Add the support for AMD EPYC zen 5 processors (EPYC-Turin). Add the following new feature bits on top of the feature bits from the previous generation EPYC models. movdiri : Move Doubleword as Direct Store Instruction movdir64b : Move 64 Bytes as Direct Store Instruction avx512-vp2intersect : AVX512 Vector Pair Intersection to a Pair of Mask Register avx-vnni : AVX VNNI Instruction sbpb : Selective Branch Predictor Barrier ibpb-brtype : IBPB includes branch type prediction flushing srso-user-kernel-no : Not vulnerable to SRSO at the user-kernel boundary Link: https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/programmer-references/57238.zip Link: https://www.amd.com/content/dam/amd/en/documents/corporate/cr/speculative-return-stack-overflow-whitepaper.pdf Signed-off-by: Babu Moger Reviewed-by: Zhao Liu --- target/i386/cpu.c | 138 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index b9109b7e79..081a7f0c0f 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -2665,6 +2665,61 @@ static const CPUCaches epyc_genoa_v2_cache_info = { .share_level = CPU_TOPOLOGY_LEVEL_DIE, }, }; + +static const CPUCaches epyc_turin_cache_info = { + .l1d_cache = &(CPUCacheInfo) { + .type = DATA_CACHE, + .level = 1, + .size = 48 * KiB, + .line_size = 64, + .associativity = 12, + .partitions = 1, + .sets = 64, + .lines_per_tag = 1, + .self_init = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l1i_cache = &(CPUCacheInfo) { + .type = INSTRUCTION_CACHE, + .level = 1, + .size = 32 * KiB, + .line_size = 64, + .associativity = 8, + .partitions = 1, + .sets = 64, + .lines_per_tag = 1, + .self_init = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l2_cache = &(CPUCacheInfo) { + .type = UNIFIED_CACHE, + .level = 2, + .size = 1 * MiB, + .line_size = 64, + .associativity = 16, + .partitions = 1, + .sets = 1024, + .lines_per_tag = 1, + .self_init = true, + .inclusive = true, + .share_level = CPU_TOPOLOGY_LEVEL_CORE, + }, + .l3_cache = &(CPUCacheInfo) { + .type = UNIFIED_CACHE, + .level = 3, + .size = 32 * MiB, + .line_size = 64, + .associativity = 16, + .partitions = 1, + .sets = 32768, + .lines_per_tag = 1, + .self_init = true, + .no_invd_sharing = true, + .complex_indexing = false, + .share_level = CPU_TOPOLOGY_LEVEL_DIE, + }, +}; + /* The following VMX features are not supported by KVM and are left out in the * CPU definitions: * @@ -5792,6 +5847,89 @@ static const X86CPUDefinition builtin_x86_defs[] = { { /* end of list */ } } }, + { + .name = "EPYC-Turin", + .level = 0xd, + .vendor = CPUID_VENDOR_AMD, + .family = 26, + .model = 0, + .stepping = 0, + .features[FEAT_1_ECX] = + CPUID_EXT_RDRAND | CPUID_EXT_F16C | CPUID_EXT_AVX | + CPUID_EXT_XSAVE | CPUID_EXT_AES | CPUID_EXT_POPCNT | + CPUID_EXT_MOVBE | CPUID_EXT_SSE42 | CPUID_EXT_SSE41 | + CPUID_EXT_PCID | CPUID_EXT_CX16 | CPUID_EXT_FMA | + CPUID_EXT_SSSE3 | CPUID_EXT_MONITOR | CPUID_EXT_PCLMULQDQ | + CPUID_EXT_SSE3, + .features[FEAT_1_EDX] = + CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | CPUID_MMX | CPUID_CLFLUSH | + CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | CPUID_MCA | CPUID_PGE | + CPUID_MTRR | CPUID_SEP | CPUID_APIC | CPUID_CX8 | CPUID_MCE | + CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | CPUID_DE | + CPUID_VME | CPUID_FP87, + .features[FEAT_6_EAX] = + CPUID_6_EAX_ARAT, + .features[FEAT_7_0_EBX] = + CPUID_7_0_EBX_FSGSBASE | CPUID_7_0_EBX_BMI1 | CPUID_7_0_EBX_AVX2 | + CPUID_7_0_EBX_SMEP | CPUID_7_0_EBX_BMI2 | CPUID_7_0_EBX_ERMS | + CPUID_7_0_EBX_INVPCID | CPUID_7_0_EBX_AVX512F | + CPUID_7_0_EBX_AVX512DQ | CPUID_7_0_EBX_RDSEED | CPUID_7_0_EBX_ADX | + CPUID_7_0_EBX_SMAP | CPUID_7_0_EBX_AVX512IFMA | + CPUID_7_0_EBX_CLFLUSHOPT | CPUID_7_0_EBX_CLWB | + CPUID_7_0_EBX_AVX512CD | CPUID_7_0_EBX_SHA_NI | + CPUID_7_0_EBX_AVX512BW | CPUID_7_0_EBX_AVX512VL, + .features[FEAT_7_0_ECX] = + CPUID_7_0_ECX_AVX512_VBMI | CPUID_7_0_ECX_UMIP | CPUID_7_0_ECX_PKU | + CPUID_7_0_ECX_AVX512_VBMI2 | CPUID_7_0_ECX_GFNI | + CPUID_7_0_ECX_VAES | CPUID_7_0_ECX_VPCLMULQDQ | + CPUID_7_0_ECX_AVX512VNNI | CPUID_7_0_ECX_AVX512BITALG | + CPUID_7_0_ECX_AVX512_VPOPCNTDQ | CPUID_7_0_ECX_LA57 | + CPUID_7_0_ECX_RDPID | CPUID_7_0_ECX_MOVDIRI | + CPUID_7_0_ECX_MOVDIR64B, + .features[FEAT_7_0_EDX] = + CPUID_7_0_EDX_FSRM | CPUID_7_0_EDX_AVX512_VP2INTERSECT, + .features[FEAT_7_1_EAX] = + CPUID_7_1_EAX_AVX_VNNI | CPUID_7_1_EAX_AVX512_BF16, + .features[FEAT_8000_0001_ECX] = + CPUID_EXT3_OSVW | CPUID_EXT3_3DNOWPREFETCH | + CPUID_EXT3_MISALIGNSSE | CPUID_EXT3_SSE4A | CPUID_EXT3_ABM | + CPUID_EXT3_CR8LEG | CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM | + CPUID_EXT3_TOPOEXT | CPUID_EXT3_PERFCORE, + .features[FEAT_8000_0001_EDX] = + CPUID_EXT2_LM | CPUID_EXT2_RDTSCP | CPUID_EXT2_PDPE1GB | + CPUID_EXT2_FFXSR | CPUID_EXT2_MMXEXT | CPUID_EXT2_NX | + CPUID_EXT2_SYSCALL, + .features[FEAT_8000_0007_EBX] = + CPUID_8000_0007_EBX_OVERFLOW_RECOV | CPUID_8000_0007_EBX_SUCCOR, + .features[FEAT_8000_0008_EBX] = + CPUID_8000_0008_EBX_CLZERO | CPUID_8000_0008_EBX_XSAVEERPTR | + CPUID_8000_0008_EBX_WBNOINVD | CPUID_8000_0008_EBX_IBPB | + CPUID_8000_0008_EBX_IBRS | CPUID_8000_0008_EBX_STIBP | + CPUID_8000_0008_EBX_STIBP_ALWAYS_ON | + CPUID_8000_0008_EBX_AMD_SSBD | CPUID_8000_0008_EBX_AMD_PSFD, + .features[FEAT_8000_0021_EAX] = + CPUID_8000_0021_EAX_NO_NESTED_DATA_BP | + CPUID_8000_0021_EAX_FS_GS_BASE_NS | + CPUID_8000_0021_EAX_LFENCE_ALWAYS_SERIALIZING | + CPUID_8000_0021_EAX_NULL_SEL_CLR_BASE | + CPUID_8000_0021_EAX_AUTO_IBRS | CPUID_8000_0021_EAX_SBPB | + CPUID_8000_0021_EAX_IBPB_BRTYPE | + CPUID_8000_0021_EAX_SRSO_USER_KERNEL_NO, + .features[FEAT_8000_0022_EAX] = + CPUID_8000_0022_EAX_PERFMON_V2, + .features[FEAT_XSAVE] = + CPUID_XSAVE_XSAVEOPT | CPUID_XSAVE_XSAVEC | + CPUID_XSAVE_XGETBV1 | CPUID_XSAVE_XSAVES, + .features[FEAT_SVM] = + CPUID_SVM_NPT | CPUID_SVM_LBRV | CPUID_SVM_NRIPSAVE | + CPUID_SVM_TSCSCALE | CPUID_SVM_VMCBCLEAN | CPUID_SVM_FLUSHASID | + CPUID_SVM_PAUSEFILTER | CPUID_SVM_PFTHRESHOLD | + CPUID_SVM_V_VMSAVE_VMLOAD | CPUID_SVM_VGIF | + CPUID_SVM_VNMI | CPUID_SVM_SVME_ADDR_CHK, + .xlevel = 0x80000022, + .model_id = "AMD EPYC-Turin Processor", + .cache_info = &epyc_turin_cache_info, + }, }; /*