From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2076.outbound.protection.outlook.com [40.107.220.76]) (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 6B9F423F266; Thu, 27 Feb 2025 14:44:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.76 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740667472; cv=fail; b=Y/fmaA1YAqKdJ82itXy9M62Bxbq1f0dFFti2lzpV5lT7CLD8tdSOhwvX/0lHqNcDz47SAgxzXUgMMGbqfJvkwBFaxKj4SEXe0DfOXcjMddURME9ycJqqW2Dm1LpmtMlynySDCzJCiWp7sNRV2j77ZNclzoNPJIsn2nd63pL4TbU= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740667472; c=relaxed/simple; bh=1/wTApNMAaAMqRMy7Mu7PntVopqJjPlkGA+kRZRRrx8=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=HrEz8ZLoIR7p988dqVwRvawhR6u2jjLu45qiE7qgipJraZl6Galg0egyB0+WGjdOxYDvd6b6uz6RRz8YxcDV/epl/mXX/n/maHOCX0Qetgm5fF8ouC2IXhFYwMPzYFEq2z0EWN4WuxkDFa7hkIDYg/frgLdTq9Xrj+gMw6JzFHc= 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=NQuWEH8N; arc=fail smtp.client-ip=40.107.220.76 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="NQuWEH8N" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wfPc2SwsosgeztZ0lohTUGezRZi0J7O1/557bhtsNfZ7xBCOTLdE/ssbih+gTTaAoBI/e8eKbP6pqzinaK3JFpWGsBZCj4U7ooFMgHO3RS8izC14hfYlX9saDGzGPu17lVCJQGV4lE9HvgEoonvMxCO28G6SVhdjcamA9gEESQQr/IxzkC0U1WCMB3E7urTEAKCkJDCC+dkbpDX7r963D7IfdLpxhNpTzZg6RXpaqQbSPVAwARwvitDc5KaP+AIMd1xlpYmEdTADfUcY5cotkoXRsjVudcJO5Mbm5cj5Io2IJ1D8FQeL9XzNXSwZO+gXFelbU83vx4tAudglXuVpwg== 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=N5jFneea8nqsXV7z3f39aZ/e1fjVIrazQCqKovI5bjY=; b=b0XPQIp/FMS0mAlgE9rZPN8aE9upDDxfTgIx41pACtQj6r1kv7T+YVNdjaNhpwiy3ch3aVmR0SKtMJwwD9TKYm9nFPYnCvptIj51iACAHskV3EeTzuEXUUAnrDJdIUjpj/ayisa5hz1cR808nuh8Z3FJBiBMf8+8cxOs/HgethEjQRiFmjMAZVQ7b2q7Uu1N42evi81xrOCOSPXGJxWsSylgmtzbvcA+c2R7Sh79Zs3tlPA5S/8c0tn0RMjKZBUIM9FAVHBuqm30OX0cMTiVFxELrNGwKaQmlnt7hebV/YK6SJ4fM8FtCI/HfzSaxaWnqAAYl5qU6hYaXSy2gs0bvw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none 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=N5jFneea8nqsXV7z3f39aZ/e1fjVIrazQCqKovI5bjY=; b=NQuWEH8N2XopRhIIon9FZBe1QqOUpL0bCDqOMaEllyJKyHkt1E2uLsyB3nGA6S/t65rZC6bsyBEy+pa9KQ6FE3zZg/Datz+K9vWgAHPvAm0OeGkS3w5jmIoWEgv8/X6tuLGqgpXkbLpF9G35ctUZAzDzU3EN5HF/dtfPdajKjcQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from PH7PR12MB6588.namprd12.prod.outlook.com (2603:10b6:510:210::10) by PH7PR12MB8426.namprd12.prod.outlook.com (2603:10b6:510:241::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.18; Thu, 27 Feb 2025 14:44:29 +0000 Received: from PH7PR12MB6588.namprd12.prod.outlook.com ([fe80::5e9c:4117:b5e0:cf39]) by PH7PR12MB6588.namprd12.prod.outlook.com ([fe80::5e9c:4117:b5e0:cf39%6]) with mapi id 15.20.8489.018; Thu, 27 Feb 2025 14:44:29 +0000 Message-ID: Date: Thu, 27 Feb 2025 20:14:21 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 3/5] KVM: SVM: Manually context switch DEBUGCTL if LBR virtualization is disabled To: Sean Christopherson Cc: Paolo Bonzini , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Xiaoyao Li , rangemachine@gmail.com, whanos@sergal.fun, Ravi Bangoria References: <20250227011321.3229622-1-seanjc@google.com> <20250227011321.3229622-4-seanjc@google.com> <095fe2d0-5ce4-4e0f-8f1b-6f7d14a20342@amd.com> Content-Language: en-US From: Ravi Bangoria In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: PN3PR01CA0136.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:bf::23) To PH7PR12MB6588.namprd12.prod.outlook.com (2603:10b6:510:210::10) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH7PR12MB6588:EE_|PH7PR12MB8426:EE_ X-MS-Office365-Filtering-Correlation-Id: e5ec03c2-cb41-4b4b-6424-08dd573d3d27 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?ZHdXRUwyOVJuYzRTWHlkVGFCU0p1UmhKbjZqUmR6ZHVMNVliNUhwdnl5VE5w?= =?utf-8?B?WEtCSUpxY3BuWE9LR2k0NExHb1NHR0FrU0Z6TEN2eW1sZkFra0RDRXBLUlhs?= =?utf-8?B?OFdFdFZ3VnJCdGxTVEZLZ0pJWHJTZ3VyTGZpMXY5T0xxTjNzdTNCaDRJcFNL?= =?utf-8?B?ak5uaU5ibGJYeGRIa2F3d3B2NUd6MVZQekhkQnl6SVB1dVlRT0lUOEU0b3Jx?= =?utf-8?B?WmlBbTkrZUJ0eVNvblVwZE55VnNXaVV4QVRMMDNDKytUcWwybUQ2OG9OSEll?= =?utf-8?B?QVFDcTQyb0NlNE11RXJudVlrTkNQa21SUkNPWG83R2FJMVByMmh6bzRsMkR0?= =?utf-8?B?ckk3dmsrNmN2NHhIb21XcmVNYjhJT00zVWdERk1mMUY2VHFxSDVud3JTTjhG?= =?utf-8?B?aVRJaUFQN1ZLYWpNNnhaR0IxRTVTRFBxTUthYUthajVSajVuVnZXQmJ4ZHdr?= =?utf-8?B?VlFkc3A2dWdtdlFmTG5JcmFyUnM4ZzR6L09wcDRkQlk4Tk9vcHN2M3JUaWJm?= =?utf-8?B?NzlzcWlTaVBjMXhnZHN4STUya2lHaEhoSmVJS3JaaXNpaVJVYjd2UGpMNncy?= =?utf-8?B?WEdSajQ3TXhKWVR3N0N3RjhwdGlZTHdQRGwvcVEvNDlHeUI4Y3p4ZnNmZURt?= =?utf-8?B?V2kzVkxjdXF5TlVBWUxBMEVjb21ZUjlrNVdRN3ZvNElIZ3RMcXNlTFJMVHZL?= =?utf-8?B?MUEzMDRCdnpwRlByT3J2RkV2NjloMyttSytDVUplTW4vdkJXZlhXTitlLzUy?= =?utf-8?B?eHZLakJ2NTFXcm03enZueFA1eDNYeDl5ZnA5cEU0YUJLNXBZQ3hNUmhKVW9r?= =?utf-8?B?WDc0em1QbURERmxDWlZ6SFFJRTl2cEdUV0VPSmpQdHZXeWJxajhXcEhaOW5n?= =?utf-8?B?RnBLc2gzVUt3U0FvSkNsMGpyRVl3alRUQlR4SXFXM2RqVXNOclhRSXR2b1lU?= =?utf-8?B?bXZlck1tdkozTERoK3BlVnJOUW1sSzB5OVI1UHc4QndEU25JaVZHdHU1NTRa?= =?utf-8?B?MzQyRGt0c0wraERYcTNxZ2xJNHM3enJXKzk2WW9ORDViYjZvWnlqbnhmSjNv?= =?utf-8?B?eW9pVUNlZlJHTkx1WmJid1ZwRmR1clpvVnIydDRYdUtjalVKR0pmRjdoQWtY?= =?utf-8?B?MzRadVRwaFg4YzIrbmtnUkpDcjNnTjByV1ZJVXR1b2dtd21vVlQwdGxIYjlN?= =?utf-8?B?aTdlUHd2VzJqMktnMkpaUFc0RE1ub29UcXBVQjJUdmh3UjlGTUFUV3FlUUJH?= =?utf-8?B?WENZNVA2UEJ5dnZHT3FjeW5tL1ZBZk9TVzYvNjlzbzRKR0t2NTdWaVh0djA0?= =?utf-8?B?SFRxbmt0bHQ1MnNTNXM0NEViS2RyOU1PMFlOQVFkNnFnZm05c3ZKQXc5Vitx?= =?utf-8?B?NFV5ZHV1eThJaFhHT2lubDR3VVlmNDFySnpNQzVTSFFvK0xCZmhBVzNndm9t?= =?utf-8?B?Z3BYOExtOGkzT0dZRHJtdlE0WDQ5aFo3b2ZJK0VybE05M1ZTR2YwZlI0dDZQ?= =?utf-8?B?TVpEL1V6TmtZSVZXZHF6akZ1K0lVVldHNHRFTWtzNGdoREtuMWxZWjMxUVcz?= =?utf-8?B?OXlGYkowVDYreVRxU1piamI2TkZjTTNaL0R1WTBEOGN4cUJQODk5WHVneEZR?= =?utf-8?B?SnhvS0hxK2dJTTBhQVBNZW5KUldFMUhRZU55VTAyc3hlUVFkN1NFWVVyRXR1?= =?utf-8?B?eG1hTWd6M2xiK292UHR5R1JwM2FpSklqZjQxU2plS2RleERVUVJMT3d4VkhB?= =?utf-8?B?QzNEVlFjeE13eEJ2QkJjUlJlSmJROW1ibVNUb3hReHhNL3dBbXI0dmYwMW5F?= =?utf-8?B?ak9wWmZDeFFPL2JWeDhoWXZFendTZlMySkNEckFJekUxMmJ2SEE5anNHclRD?= =?utf-8?Q?bobtqZXcyFhSh?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB6588.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ckprb0xpS0JTUU1KVlo2N3hTelBVUjEzUnZ6UjZjWXk3ekoyVFZSMmQwdlVp?= =?utf-8?B?aTE0TVFjS0hwTG5LNnBwY1A1R25PR29YMkJMTXNxTU53dE5OMXpDdWJCeGJo?= =?utf-8?B?ZmxMUEoyM0JkSmpoT2s1NnNOSWNWYUZwa3lETVlzb1ZKTVAreUs5NjZia215?= =?utf-8?B?bXBYdDNvaHFsMFgyV2RBY3o1cWZLYzNaTmhBVlYwcGtkdGhvVWRJa2lLTy85?= =?utf-8?B?TSs4dVpwQnlxM2ZFdEN4ejFlSUxyRDBqaHNuN3p0LzViaTJSeUM2Z1A3Y05X?= =?utf-8?B?aCtpUGVSZmFzNXdmQURMdW9YOEhZdE1Qd0N5RkRsOFpUODRJN3V2cWEvaXY5?= =?utf-8?B?NGFZWEtvTnFmWTd5Q1QybEwrazQ0cW1iN3h2akdzUmF0RzQ2MFY0eUxrdjIx?= =?utf-8?B?Wk1LaytNUVF3aEttSm9tT29QRytzc3p2cVhpMDRDWDRqT3dkdjJYajFKS2Vz?= =?utf-8?B?ZHRmQzRFaEZvbFpweTNSTTV3RHFSb2taWVNzWFppZW1HMjUxQklRM2Z0K2hN?= =?utf-8?B?Vkh2VEorY2dLMTR4dE5PUThmQnl0cjAvYUt4dHRleU5DVnBaT285THpyTG1I?= =?utf-8?B?Y3ZLY1gzanIyaXJkWUx5Um56ZVFVUGFtMmxuZHpEakZrSERvT1FGbmptem9x?= =?utf-8?B?aS9ZaWhVVzF6cVpTTmEwY1B2MUtjcUVidE82SGhpSHU5Ym9VRXJDV1VTU0ZQ?= =?utf-8?B?dWZmbmJQaXRXNDdXOUFmbXVIREJZOHgvY0p2TGxJbWpHd0lBRWVic2M3cXRI?= =?utf-8?B?Z2pXdFJkbWZ1d2pnaVlTRXdoKzdTREEvZnoraGttajBlOW04L3d4bzlmTVly?= =?utf-8?B?MHRnZlJJN1ZLWFIzWnZVWjlXcUlUQW5ONnMzWGpxZ2tuUkxESW04b0ZCWW1N?= =?utf-8?B?OUQvVzluVVZrYkc5MXBOT05XbHZKdVNPdXp2UjFubXdRaUdsT0NkWWtLa2RS?= =?utf-8?B?Y0tINE9sZU85c2pLMzNJRUsybEFDUGU1ZnZEVzQ4K2M2dUt2K1plekFUQ25Y?= =?utf-8?B?ZlF2RHlnc3lkYjRCZlAyU0RKQVBGNUs2b2pzbHZuWEtBTklmR3VLR1hvRWkx?= =?utf-8?B?VzFienNhQzZ0K3FiWmo0YVpNejAyTXUrYjVGb004S0plZnRqcXh0ZmtMVUZO?= =?utf-8?B?NjBmUy80NkFWTEhCMDV3RThWaXFnV2RPMXZkcGxrR1VVL3RoOGNQU3E5V3Q4?= =?utf-8?B?Y0RUL0dDcXNxakdGUHhRYXgzdGJNOGhLT284bVEvcWloc0NzRHdNMGJlejZP?= =?utf-8?B?WDlkNjd0d3liQVFwY1FGTjZhOU5nQmFFUk5IdjNKTkdmMXNOMmtxM3pxeUxs?= =?utf-8?B?a2ZpdEdHaHhQZTdyNkl5UXU0UHpUcHE2MHZsZUoxc2J2U0NtMUdaNzBtNTlG?= =?utf-8?B?YndnN2pxQ0IvSnRhZGV2ZUppRlF3SlR5RXpkbXJWV3QvSGZTWU1uRVZSVGRY?= =?utf-8?B?SWxGaWg1U2l4cGNZL1lRbFFuS2RVMkp6KzV2VXVQQWlleUlRN3RETnpBc0xE?= =?utf-8?B?UjIzU2tnc0RXVy9VQjEvN0I5SkEvWWpUWCsrRzh6ZlV4RDJlR1dYM04vb21Z?= =?utf-8?B?aEE1VWI2WFV3andudGluZWlyaUJIWElOWnMwbHVjU0ZEdFc2NG02azVMWHhY?= =?utf-8?B?ZHdwdytzRlpCRlMvRzBXTnNtWVU0YlZ4NGE4U3FlSXlLY1RQTlZBNjF3QVpj?= =?utf-8?B?Y25zc1VodjBHVTF5RGgvdW1xbnNmVWtOQnFjOUZ3L3dxa1V1emFGY1N4QmFT?= =?utf-8?B?UUtVM3EvUWxOaUpzZk1CVjVqNTJsUTFtRG1WejZRRHQ2UHFFby8rYmdGYjF1?= =?utf-8?B?cC9Ec2JOMkZvRXBGUmI4NHdFNVF5blJ0Q3ZGbVFQdjBJcklxdklMRkdCQjBa?= =?utf-8?B?MnMwQndneTB0RklOOVZUdU1JbGViNktrdy9PbTAxeUFsazlQMUhSdnFTSGVR?= =?utf-8?B?ejg4Ty9lak5pZWlvRDdkNHJHR1NybjlMcmJUMnQwZXlTd1d2QzdRT1RhSFhh?= =?utf-8?B?SVJtWDAvVzFGQjRhOHFTZllMR0pFM1ZtSjZKVG4zK0RzT1VuOHBNTlh6K2g0?= =?utf-8?B?TVIrS1ZsZXl0VjJCUnRIL0hucW40U1M2UmhmZVQ1RWJieXo5cHlRMVFVK3lk?= =?utf-8?Q?1cbMPqrUzp08hpmcShZiiRg/f?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: e5ec03c2-cb41-4b4b-6424-08dd573d3d27 X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB6588.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Feb 2025 14:44:29.1606 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BECesZCXf4EAfwT6GXx4KCaHcW2CVx4WJTcFku1wpTO2HMNXXd/3qLZMtkdmz6QmnV7zRhbf9ElHiw/3YBBkFw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8426 >> Somewhat related but independent: CPU automatically clears DEBUGCTL[BTF] >> on #DB exception. So, when DEBUGCTL is save/restored by KVM (i.e. when >> LBR virtualization is disabled), it's KVM's responsibility to clear >> DEBUGCTL[BTF]. >> --- >> @@ -2090,6 +2090,14 @@ static int db_interception(struct kvm_vcpu *vcpu) >> (KVM_GUESTDBG_SINGLESTEP | KVM_GUESTDBG_USE_HW_BP)) && >> !svm->nmi_singlestep) { >> u32 payload = svm->vmcb->save.dr6 ^ DR6_ACTIVE_LOW; >> + >> + /* >> + * CPU automatically clears DEBUGCTL[BTF] on #DB exception. >> + * Simulate it when DEBUGCTL isn't auto save/restored. >> + */ >> + if (!(svm->vmcb->control.virt_ext & LBR_CTL_ENABLE_MASK)) >> + svm->vmcb->save.dbgctl &= ~0x2; > > Any reason not to clear is unconditionally? > > svm->vmcb->save.dbgctl &= ~DEBUGCTLMSR_BTF; No particular reason, just that HW would have already done it when LBRV is enabled. Thanks, Ravi