Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp2071327ybg; Thu, 30 Jul 2020 09:36:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx7Nc9Ur5/IepYmn0cfAkNO+ZiiqHZuEBecglQDnPfQg/8pU52t0JihiLH0YFVYCi69Lm4M X-Received: by 2002:a17:906:f2cb:: with SMTP id gz11mr3344582ejb.58.1596126963301; Thu, 30 Jul 2020 09:36:03 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1596126963; cv=pass; d=google.com; s=arc-20160816; b=LE4sQfTuXuKFte+4LvtyChPGYkkZhzqhUBVId21/I19TKi/JTC4SM9xB+EbMQMpx3k YznLn74jf42aF5HQZonSXSrWkWjobIpY/g2XrsQZIfxGLCjNkO+QXYrIBmIPVGrD2lAZ oFAgPEs/DrO45qYxOhhL4ZB9TQusnbonMMQncpG8XmRovJoU1oLfbmMedEem8BeFwT6B lviiuAuTAVOM0isOv2O67iPFVP1wS3wDwEzfBk8vns2fqEpesr6yV0qP0tELLCdEvm7V 09ZuewuNdDrJ8TcGID+1CFk1uYR1SgnwfXtcuwbNPYX+eNdHj12wX6/UO5IUfznTc3wo sp+g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:in-reply-to:user-agent:date:message-id:from :references:cc:to:subject:dkim-signature; bh=VeWYqdp+3olr21tIq8tKQNYR/Q0Dh6Wx61fjK8jIYxY=; b=FWwB+lHhJgZxoxxZZ8vf9sMW7nMcb7hNXdEqTh15ZGqeM+oxQ3NVLBnXdiFXF3fuwv i3UgKWnsqe4GSKrpCC5m7pmdIV0U5YPtDjmFTdm5HP85QLOQuu4MG0ZNSxliUt3i8zkm zdTtcJ70ORkJDUSlNm6XB1le7AhQskv364KuutJqTMwfvgCNzJLDW4U/TiKa9S9NMpvB 3GxU7npiRNBf9OckgUW7Tgl9zhAt3xWgI6rEhZ0oCVnn+2DmZT6SNU3Ps78p4nObeMx7 eICZr9wDI6FFot7+SOtDS4pDfe11A7qgC7la4uVt+s8Fd8Qsq7t/ll5YtFt3b3ehzyUM HhCQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector2-amdcloud-onmicrosoft-com header.b=memBXMil; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z70si600588ede.247.2020.07.30.09.35.41; Thu, 30 Jul 2020 09:36:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector2-amdcloud-onmicrosoft-com header.b=memBXMil; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730025AbgG3Qeq (ORCPT + 99 others); Thu, 30 Jul 2020 12:34:46 -0400 Received: from mail-dm6nam11on2073.outbound.protection.outlook.com ([40.107.223.73]:65408 "EHLO NAM11-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727072AbgG3Qeq (ORCPT ); Thu, 30 Jul 2020 12:34:46 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xgf6D4ex/KrpmOuWBaQM5v80ukTsn0ss5nhuSAsHonQ6CVZcM4N0wBlRAPFB+KF/ofD8Xu8cBZ9NV7NJGKWxfNroca3sDSMVr87vHgDY8zE3LBLbiKmRbRbHNEGMhjjj7yIcLLzoI7DJPDP/50uGxWT57ydFL07eNUKvWpwFhzcVQijlWDlnt34qodRJQ16uSXloWArNyR4UZD0541feI96TXP76qXkzT3JvApzbW+V66SO/dsraSOQlPHEVwpGvGyIGoAo22hOW6v5MmylauG49c8dbWAbiep2bdYEMZHzQM3OusFz3wQnRerlAD4w0xAbplWV+TPAWCfBG0l4coA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VeWYqdp+3olr21tIq8tKQNYR/Q0Dh6Wx61fjK8jIYxY=; b=Lr0DwMvv9w+RRgZtHWRmp6jZfG1/5px0lRdxOWspSWeX/G1GNu5jQRVL8Xou5WNNy6QdmkcVD5nO6tUoX1iu0spG/oO7Tf32MPttXl8Xl8loSf43819WDU53+zHD4h9McrOPR6qibFEVEvYMynUi6sGXKVrE34wdzZv2zjrg5F7et2rIfwmYUiR0vBr3jt7DB19+ml9djP86YJTi7XMU4C9Cj633QHdp0EvFZUSTUDXxAgwYgJPEdJSneMoUDRfUY1UYOHEuOiYFHhNwPChN69n1tXNLS7SDMLXkkoFBQOCDgndBCyEoANFgyKtEun0G95K31DTYR3PxoojpSBNZXA== 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=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VeWYqdp+3olr21tIq8tKQNYR/Q0Dh6Wx61fjK8jIYxY=; b=memBXMild/rGohNWziwK2EeF3buE8dWwEvAl9u0UU6LcjDzbtu1L4MSu451JuNWtkPPoiASh98DpY1Kt0wOqzcwVH4DMsitr88SmzqojhH+XT9hMJlkigW179cdAyp90uVnwtRYGyglYY7zwnEohr6aMaK8B6v6I8P9HKf21+L8= Authentication-Results: linutronix.de; dkim=none (message not signed) header.d=none;linutronix.de; dmarc=none action=none header.from=amd.com; Received: from SN1PR12MB2560.namprd12.prod.outlook.com (2603:10b6:802:26::19) by SN6PR12MB2735.namprd12.prod.outlook.com (2603:10b6:805:69::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.19; Thu, 30 Jul 2020 16:34:42 +0000 Received: from SN1PR12MB2560.namprd12.prod.outlook.com ([fe80::691c:c75:7cc2:7f2c]) by SN1PR12MB2560.namprd12.prod.outlook.com ([fe80::691c:c75:7cc2:7f2c%6]) with mapi id 15.20.3216.033; Thu, 30 Jul 2020 16:34:42 +0000 Subject: RE: [PATCH v3 01/11] KVM: SVM: Introduce __set_intercept, __clr_intercept and __is_intercept To: Paolo Bonzini , "vkuznets@redhat.com" , "wanpengli@tencent.com" , "sean.j.christopherson@intel.com" , "jmattson@google.com" Cc: "kvm@vger.kernel.org" , "joro@8bytes.org" , "x86@kernel.org" , "linux-kernel@vger.kernel.org" , "mingo@redhat.com" , "bp@alien8.de" , "hpa@zytor.com" , "tglx@linutronix.de" References: <159597929496.12744.14654593948763926416.stgit@bmoger-ubuntu> <159597947370.12744.8741858978174141331.stgit@bmoger-ubuntu> <7c6c66d0-85cd-e558-f43e-a2d5d57e8913@redhat.com> From: Babu Moger Message-ID: <28a9c51f-4d72-9e33-d184-6c7c830260fc@amd.com> Date: Thu, 30 Jul 2020 11:34:40 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: <7c6c66d0-85cd-e558-f43e-a2d5d57e8913@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SN6PR08CA0029.namprd08.prod.outlook.com (2603:10b6:805:66::42) To SN1PR12MB2560.namprd12.prod.outlook.com (2603:10b6:802:26::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [10.236.31.79] (165.204.77.1) by SN6PR08CA0029.namprd08.prod.outlook.com (2603:10b6:805:66::42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.18 via Frontend Transport; Thu, 30 Jul 2020 16:34:41 +0000 X-Originating-IP: [165.204.77.1] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 9308b89e-fe55-4638-3f57-08d834a67622 X-MS-TrafficTypeDiagnostic: SN6PR12MB2735: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2887; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0F4o2SGfexBFaDCMkqqt28x44vcPn6t5+47oneoz2CMQWUTIahG5ikHiV71rOjrX5dkmy2as956XQjQXRif8Y4JCMJyHfqjyge7moETYNK6rijaadYkeBwKiHTFQ1VFAMOS0epEBd0Uvv9oGDwPeNkhYT9kCw0s6X8vBBrqnPCKHuR5uVlTKtHQ0lbbstMbpgmsU7QI1LtNvFXbpJaOwsFTpa6+r1CKGTqjGQQBEKe7n8WhTbSRfiroPzXWIGDpabTkVYB2pw7s4qzBVD7uPih3JYFSiWqsr/6UYnXYr8f2jwrn0Zn/cUUgFJXpC0GCy6lZ6JGAzEZxkYC3dUaHGx/RLdU7y/8DQK2/YaDSeDPdc4aC+M49zL8uBDWX105DJ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN1PR12MB2560.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(396003)(136003)(376002)(346002)(39860400002)(366004)(54906003)(110136005)(478600001)(316002)(36756003)(16576012)(5660300002)(7416002)(31686004)(956004)(2616005)(44832011)(52116002)(6486002)(53546011)(86362001)(2906002)(31696002)(83380400001)(8676002)(4326008)(66946007)(186003)(66556008)(26005)(8936002)(16526019)(66476007)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: WiuA0mZQz5IH5P++Q7ODYgeMKAhiTtQ03nuupRroyzl6N9Wb60a2mC9tgDysm1zG/ZEQPal2IDYcC0w5wGXvnMnmnainpcK+zz8vHFr7F3PKNmemn8wx2ij2HiH8j0DhdZsH+idyDfSDjEDZfnCVskZ04cVZTqd6HzdOryqr3xDHWiXXYsQzmp1FDJ4ECE1OCXU779Jiap/HUFOEH9YSJ6OP11CdoSK2SV3g5MTfG/ryRADyM6K6gLEpCbSge/67I3ZFyDLAgXvMO8YrcwSg13bXFQEX8/9JAj+4uXAk8PQm36O1+rQfr9ITILENdd9ybGslaZP6HLQE6c5TdYg+5tccDLBRNuo1ziQQFsi/S/hkv7UeozerMzrWnYzdAJzmpZ1UgOhQfzfJuQyjDZnMpAJrO49gIm6ZZ1LrqoqvRMDtO1bgkCtvBn4mszZynlX51fvHpk0eFu38CHoMeAn22Z2nXT8eIM3WnNcVSnn1WvcD21vR05bLlN35WnloAOOeuoj5K6ZmPaAfNTcNgay3cgd80hLjlw+3d+xLv4lK4GWXEdlzgmLtZRfDjaR8vzUhZMaAloYANgVTPyncCrsVEIp6Agdd2m19AYfhx9eeuFKsi9bxWx7GwA1lgyNYPjsycmz8L0i4vDlBHxk5yF4XLA== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9308b89e-fe55-4638-3f57-08d834a67622 X-MS-Exchange-CrossTenant-AuthSource: SN1PR12MB2560.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jul 2020 16:34:42.7104 (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: moMmZwN6oYClJspHQ1rkV9xv5XteWuV7gWTYBEfDR5/9g/eUtm3Gw9y5lr6gfpkN X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR12MB2735 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > -----Original Message----- > From: kvm-owner@vger.kernel.org On Behalf > Of Paolo Bonzini > Sent: Wednesday, July 29, 2020 6:09 PM > To: Moger, Babu ; vkuznets@redhat.com; > wanpengli@tencent.com; sean.j.christopherson@intel.com; > jmattson@google.com > Cc: kvm@vger.kernel.org; joro@8bytes.org; x86@kernel.org; linux- > kernel@vger.kernel.org; mingo@redhat.com; bp@alien8.de; hpa@zytor.com; > tglx@linutronix.de > Subject: Re: [PATCH v3 01/11] KVM: SVM: Introduce __set_intercept, > __clr_intercept and __is_intercept > > On 29/07/20 01:37, Babu Moger wrote: > > This is in preparation for the future intercept vector additions. > > > > Add new functions __set_intercept, __clr_intercept and __is_intercept > > using kernel APIs __set_bit, __clear_bit and test_bit espectively. > > > > Signed-off-by: Babu Moger > > --- > > arch/x86/kvm/svm/svm.h | 15 +++++++++++++++ > > 1 file changed, 15 insertions(+) > > > > diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h index > > 6ac4c00a5d82..3b669718190a 100644 > > --- a/arch/x86/kvm/svm/svm.h > > +++ b/arch/x86/kvm/svm/svm.h > > @@ -217,6 +217,21 @@ static inline struct vmcb *get_host_vmcb(struct > vcpu_svm *svm) > > return svm->vmcb; > > } > > > > +static inline void __set_intercept(void *addr, int bit) { > > + __set_bit(bit, (unsigned long *)addr); } > > + > > +static inline void __clr_intercept(void *addr, int bit) { > > + __clear_bit(bit, (unsigned long *)addr); } > > + > > +static inline bool __is_intercept(void *addr, int bit) { > > + return test_bit(bit, (unsigned long *)addr); } > > + > > Probably worth adding a range check? Paolo, Not sure. It is only called with intercept bits like __set_intercept(addr, INTERCEPT_ xx). All these intercept bits are already accounted for. Thanks > > > static inline void set_cr_intercept(struct vcpu_svm *svm, int bit) { > > struct vmcb *vmcb = get_host_vmcb(svm); > >