From patchwork Thu Feb 6 19:28:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 13963628 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2061.outbound.protection.outlook.com [40.107.93.61]) (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 6042D19ABD4 for ; Thu, 6 Feb 2025 19:28:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.61 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738870141; cv=fail; b=IxocjXlKAbjDq3xs4cxNKzp10OVQkjB9i+EOH03Hau1oR3oS1pd5LPOh7m4MO3EMcbPD9wiTeyadwNkkUC+72RKvbvYBAEdPAyyPa0QMCMQ4/kGI+RU2shymRoaoBdd9gvpy/m/h7qOyS1nAqdsWfYg56fudbKVImT5pfzzm+s4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738870141; c=relaxed/simple; bh=kJ0YbHO7p9wOcjYU6GDlHaQARwAxXagdhxJUMW1g0/Y=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=j+asrSNCL2s83pDE0b8sBGo90A2Y4/MmPduJasLITQDBONP2toSoVktZoNzdx2pAUB8mmQoGNXA6D5fcf+a6Z16lJLKZQjFVoBDQBvekIpiEkVQtmLbFoLd9ji1uOk7n43wQ3uDmBX0RBpJrL4UTtT2+n1k35ZmeKfe5dIVwuKE= 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=lgaRqJ9K; arc=fail smtp.client-ip=40.107.93.61 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="lgaRqJ9K" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZBOS87oXBl1Oe/eroByCCynlc0M8C7ms3EjC+HaOXyr20IAOthKlp6YEnRFoZznF5kRv0jWXFM2KA+5t9cY5M0HhptQQo4L57B93zYEguKzE3x6pGL+twSTDVlxUDBuF0YhYZB9Xwh2PAvbc/NLyQUii7u68jka5GAw0qJ9tQZuQTsm8K5XOyFmlP70HflcgZm09+tFBx8Qhew69YP/9f26cqjfIFpWt4Pdc1rxuixsIYkx11l1HiotM9fNoDc6aVZQydDL2Nj49jS35dJa7LTReFpOE50lG+9wFpJ0ZKSyLJDI4ZCnAzVMr6KJuKTxvHS849eELf4Qae96AGiMmQg== 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=enr+DHDvQqAFRHWpl+NJ7W+NDyzzeyjea5PAjr3elMY=; b=EmYJEOAAhZEDta8I8pXYRTKj/aHkZQSTDq6GbAZNOw/yi/NgukT+PDjeapUy+3FExT3faBXcbx45G4/agSS+VTcCa78RREuzDFKu8AuazUKDx9DxEfQCXxYwcvYN5U3h7YulXO5PPbXegx+eZr34BIyVGd4xP3eiavsPnlpdbi01lvSJIz5MlOwmFzjvHvNmQ+fzCzjjuVB7/iQr+NL+s12TwH61P088hfZzyp6z1Yq0ma4DXdcvfphHfDObGNZYOja8C+BzlrWJMSPAGK2REvRt2zRELD7Q+v72XAX245MDINecZfAx0FSGxdBE+UgpRMGRBaV87V0DSiP9LwaIVQ== 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=enr+DHDvQqAFRHWpl+NJ7W+NDyzzeyjea5PAjr3elMY=; b=lgaRqJ9KyAG2PsKyMrBEAzBBc4Hh9LeqmJeNgtTRuFm6DPXJoLKy2KvVxvYDMSiTtj/NKyaM98ZkgE2hsJj9RGzIrltK5jcTneXM8DFU+hB/vkowxlnHObxgOOuXTq5Xe4E2eRvZM4BfGQqZe49ASJ8Jy7vt2sr4yP3PV0UWViI= Received: from CH2PR05CA0048.namprd05.prod.outlook.com (2603:10b6:610:38::25) by PH7PR12MB8154.namprd12.prod.outlook.com (2603:10b6:510:2b9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Thu, 6 Feb 2025 19:28:54 +0000 Received: from CH3PEPF00000012.namprd21.prod.outlook.com (2603:10b6:610:38:cafe::d0) by CH2PR05CA0048.outlook.office365.com (2603:10b6:610:38::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Thu, 6 Feb 2025 19:28:54 +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 CH3PEPF00000012.mail.protection.outlook.com (10.167.244.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8445.2 via Frontend Transport; Thu, 6 Feb 2025 19:28:54 +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; Thu, 6 Feb 2025 13:28:52 -0600 From: Babu Moger To: CC: , , , Subject: [PATCH v5 1/6] target/i386: Update EPYC CPU model for Cache property, RAS, SVM feature bits Date: Thu, 6 Feb 2025 13:28:34 -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: CH3PEPF00000012:EE_|PH7PR12MB8154:EE_ X-MS-Office365-Filtering-Correlation-Id: a444005d-e31d-4484-9560-08dd46e47e9a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014; X-Microsoft-Antispam-Message-Info: ukFxP/oiLw4uGNWGeWLwaSyi85sWHD0iEnpy6hiacBTWDMUUsJdgpsQiqoJbhQ0C43+QuknAAzzuZPJchTjt0CGrPI4IBgUSkqCZJgRKgqSq35mw0Ck+XUEkYcmpAZBhiq78lmbzSTLq5vGBYZrBYzUgbgnXnlaD5CnMVeUSJ7RBoFCJFatYzx1byeokqD+NnF9S3KsojaLAvS6dOlCbAsscebLrPlG12i6Yrq+QT+4F7d+IdWHHxPrU9w1TYo724bEmuf72zRLm7exUjH7XcK0ebsSjTKucmonjmfTmKUyTHyDsxAsfEjip1dKCAV86Qc2x0kScQ2On+1APYBT4jfsKDXLBsmrxK9vdn0dZ0pQ8jEHHQUhPvHLduki3TJWN6a6aHxbRtHkjBGXr2fgBFu03Kj2eSPShKCS/MvofRVGGU4xTZ59m0gFBZ35zOE3IH2IMTykQ4vn7xkttcjto5YGvkJco/bvTBPWDHH/FVxxoy7u3YfthoFEYbqIFHCBfF3ujDo45HOKDkliu2LidDaewGRMpjR1qGYOV0VYOGB8Xf55jg7dVU44uqLy/u90iQl4DCnzG5NfIjypyk62Gk+0Nl0NtEp/GmZJ+82G+iUkydEUyUV35cTgma5tuAtAq4j43QxvI9UyF1cuJvePbb0fCHf/nUQO0V2JOdKagmgUX7mAwA8idCtEz6aPbYcrcWIiGPbSjfN2rr7mLVg4XqxEmXRK+UGs+/SCpaFYzZuvNBiIFFtQ3qvGUiTmP3MnXFG2HxVfJate7/bzj2+9Fbq+0dS/7GLkDHVi3c71Hb/P40JOZ8vSWa+3JyBB4+1zMtpPmtWrN8exUfeVfnOjgE9Bkukkw6xTibhCibQ1C/86M4xGQuv7UeoYx6aWfck8f+U7Mb3b86vkuLrK2Gn16KPWg96wMnMJLK/R2y6YL2uO4D570iABXjd1D7za2jPOVaL18WlwQf0d281+iMYKbgA/r5KWU4DcBoJReUpUMwWKHB7dyHbim2sGupI3j28SN4CmjnCLyq6WVljhg/0iTfcbXIaX55KX7mbsLkwlBjbUWOZ+/wfOBX8jQvLnPoKFE1MkSZIQ/LeN2zNzhiM0Eu5BbsoJy9jiarhZV6KF42t5DVxLRjsim6gl0uVqX5yRuQxtvElIaQ39B9+es67eedxpWwb2CmjxcOVLOs5jNYZ5Xwz8CGDPyoM2DFv56W2D4eltYXjasWGvlnDTwKxYcELfNZs2PY2Nex/SiIgFzZOr7SYHD+Y80eeB12RoYnRHffJn+4VZMcLm8XXtYMmq179CQTqhcoI6kL488oKZPyb2L6XLJVpSAbl2o2ofsb3RrPP4wXPwXcnxEAqf167xUlV08HoNKHXAEwO76sCNAFZAHxPc9XMjosgk0zwerkdUKx6Xb3LuGuVlRbNG998jwRkWnEBxI3+B5Ff+y82ySinmAsvdmoMzwKEn0UxeicT+0hioCped0NmYLJhRiLtfZRqou/Tz2UX8lVTLrkQXUuKI= 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)(1800799024)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2025 19:28:54.6245 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a444005d-e31d-4484-9560-08dd46e47e9a 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: CH3PEPF00000012.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8154 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 b5dd60d281..94292bfaa2 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 = 1, + .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 = 1, + .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 Thu Feb 6 19:28:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 13963629 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2074.outbound.protection.outlook.com [40.107.223.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 21BEA1A5B96 for ; Thu, 6 Feb 2025 19:29:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.74 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738870148; cv=fail; b=tajbW5TzRgA5JTJDBXUei1HgX/Hw/rXbBWb1ERvxwKj43oJXaywNFuFfYMbLSNm2a/oGBMyN3SQdk130uAFJz9IobE/Bie7KG4nNjg38COXBpViFRcZs4vuEh0CFGYuTDSImse8+tx7e5ETdwi5/nHcOYcuSmo7TWKgFm/aVkBw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738870148; c=relaxed/simple; bh=GKOMXiEyDec7b1irHvrChAs7CuVxF67PLvz3/mzd5Vc=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=O8j7xpIvg9NEPdUNLOBwYW8K36IlxeFtb6g1TEQ9lNSe1VmfA8PXG4e62nbPUWjvbSU6RzPiD62oRbNvjxRDR+s3M1TVWQ8ujSvxXlIvDVVGxQiLVjP4FpWpjCJCd9un+TNL06PLxNvnsSIA2HCHTYOK88MikzYbvjNng5gSkyc= 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=pudBIbNd; arc=fail smtp.client-ip=40.107.223.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="pudBIbNd" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MKMWsvO+yk2ZSdVXYcnv8RMPWmnkWpwTnlGbW5lbhCr+6aNiHaCJeqwChR6XVUOfCcdDXraa0k84JlfkQo/ViE12TEBIxr9V0MEkNa38mGZPvrtrM/0XhjVsh+Sy9+a1tvuXWvoWLnjyC0SJhoDncUssqQ/Uvwg+UTK7nx/x6ayJ+CiSFxB0EF5M4YW2jX9QjIVxS3vdRa80U7QokFEiT/dkVKWJNq/Ywg7Gs4rJmlbdCNDP8moyktXXpweKv+XsoD6Eg9LpYtRImrVD3WJ62luGoOeHfnjdUHmMNkGGGWcV4O4IrubaWfmcwhY5FDeor7yP/bVzg8TvOkf1hHDEJA== 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=ga/T1i8IQJItMYvM8ZplQ8QieS1uvKo9NsII9ZUje0M=; b=MOa2W8IVWSbkPfXKPU55Nrv7L9b2A+75epjqVY7U+v7NpFVwc0ZRolrU4Sz+99WWakqPgYVi8z3d3ol5rjlOR8Wj//S8qV6kHO5b9ZWxKCo4GLn9Kt/kaf94kBVvvh2uYv9TJKOSL0HWl7S5ddtuA+Z5eUykwsgRhYQ13opIWQPnlXtONnokjY5G4/31s4Nqt4OfNG7MOpBcKXTRRvuVHKngmZYEJ+ogmfpsf7Kr2gpMAr3mLcWYHBnq2H8Uel0lBGuV0rHWDFxw48i1wPY/GZu5P8zcN0wBF+9iupbRpBTBLyAfTn5QN6O8Ehn2gOqgqUDJxLdKqau/6vIngGrd7A== 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=ga/T1i8IQJItMYvM8ZplQ8QieS1uvKo9NsII9ZUje0M=; b=pudBIbNduJzW69OeY8oErq7Ng3PwmOoWSx+rxnitIxKAgS+08Kf0SXAqrzy6aZqqGQDDBqFuKpY107LHG5+BB68p1O8+1Aj+7iCkglcF5oHhJFSGIJe6vbLMMxM5natWErIKD48bJQ7yVZ7kwwx7cnYVOvkZqUK0PUJLzPal2nI= Received: from CH2PR05CA0048.namprd05.prod.outlook.com (2603:10b6:610:38::25) by CY8PR12MB7612.namprd12.prod.outlook.com (2603:10b6:930:9c::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.24; Thu, 6 Feb 2025 19:29:04 +0000 Received: from CH3PEPF00000012.namprd21.prod.outlook.com (2603:10b6:610:38:cafe::5e) by CH2PR05CA0048.outlook.office365.com (2603:10b6:610:38::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Thu, 6 Feb 2025 19:29:04 +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 CH3PEPF00000012.mail.protection.outlook.com (10.167.244.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8445.2 via Frontend Transport; Thu, 6 Feb 2025 19:29:04 +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; Thu, 6 Feb 2025 13:29:00 -0600 From: Babu Moger To: CC: , , , Subject: [PATCH v5 2/6] target/i386: Update EPYC-Rome CPU model for Cache property, RAS, SVM feature bits Date: Thu, 6 Feb 2025 13:28:35 -0600 Message-ID: <8e40e18b433d2d152433724a15bddcacdecbf154.1738869208.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: CH3PEPF00000012:EE_|CY8PR12MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: c1bf16c0-f9f4-4745-3c7d-08dd46e48438 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: snHrAFgU8ozjXtNkKEUy9kt3iYNe3UABpRdHVO0lJMS2QCjY+5o1zi1DbSs2JHnOBI6yyzDH3Uf7FI1zWXe7vg8zO6bsFHyoku0sgDt3XhXRA30+46g+76qAaKoZLyUtCzIfxjWr1+MIpHa8B3lAsMPNYfWINY/tpdeI2iHYEGDQUCLIP6qUdP3J+qCI8e9N4C14tZW77QTN2FhF3o5R5RFnd9dBu1M2EUi62AGseL+Dn4n1de4LoKG7ApCRIGUE99ZYuWdZO7IuQaUwOyag6boRtwp6KKRtakEd60kOhNlGK5LdFvhuD2aWCskTGotWMhUrar2YqDr8LbHUV5HGVy2lmrTXMpdF1NXXG8mfFxs3CYWwjGQLgzwnrMT+8fpmGuMTNLUw+UJQWaV/bHwTwgVPX/BwR3wPVDHOUJfOStoq3OGlRpebifhPUS/3SrOw1HFXu4RAEx3/zVdNLxjmZi6y/4v8L1q08Yei5JT2Lwip/MHcedbIIIpgoups/Fm+afmsItarkG+ykd0vAIR130Od3LoKFhSOTSHFaBqx6d/L0oxKPlQ9X3rKMYUA1Vb7FdD9R8pd6hmY6pNgnZBz7iBEogWrkEtAm2+AgGOhpc97o3I6c+vOVTzXwBotP/GLjhlWRPJnxuwRTBeBk6HfiN3vRzF4eJ3lT88+sLh2CXrlRI1lNrL4KTt3WrK2MuLdbYqRkTbg/LupbsOXFzGkjlL69Ty++1G8tFLqusTLB2+r/nM5TaIuqU7HmX6dJg9yKR0L8b8javTGVxVEaXF7uQRjid/2rhwQ3d0ANQehJZZtkU8K2reSnlYozrZYFkTjjoVoBh+RjgQzaYsE0sAA7ku6a7APkF6lm7XQdVpgeqhzrh4JA5GmTOPjSshEWIa9XTMwhJMVSso5j6Wkh4MRXAGaPs6zrTRD3mtlUe+OS7WBk4/uuyzXPWB82b8+CkZBtU0640aztScHQXtziUzNkDA3dtiXiKx66XejQ0MUh67/hhfhsncxlhPW/m64e+1c8710W2d2x8xDLOA/uhVNaZXlpgSQi5dTDbPK6YBw/rqMzSi04+LC2Hrljb2OYBp74nsYLKoSVy47L1CuP2u2eWyc6LvaHGWlocEkGBOa9VSkLChWygZzdcQYEAy4kGjB+YjnYkuBieeAn/x1bAQmv1aW4+iAEF1ttkeeNWBXwQziZVwgKJWx1iuxGM9NQoXnCxhsR9iN1tTQLqXxU3mQNJ/elYAaUaeBmQVV0N0cHGM9MAKT6S5YAlqE8L560srZC2Q6av3BHm9SbPQyP6+Vq6gWgVw6L4VTBYEMxVekupBQe8ROC/TN8yVFHvFXTaYgPbrKqfo5TyD/cyFy1noouFymfZn8B8wrOvOBWm7bQwlzUAmjmsF/V0t8c5NuYhM9r5aQ8OK/VhavL9eNgQfxrIJ+8QukVauGxDXSi2WMHzwYzV8+m920EYU2LPS2mztm9bu0gIe0x+xhJhCwjiCCjnnkFkl9v94vs4ILYdYAerc= 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)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2025 19:29:04.0463 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c1bf16c0-f9f4-4745-3c7d-08dd46e48438 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: CH3PEPF00000012.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7612 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 94292bfaa2..e2c3c797ed 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 = 1, + .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 = 1, + .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 Thu Feb 6 19:28:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 13963630 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2086.outbound.protection.outlook.com [40.107.96.86]) (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 DAAFF1A5BA2 for ; Thu, 6 Feb 2025 19:29:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.96.86 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738870155; cv=fail; b=tIwjkdwsPmHnDuE2fhU3H31bK066Bzh6i6Hj26Fy2P6KMD5RoDUHKiYje1kKs7O9iVFzQ1tA4elWg5bHoU4MtgT+9kje+uL5i7UIQm1isheb9l5HXyflwxUyhuZUXAMNH5wpqybD5mCtcrs6yIfIvKNyQy4gN/z1zh4tmJqJDGA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738870155; c=relaxed/simple; bh=3+0GKwrcZGmeMhi/y2oIKvXUDrNTZDkMiJy6VU6h/6Y=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=d1qY+pUvQfPSR5WnK5RKzBGIQTFVquTUXYkRgI1VjZf0MB75THYh+ldj+zQaMMikt8Xa8lcxk9v4Xz6yGs+DCWPYtntCfKcckRss+yRbxq0oCbeYypr6oLdWqoBd0OSVkY3ZGX0Ezus09i10B8PrOxguQFM8b17iz8rq+kB9SJE= 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=TdqYViX8; arc=fail smtp.client-ip=40.107.96.86 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="TdqYViX8" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HRNI6cGA2DchHiQ86+PjcKTH9sfoPIWpoGMT1ZP16KQbzWa/JHTiFhczN0RRhnrdaejQmg2gjFheusjA5/4rJj9xa2bg7SIZhWHIlNFcsXfxHZODjwS4C4+ptdGvSZmz8k6Pg75NJNfaKAVoArwWPI87AswDMOwePGeeW2r6odzKJHSRST8orzwmtBmCQPueW7r7ZiROh5WkleevlNJaozJZZ7oO1ANqiCQuFhQhGxp98L36Mn0SPNkNp/F7erQHXieXjg2k2j0BkPU8X/cWXdzLUJlKAbRs5X+nxonGbUUA5T1YJYSAowWDn6Zd+2W842k2ORZ3lMA35AC4DK6kfQ== 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=exPQAD3Kzo188Jk8F/8dIfvNzt6mI7GaFTZDUhL2jNI=; b=P2bg3/uKC6qlTSjb3Sflzon+std09+Nkn2VzHs5tsoRaoaDmx7CW0cWv9UxNqUTtGN+FyVh/PeCLOZbdO7exz9Ja9R7bwso5Z5xKGv1pwEjwcbDbCvFnHBsZUnOJLBBS8NUcd5OU/p5uurgfLfKAzuOhw7QhkcpKIgJxYjbod9t26rRAGTytLe5KcYwX12Fvyddz+6w4kgVkNoR1A0cc6oGx+Z92yw1u8me5d6s6TuDZCKOns73XK8caNUXslcds7wWjsKUUzmdg8GsbcOkOaA7MQrvGgH1dYp/XWLR6NkBFGVFJHpFoe6t7kihBQso3uDEqrlbgpjxdnmW9LXPrXQ== 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=exPQAD3Kzo188Jk8F/8dIfvNzt6mI7GaFTZDUhL2jNI=; b=TdqYViX8M5ZGBBIKuOAusfv3c8DIPSjvmN7EKnu2nCScVVlzO+M1kzYNokTRcxswU689i8jTPmrMyl+2oMAYEteS36I3H1c8ElIwljEQT2VAwb6kpYRy+onSomQ5MV4f0BlpAgh/G2BMppj2EIRBt1gI57BwDocP7vphig65dIA= Received: from CH0PR03CA0389.namprd03.prod.outlook.com (2603:10b6:610:119::28) by IA0PR12MB7724.namprd12.prod.outlook.com (2603:10b6:208:430::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.24; Thu, 6 Feb 2025 19:29:09 +0000 Received: from CH3PEPF00000013.namprd21.prod.outlook.com (2603:10b6:610:119:cafe::19) by CH0PR03CA0389.outlook.office365.com (2603:10b6:610:119::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.28 via Frontend Transport; Thu, 6 Feb 2025 19:29:09 +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 CH3PEPF00000013.mail.protection.outlook.com (10.167.244.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8445.2 via Frontend Transport; Thu, 6 Feb 2025 19:29:08 +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; Thu, 6 Feb 2025 13:29:07 -0600 From: Babu Moger To: CC: , , , Subject: [PATCH v5 3/6] target/i386: Update EPYC-Milan CPU model for Cache property, RAS, SVM feature bits Date: Thu, 6 Feb 2025 13:28:36 -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: CH3PEPF00000013:EE_|IA0PR12MB7724:EE_ X-MS-Office365-Filtering-Correlation-Id: 04332c21-43ce-4f2c-06b0-08dd46e48725 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: WUtz1TDqT0Xu3+viOn1ZQuRlx2l3isEddgnIWkQuDiKN3mRHNmKFHxlmVjcSCvOPnP9sJlml1RNe+BFE4nxuW+QUQe+vPE9RblZzVPPLoHJLfPlKqHoML/qbDwMcdgMDc4qaMRsP6UO4jyQwqiiMiXnu1au9lP1i3yvQoObGT20IRbTW9ztJaRGDpUdc2PJ7EYQXagfZio+qOkJ8+FT5bzTx4A01p7ewoq+dL8YXhs/+hNxfOK92L/EG3zaQQVa1Hlak/IKC0gwQi8Wmd4fvSwwHUn0PVAs8rub6hYq9fvW8jibdGDmQ91KqmU3K/FMP+3FbbKajW6PAsnYdm6j5T/fWQluhaK0MDYNGsF7JLVj0sBl4C+BaQUZsiBOGKaE8q0F6rMW/KQxML2VuRfkHSkMyWsVA0kE7xEAI51m1t4wHldtazUwLN43NZMWIu94si/H+0BWzl5TDhJ1qD2fr8uVRm9kVp6by0X1UIi1tHEF3c7IYzQyWqcJaC2JuEaLSpFxifs4JvEFNs/0TMrHwzFMwuCC/AD5eUiI7xbf4+fPgfyJYnkv9ueA+aDiphQtgRZymgv0dTmQlkzMHmv7E2Zv0SKuN5iQrZKqFmX3PQtZqRPa4Xoki8Wkyj0p0KJ5Ap5GFHjITCC2Urxs3gIUUYr7Vtd4P0xzg3ZFZtqiDYP1xBgOCyfoHHfJT6gBy8UC7cvVru5eIZ4eABLiSmcVMi47+bMUyo/xqP73dlX5qAdoQYR2odLTyJuoX1WyEH/qdt+0RnSnAh8YIJJL5JvL8PpyR8fVF3bhijLUSpyJ8wve2c2f2pNUKvDcXzEb2yWK5y2FPmbOD3wwo28wI3/MrFjuWKXQNRZYIMlskGD46GZmgdIze3sJtVe5x5Zg6H7GPDRbur0KqViYrQTgNYk5u4ZeEzOf0Fa74vgxhvEVUY8N6aCY4+ww0ICCraeT7Tcqt9oy2AYQ1evZ3Idqm9ViAeuX6S145QmQXs32nESrZSM//qeFzu3HujrSY3NSSb9nAsE8XkFDEaU5GiUmNmSMfUpmAqGQD9CsN2lwmCWvc6jW9SGoh78hGr4xuEoc2cvrkC4quq6NGkSw9YCfib7ItjBWZ/zF2mFpQa3/23vRktaEkMf402nd9OWV0TgojGYIXAKtr9ahLDmWYtRZozyAc0A4ateQjjCDbnOOYKZuTfTIykhbWgpmqnlIFZM8ldkmO1gqDK036Rp7yNgl5C0Em55bgQ2IBKM41/Sx8gh8dMG+6omxoqXFx1RLm6c2q5zPJptXaveIghA9dC8OPqY5y7twUyHoAEMcxVML/h+xpwH6AHTN0DXuEPl5oQsiAd7mD84YIPMUUnfoAz0QYGPATu0YLX7HU7Uetqmg+EwXHC3BW4XvZPXmpYD7ALGedyEoNMUzJ6o5zs+dE5xRJfo+UwoZ7BlkPT+F286HiAxvNk0I+NgOQeXVchTgbJgGRjOBk/ZbdGY6rg6IL+PdwbyNHOgr9zdlfZsOYw4V8BakExME= 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: 06 Feb 2025 19:29:08.9535 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 04332c21-43ce-4f2c-06b0-08dd46e48725 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: CH3PEPF00000013.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7724 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 e2c3c797ed..7d18557877 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 = 1, + .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 = 1, + .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 Thu Feb 6 19:28:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 13963631 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2045.outbound.protection.outlook.com [40.107.93.45]) (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 A639E1A5BA2 for ; Thu, 6 Feb 2025 19:29:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738870162; cv=fail; b=YZujlZBfvrQfcGwavenOrXq8IkwzVN/Z04RWBI6RCpepau1A8exXgsuaXdyoyyz8G7c5Q48Aj2HiK/ZKVBjpteDNBNdHMseM8X7hmscAgks1Tq3c3oRjI/8p02DG2OMMwORmDQcRkiqboHTL0URZWQkqX/LuXj4QVQUi4K6fmIs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738870162; c=relaxed/simple; bh=TUaleN8KMwUChOsZWuh1XAG8sGZyEMjjHtlbeiNJfCU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=eo5SJita3gZSEe9yAl/Mw8O6lDbpBDD1QDEVoUB8Tu3SzmgXorZPicbLd6WyufVtR9K8RBr2AJh05PECvCsZ3raPS6g+6IX9Esviuu/gZvi0eYxNp3cAN5mPzX+/eMxcZLMvJilk/LZ2Ty7MvSHfIqsRLqokJYnGUrRrQLk0JOA= 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=E1ethhCv; arc=fail smtp.client-ip=40.107.93.45 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="E1ethhCv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AV7hft2Yj7SNXAvOuM8fop5yq8WZD1f0wGvzlCGbV+gFCMzT2OQ9ITl3oVP/ORpwhZBZkNdyHvyu0DDEmZ74FR9VwM49MUDoS1mTvOwwBHJICn5f74ml60OQ6rksdNsSEpqOIXyAkTKD94+S9Z8pYRHavQj6pSGMBiBJIYcwtXOizWOEWXmG5ktCzOy9MoVue112GH6FLOYn6ZVtFD2B8s35s+2vlIB8HiOM/mRRqOLYXMbp4uXDJNTUgzK8lXOqd3quwlNP3PRkvYGpBT2fQcbe1t7F1q97qu1X6jvOdFhjQe+rtG7h9Dxhz2oMnGsPWaVeZEH7klA+auatpf3L5g== 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=1KyAjcc0jPA2MnMLy55U84dFEJkIsfPVL+ezeWXXnjE=; b=o4jEKGlWGMqTK9uiQ1yvyk/bImAey9REQucz3LdQ+9trcX5LTC2vM2uKWGF9QNMCDLqAW1Vc0+5TLH9AEqYvJZhFctQGnw0BEgDZRGse6dBjc4qNYr7HDHt0ewd33ggX1GP9SPd50j3qttHmePftEBtNohEmBl2TuMYIZGEjaiimLOhfy+gg0/NKiulAd3Sb0RMSFkG20VYK7SoDndufSrWNCXAJHCy2tFhFjIcnTYwd2OT/7IAiuFOQ3mvRP9xfoEy5V+ugr7ReRx20zvrdRMFWMn7D5BTsKVZeJUoUg/qF8hrEJS7r535i9bA4MREIOYBstyg78s+9Z9tc4bsiaQ== 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=1KyAjcc0jPA2MnMLy55U84dFEJkIsfPVL+ezeWXXnjE=; b=E1ethhCve3AFv0JUTHwdip0JxTi79AMdzp92K7NVlv8K7dZ84WhQn7rZLEXOR3tYHsHXDhQG9gWJhMgFoO2fs6tquaespIMYh3fkwHYt4nPHaFQfmXbR8t1kDY0CCombZwryJU0a78bETYW+pQ0gm910nbG21A8l/zMGvRUJTV4= Received: from DM6PR06CA0064.namprd06.prod.outlook.com (2603:10b6:5:54::41) by DS7PR12MB9527.namprd12.prod.outlook.com (2603:10b6:8:251::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.10; Thu, 6 Feb 2025 19:29:16 +0000 Received: from CH3PEPF00000014.namprd21.prod.outlook.com (2603:10b6:5:54:cafe::55) by DM6PR06CA0064.outlook.office365.com (2603:10b6:5:54::41) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.20 via Frontend Transport; Thu, 6 Feb 2025 19:29:16 +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 CH3PEPF00000014.mail.protection.outlook.com (10.167.244.119) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8445.2 via Frontend Transport; Thu, 6 Feb 2025 19:29:16 +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; Thu, 6 Feb 2025 13:29:15 -0600 From: Babu Moger To: CC: , , , Subject: [PATCH v5 4/6] target/i386: Add feature that indicates WRMSR to BASE reg is non-serializing Date: Thu, 6 Feb 2025 13:28:37 -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: CH3PEPF00000014:EE_|DS7PR12MB9527:EE_ X-MS-Office365-Filtering-Correlation-Id: 4c93e9da-6cab-4275-3670-08dd46e48ba7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024|13003099007; X-Microsoft-Antispam-Message-Info: J2ICcBm8NnudvTFKqAXEzw1kjt7blzkL2OD9tfMAnqyNUEGQK3M2maOHfdJrOw+e4aSZs2ja1ZV16jx6eYOnVIsfQme++OTQhCpm3OvvHSpZHJF3mJue54GEWrvDVIztgZq6AwYEGRwyTfJrAPRpbC2o1zAXKZgSCBlhR14062aJpQLGjDExo0GTs2Fn1u6p+8GyiCc0e4TLCERwwl4mXQn8WnL08lEinpnynvBX19Yu7e6LNVCmXz3l+ksrf9NJ8Q8eKuOhh0fb+v2veDkPwmhCXojn0Q5P9qc/emlhNNEF54n7Csah6MoHIqR8y4mq/fjWOa327qEBOCPWaWTRDh/mMmrGm9txg5Hldpw7EqXDu9vnG8ypyHEiUqmQwYkP+ooJPLy/NEvYLGSuvIPakF0F/TmvsP/adMkQV2TmLYBEB0voB1kCaqH0FSdIlDeAe88iGJWLDGRU/Py7lrXV2yxEI9e8FyF02s1GvgkLhvWUVLjkvrUDmjmoL7UZKZ8fmsNj9DQvQ13zlK6tRQGc8/Yv5wYDEcc7TWQWT7sRHQn7yQmlVyL+ny9qrYnj8nyttdj/TPXi69IlL99E/THs3N7pHlxfG5cS4xbJxRL0JnOduH2mC2tFVXfct3DRvxJQLP9l5L28LBC6iwpnOqXjB9jRr9BHyS5LIZmUtayQuLEuawVzoLJFNJYkqBMlCfdn+rIUwx2xl1Ft6DSshOfLdyWNPsaVi96FNEV+GnHMiKKbO6ZVptSp/BgQ258h8Z0hOM5I6XdbjxzuYoHXHjU3+6vY8YV/i2+vBy55lWVyK8s+UudLRmjnXKQybP06JPvwjjNVSBoHkdWAklGESySenFrbk50ppnmI2w62sgIf9MSSBEdAHZkty4C26A7zxPeMV0Xo9+w5djObXMFewQaX3s70SiqFTBAdZd0v+1SGFSC3+tGA/vRndu6eOV230HToyxRG856GhbZ8O302soCTrI59f2vhfW3O8wFSllqTlHBxs+IUGMyjxuHnp9AWwg+QV67m9oh/JUp1s7eK7XA++fVO3E0V6MCDBo7sPjYSD19kFOq6LRSw515HtmSbC2mSGTI9L0tnRDN38SDxAkDejthxE+NnRrrPsPa/dw+ZhdFdhTxFvS1BgsGEKLzrK1rcM+CD0jK3qIyhPDDQCDVoYUb5fm8XTD734d1Fol0womiPjGnDJvuWl8w1XvPqjkjiXgubUgztqDMzQkjKJUSTxjAp2njGYii0paSYIJqfa3KchjzJ0PK6iLy80DgPzrOoDQalzGVtfIE8sNc8ZssGp2leoVwnInEZBHtM7ANHXriv77xk1U1l1ZKW7R31t9lS9SFa9ARnPnLu2YiYEx+G3s4iZOfX6MhpzGWF5eEwfVMENNigTo2Y7bT9Sa9gplDubRQcFeLawYmxl3j4JggAKFI2CIv6UjPQzNMnLraiigWExOPWYCFjGvU4ax+j3RMF6rGzAslGo/uFVB2s6X35v7u2vn1zjhk2M7qGm3JCr/A= 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)(36860700013)(1800799024)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2025 19:29:16.5176 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4c93e9da-6cab-4275-3670-08dd46e48ba7 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: CH3PEPF00000014.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB9527 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 7d18557877..710b862eec 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 Thu Feb 6 19:28:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 13963640 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2053.outbound.protection.outlook.com [40.107.220.53]) (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 4C6611A5B96 for ; Thu, 6 Feb 2025 19:29:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738870170; cv=fail; b=MonEBZUR/hsHbn7aR6buKgRcI7Zp6AuxSIkgvs0Go4ofA4966Z6lgQdIfkfWB6uEc8NHKOiUeLgXe2VDSlfklkEPQVXxeTq9EtMcBu09BeX6ZObsZRMZYSBo8fVVz9rTt43OyYH+3CoWQdWu3y2FG43qIuoStkgkv301x1OfvIE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738870170; c=relaxed/simple; bh=9/4SaOAwHrkooCb2T1JmhQRLu+ZoTYKv6OXf9GuXWis=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=C+swKGshFzbNozw/cYf5/qMF4zceYWMKblyfs+F1vaYjakH7PBnJzAZKzb/3RFJ/69dqoE8Ingc3uKs8+byCmGqjgsdPZdT0MuCpW+CYZpxMcB5it/Xb/RL22CZs9RmddX677LNlKukgq9vfKmH93bHxSd+hztQbeA06raBWohE= 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=tH7tX9Ca; arc=fail smtp.client-ip=40.107.220.53 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="tH7tX9Ca" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wjGBlUrH+Fwpc4n/bALvSiCSMHJcCxZrcLEfH/GHDEjjoceW1e9oWFtQrdhT7wr8QhEGZOeeSkZ6dfpgegtkP8TLyrRYWx/dv+PYr2B0s790Ft64u6Z+kyjnJFjs2jKPQx9+VdjJwMit8ammbQCH1TKzjn8CuUPCOF+WqheNf4R6FDveEfVr38fBgpOu6nGkSmK4wLKss/AvTHP0MuWxCviXoSjC3a0bEhmbPu2S1FRazF3EzOxxygm7BnCDfIRqCrsyyqvSInkPculb8+TkVmkxoPs3uffX9CDPrE+snnwF98PMrZwHEiHqM5MwoTNHr8ZWdUBpWJ9DReMfR4XBZQ== 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=qOl9pJQKj1xLroWgKY6o1/b9r970ubPp5ZKcJUFcQyM=; b=MGH720SD4r3EBjl1GgsuOxMGsso2LQBHsufh8Ur8CYjHiB79Zalf1YB4Njq9yqht/MhLZD/kt8jhXGxDv+/2K9g4zh3Y3q0EQZerkgO8j6d6PqlgwZymNfU/AoKiTEKL7SL8B2/qTP/BI4OccwqFCUbiwwboYWPrjn0TXhxkwKvwnzb2qKcT7JyIJFLBeJe3e1lQmsfuDVliu2/d5Q4QKAF7qW0iZ1ukMZHlKENU/HJwtnXfI0wK4njXnbzXG4LztFHTexEdghw40DU3F0/0Zzh0fcUCq53Riap6PaYuxicokYu2SBUC6oBw4xHh0j9SN3g/AoXnMCrrot6aE6dJzg== 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=qOl9pJQKj1xLroWgKY6o1/b9r970ubPp5ZKcJUFcQyM=; b=tH7tX9Ca3y83Fbvp9Jw700m6PEc22fLhhYbwUXJsVlGtJ8vOGKsiAqMVhnVwnLRCd+RWw/H2a0M0tDzqqSynfrPl1jZ4vd4bFqSGBG3WilVXEipmv/EAND7HB32sWGbmzuHcXCrHpSDToh2IiFvyCwyzQqS/SQKTVUcYBIg0yUY= Received: from DM6PR13CA0006.namprd13.prod.outlook.com (2603:10b6:5:bc::19) by MW4PR12MB7118.namprd12.prod.outlook.com (2603:10b6:303:213::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.12; Thu, 6 Feb 2025 19:29:25 +0000 Received: from CH3PEPF00000015.namprd21.prod.outlook.com (2603:10b6:5:bc:cafe::e) by DM6PR13CA0006.outlook.office365.com (2603:10b6:5:bc::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.20 via Frontend Transport; Thu, 6 Feb 2025 19:29:24 +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 CH3PEPF00000015.mail.protection.outlook.com (10.167.244.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8445.2 via Frontend Transport; Thu, 6 Feb 2025 19:29:24 +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; Thu, 6 Feb 2025 13:29:23 -0600 From: Babu Moger To: CC: , , , Subject: [PATCH v5 5/6] target/i386: Update EPYC-Genoa for Cache property, perfmon-v2, RAS and SVM feature bits Date: Thu, 6 Feb 2025 13:28:38 -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: CH3PEPF00000015:EE_|MW4PR12MB7118:EE_ X-MS-Office365-Filtering-Correlation-Id: 07144e46-5106-4fa2-096b-08dd46e49061 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026|13003099007; X-Microsoft-Antispam-Message-Info: FiIYFu6bVa24cmL5HBOgZ1u1+cG1/phEFAIaP79fuMoj5GhrXGV2w3cs0QjW1/CwlKXJojtC0EAAXluhkT+0qTB3JDz6wU6Edx+aBEptpo5EAKwSqEpjVnn+Kqz86XxrrpTVx0mBPTGiXEGWMBIk5YInxqq5+in8lg8LmRzAnuWwi6CcuyTS/yZUAI+cmsPtQdGoOzTSWDZQTzFZSwSuCb0K/et1+lMLblbRJHkHj/K3iMuPVe9HPoo6I8RBr7M+5HA6Vp5zNN5EMKA5rucL1QSU+SKsFmX938XixndFYbsgfRLdx8ZfOzV10625FYgIfJot6DsJc/QclGHqW/4HUfSyQ9yvlUFY7cdRrS0KzvoCMgcAzckRvzOur51oJN6MOysfX9o0q7DVHx0gXFvh1Xyd9S8UPXoEnpzCAb8wREAw3B8bk6aR8g3f+ZDW/Ee8gO/LGODD7HheBcEnEp1G+DRclaX2A7R/Xal94KIfwTDIg06GnHQmvKNeZccmyJxRGZB4dYdXcP2B0yUvABi1ymGmkH1O9+oLOFEvX74wNs7UW95m98Zlx9OcrhMdVLMyLCqZBRcc9VwhkZwHSSfFGEv0AfjBySbuv3BVYThqclpjHJ0PmCda+k/CdbWUKTBI6mntieA0Ly2usHQznUhBMGIBYdrVwlRVpql2OJ7Tdmu6YyMt2GOYMhvFR2qxbMA+wNRNpsBqSFgzQkL2PfKK3hq4dtWI9t7iELbP9t4B4FCOXw6DAJD0i/jSIXSdIEfKUJPNtNgUnlq4KjnLL8IJ2sHLTtsVxSsKGaGiw1YQJOZ69wOZ4SJu5MSmhtjATGfqtJUYzlp8/MLyc4avnxM1qdQKXIKedUcr4qiI++dVu3K0htgF2929EKqGoznp/myofSuByNgHVle7RQSuRdQymY9jjnidufwfb102KizErkjFR+ExNeD77VTsqCxQPHhWnE8r+TdHitoGbMwzBGz/dBcNF+Gic2kADD21b+EtcPGQCp9hnXCb62hW9j3lXEHScTuz0bYg+iTDG+Z4Km2rj//qEbxgp8bQmHzECK8iru+DRvrq9YFICsahiGTJ5NND+8ys9Nch/QBSwJLUZoOKVU/faWRLLYajnSz+ZxOUyLET90iLqCWHSlIMs9WDRZpYJVGELNI7lh/VCsmEFmfLKhVkP9eYPRMOdptAr2nJ7y6IYGbuPPFV4lg+uIvO5cGgAbnPZRP37bbPjMfXHjkrUYHud8rFLd5DS4PY06g5TfSaLyg8xQeHb4D3X3hli1HQABMfDtmIBGOzLfR4qUphHAylEFv7Glfero1bHy6dGAqw361ld3NvV0CZl7Adxg4fqOAbx4BxKCzTPyL5Meix8zGIP00g5W6oF0N12yu+mKYcm7sHj46AFUo5Oz4hUPqDnCWX8tLYZ/7VSivMwoIat0nEodhM0Tz8CUspixkm53s= 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)(376014)(36860700013)(82310400026)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2025 19:29:24.4307 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 07144e46-5106-4fa2-096b-08dd46e49061 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: CH3PEPF00000015.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7118 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 710b862eec..3b6a630b65 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 = 1, + .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 = 1, + .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 Thu Feb 6 19:28:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 13963641 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2070.outbound.protection.outlook.com [40.107.100.70]) (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 C128B19ABD4 for ; Thu, 6 Feb 2025 19:29:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.100.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738870180; cv=fail; b=kiA3hko2BG9sd0dqBAplZTptT7W5S3kIL4T1AnFPJDPOeu4+f4xBlmOlUP8NCNqOLdfS9x5M/0IV4AmArmrlOQw+RTpIWWnnvq7ZTF0nx43rcBv11zphoRPULl8maCu5LAtwCsCryRy09Ts6YBnN1hU4Ci9la07crhrJOLSA8aY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738870180; c=relaxed/simple; bh=RRuq4B5bclg8rZnJoUZ1DphA1jZLKfODKIHXyaiD7ow=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=BjSfk6ovq1y++FBT8QfNO9A5EeK3d0+QNzwcZB/Kc5vRu4BJBjtAyp2fbjiLmzkZkqsFhQCSFPc9Yj7R9qhfFMdiphrkc/R4j1ZjYT5NY4nBfjifIA6PY3gomfdf3d4OkRh1uQZN4RzeOG1r/qZ4IWLeerEDjT2Ib5+TTayZJtU= 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=InPXSdOq; arc=fail smtp.client-ip=40.107.100.70 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="InPXSdOq" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tMV8Jo9Y8WRV7X3lYC/PgAeYhsyiV1nQo/3YJqT/Q+msgez9Kd28usTW20/kdYtYSpTrbgxE92FIp54tMu0yU0QFQyoWYpv1U+eeckBPruXCWggDXoKRtSLBEoi1KQOLE7jjNeV4qFI35kQOTvb1oJ8oqKLwhDAoaoxuF4BzM2Q6PltzV+cxvLck7rVsOv8E3ouQiwx+vPGplrfUalBSwHWrS83lg6rGN7DBY8BHi4CeYRxEMJGu7mILm9mN8vO5VIJ77cldVlI9Id6+nQRI3yeteGxZR9+gL1ivoOfg+SU9N6qswLMZPJWNvpAV5BWImllBuf0NpiB3fywOPvlMrw== 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=Y8/ulyUwvMT+V7DcOpwjeSCd+V/e90Ifqtp7UD4a/6M=; b=de3Rjj9KAAhgrtZe0JzYWzNFgGocd25/Zt+4m6KS/aG6ny36zyGSvb6bq9khtfXJBqmXcTMHVC15K1XdZtagMbNeMbQM5LKKA5BG3/k8SW5xb8eQTYEdKhviSvOAFKD5Q0Q0XEQgj6qY+usw3qawXBLoDF+YWKTMIHmRAdOdkivxioU22B5p7NlhpolCVk79wQMbyDRg9Dmk3GzKnbVpJAx4kSjizfdKsC4OF1NxE4pxB/J2cUkGXDffOna+mSnUbA4cv+ihBRr1OLEkchEfLDPyT3m0T8ELnmVLVNKaYJ4UcxTMVx6ycScgrbD2KIzni0f/bd/M+rRJ8bV6SoyGAw== 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=Y8/ulyUwvMT+V7DcOpwjeSCd+V/e90Ifqtp7UD4a/6M=; b=InPXSdOqc46vAphgT7BV9NzQJ450SY2si2m212Yf7Fnx3VzeRNq6IhUZZyVOgE2o55MeK+SZWQ68GaSuqf90bdvla8JKWgSJC+slGT7XvmKlgTc/4n/hK0eKV1VisD98lkxyJUF25uef6K2e+/StzbkotwmnLzGfS5q8Fsdc5cY= Received: from CH0PR03CA0371.namprd03.prod.outlook.com (2603:10b6:610:119::19) by LV2PR12MB5797.namprd12.prod.outlook.com (2603:10b6:408:17b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.16; Thu, 6 Feb 2025 19:29:31 +0000 Received: from CH3PEPF00000013.namprd21.prod.outlook.com (2603:10b6:610:119:cafe::28) by CH0PR03CA0371.outlook.office365.com (2603:10b6:610:119::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.28 via Frontend Transport; Thu, 6 Feb 2025 19:29:31 +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 CH3PEPF00000013.mail.protection.outlook.com (10.167.244.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8445.2 via Frontend Transport; Thu, 6 Feb 2025 19:29:31 +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; Thu, 6 Feb 2025 13:29:30 -0600 From: Babu Moger To: CC: , , , Subject: [PATCH v5 6/6] target/i386: Add support for EPYC-Turin model Date: Thu, 6 Feb 2025 13:28:39 -0600 Message-ID: <3d918a6327885d867f89aa2ae4b4a19f0d5fb074.1738869208.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: CH3PEPF00000013:EE_|LV2PR12MB5797:EE_ X-MS-Office365-Filtering-Correlation-Id: 4e4e86cf-d82d-4f15-3edf-08dd46e494ad X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024|13003099007; X-Microsoft-Antispam-Message-Info: jIp+G9z1uE33de0I2zIDFU81pOsIcoaXh5n/9PGv7Jacv+RMfx++ZEhmOZ2z8fTZtSyMXgPBgzbdfAjLSCduPh3Iww33s80WsWA5CHyC8lsJoZaDL/25n3W3au5ASfxAFrmjrbI2WtE11XtFOHyGhl1ZZxqUNW2agZNwr6xqu4wPxqwYegV8oZ5uZf6tp1zVR8WLzRS1Zf+1/o67qJWYhRMi/pgki/exHnqDdJclYUgHZciopPr34XJ/4lSgpzDPuug2aRjZABmvr++3/p1MKdmnAeBh9eW5B7qeLlCSLur7CXP4DwdRjcUeLG8RSwLLZgjFzYpTWBQrEyMj/WaOj6IvNSSzhtHmR3oYNj4qQO7tthi3Kuqs0FjqVZ0MVVfE6Ow8bjKyCEmdKl5BLStHJ/qThdOhGEG97vR3M5Yyhiw/b2lxFNQmNyT4Nh7F1JNPd1NApmZQZP/7LgLI8Xr7yDwfZ4E4H+3u4xV3mXTcyGjh8JfGYr+GrMz1kPQd2lSpGJKvT2fuokI6QPobszI9pK3fSdgDZtsrQjqbVM1mWC6IUWMOBWZvQ5CQ/GrTIYrKsH2QWvHA9Xtos3m7nYbMrAhteWhJ9/pdl8Y7kf8OZrFMwXUGqjVSuNR0/J1UUNvCm7bDrIFLv/RAFkwj9WesprwLdVZ2FbRtKThyBvZDQLGNm0CbN5Sm5hfbxlAFUIMGQ7R8yf4kbI7BW/Xz2KccwjsA5eXtRbQ2OD0fQv/UZSgNNRJn+wL+QOPx4djE2+Mo+eivW+jIX6qGIwWmDhsa07VQFYKn74V0X0ZQOxIWKaIAhzbFqYrLJaT9Qa/jnRratDI3qQj+MNXVbwoqIK/o33Xi+7cPnT9NoQc2L6Uzn31ToMz3aq7IMeHFoYrK0Y+ILbA57fbKh7aLs6g21G9j5xBrxmt0Eo3jyP9AmaBUBWlPTB9nCNzSsoIZ9EdDDESsFKRwPErV2gYjVzvSz+UsRmF/oN+QrzSfhV0IpMGAW8IADxEMD8bH/jaF7psib4c7top7PHlBec1q5C25M62g2pYBIktsrL1+ijNCO6FIWfLzNMNIfLLJlbViAq24Ly2xIExiZezkrkkPULiwe6064AVuLlwUBP3Pd1g34zpMpaaYMfrEkbjREMC/pUoFRs3i9clMw/Gu4Rc+eopYp8kJWu04sMCuvKiR+y8PwnxkAJCpOITmU2k/Vso6eYYPjttlQ1dhGqwgXKlEB9emblgYEmN/NxwU7cH4anaxtUWakGDXNUaDsdJaxswFJQQUgULf1FGrrSqmu9ehw5n6CpQELuRTkA5RfPWZ7iZA9fArTuGamtf4flc6WHnAPFMnv2S5c8q5lCfOQmZoRvhRSlkUL2vaLgXh+WGNRvY8SuFkpy/6AUq4kF3VTQfPR+Md8hYWlc75+Dtz25nLRThbvBXJxV5yqqhKGaL6pYZmyX41vyXqptYO+D/d7PBDB9w3yTY6xPGIlsuwFyVdBwoik7tCNVQiCjpNKdRh+tFFzi+zLNQ= 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)(36860700013)(1800799024)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2025 19:29:31.6566 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4e4e86cf-d82d-4f15-3edf-08dd46e494ad 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: CH3PEPF00000013.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5797 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 3b6a630b65..b0ab493cd6 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 = 1, + .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 = 1, + .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, + }, }; /*