Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp2590607pxp; Tue, 22 Mar 2022 01:39:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJztZfR9Mc4Ei0vz4ZIqXCtDurSdc4GbfF/tv1tGdPAWZpkTYH74AgffHOQn4T3mH2eEz76n X-Received: by 2002:a17:907:7f21:b0:6e0:355f:805e with SMTP id qf33-20020a1709077f2100b006e0355f805emr3009151ejc.752.1647938344220; Tue, 22 Mar 2022 01:39:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647938344; cv=none; d=google.com; s=arc-20160816; b=W9tCHWYzluId9O3AcrgpCEpmjFcGZW4IVjmtJvOsnAikhGAadnh2WIQYJs0ThUDkJu 0VmtZlymE5gUFzSCu5aHHMpWT77u/4iswQR6XAIb6KMX7d2e6E9MWASSBISzi6x9/ZS2 NfSKz07TyPgUQde8Aa35xpoZpSL+id12vPxnRZ0A1QFse6r7EEZgRqKJBcaL7POALPcz Orp9WbJDcHcIA7hYOw5wnPj3lSab2h7u1B+hVlpYkJ1g1QYMnnohy9KNRGLyBYlJjaT5 bqpqnkCO2ap9h6CIIkfXSfB7Gzl92JHCRrcbycS4Qszm3svkLYE8JBPxGxroZv5oa/0+ Z2+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=N9c9KYfInlm3WESUry5oYf1sTxA1uf+ImXpH7d2FaLk=; b=thEK9oGrFpr7cJC+SpCqxft5QjtOCioZzvBNjNEFRsE4w7DEAeYDKbFCgTPmKPj/Td DQUIe+EU2J18yvzhxq/+Zr2lau8hPN+aM6vCmihTA2E3imOSQE26X6anJ6K7lvPhSqgG BnmEjEr5V1YzDtGrW6RBOnx47v8CyloTfB959vCQ62qYSkdMT/Mqf6GDtqkg3vn0geW5 7KLFY7N/IgAKW1vRhl/69Efm/I4lDxOQ8z3Knu1bTyuYMPMoTx0yzLWre3aD4TbKWOP8 5aeSATQFvhMavBOl+S9qNIc1AYh9Ie8K3XYXuNeKxrOyOCuQZhzm/as/pTi5jmo9p1Lf Cd3Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=LlS40oTb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f28-20020a50d55c000000b0041949d8911fsi3118810edj.73.2022.03.22.01.38.39; Tue, 22 Mar 2022 01:39:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=LlS40oTb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229691AbiCVIJ1 (ORCPT + 99 others); Tue, 22 Mar 2022 04:09:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52432 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229602AbiCVIJY (ORCPT ); Tue, 22 Mar 2022 04:09:24 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id A691EDF7D for ; Tue, 22 Mar 2022 01:07:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1647936476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=N9c9KYfInlm3WESUry5oYf1sTxA1uf+ImXpH7d2FaLk=; b=LlS40oTbSSla2J6g3LoKxw2SpRgoiJy6hPu57YBCU0JA6MnWsDHnSUoOiNwEBcfWm0G207 WorIiflAzxbvYsZQZw9NbncmSPHZLbv1aJdfr6isCaEBsmhLNhuzzqiPlNZiQWyg7qw+PI dNibwVzVbNWhu7WPm2eYwAPqVMlY8YU= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-569-o8EAzm0_PpO9EZ1_Y38Gag-1; Tue, 22 Mar 2022 04:07:53 -0400 X-MC-Unique: o8EAzm0_PpO9EZ1_Y38Gag-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4061E1C04B66; Tue, 22 Mar 2022 08:07:53 +0000 (UTC) Received: from gshan.redhat.com (ovpn-12-33.pek2.redhat.com [10.72.12.33]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E6FC61121324; Tue, 22 Mar 2022 08:07:41 +0000 (UTC) From: Gavin Shan To: kvmarm@lists.cs.columbia.edu Cc: linux-kernel@vger.kernel.org, eauger@redhat.com, shannon.zhaosl@gmail.com, maz@kernel.org, Jonathan.Cameron@huawei.com, will@kernel.org, pbonzini@redhat.com, james.morse@arm.com, mark.rutland@arm.com, drjones@redhat.com, vkuznets@redhat.com, shan.gavin@gmail.com Subject: [PATCH v5 01/22] KVM: arm64: Introduce template for inline functions Date: Tue, 22 Mar 2022 16:06:49 +0800 Message-Id: <20220322080710.51727-2-gshan@redhat.com> In-Reply-To: <20220322080710.51727-1-gshan@redhat.com> References: <20220322080710.51727-1-gshan@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-Spam-Status: No, score=-3.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The inline functions used to get the SMCCC parameters have same layout. It means these functions can be presented by an unified template, to make the code simplified. Besides, this adds more similar inline functions like smccc_get_arg{4,5,6,7,8}() to get more SMCCC arguments, which are needed by SDEI virtualization support. Signed-off-by: Gavin Shan --- include/kvm/arm_hypercalls.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/include/kvm/arm_hypercalls.h b/include/kvm/arm_hypercalls.h index 0e2509d27910..d5144c852fe4 100644 --- a/include/kvm/arm_hypercalls.h +++ b/include/kvm/arm_hypercalls.h @@ -13,20 +13,20 @@ static inline u32 smccc_get_function(struct kvm_vcpu *vcpu) return vcpu_get_reg(vcpu, 0); } -static inline unsigned long smccc_get_arg1(struct kvm_vcpu *vcpu) -{ - return vcpu_get_reg(vcpu, 1); -} - -static inline unsigned long smccc_get_arg2(struct kvm_vcpu *vcpu) -{ - return vcpu_get_reg(vcpu, 2); +#define SMCCC_DECLARE_GET_ARG(reg) \ +static inline unsigned long smccc_get_arg##reg(struct kvm_vcpu *vcpu) \ +{ \ + return vcpu_get_reg(vcpu, reg); \ } -static inline unsigned long smccc_get_arg3(struct kvm_vcpu *vcpu) -{ - return vcpu_get_reg(vcpu, 3); -} +SMCCC_DECLARE_GET_ARG(1) +SMCCC_DECLARE_GET_ARG(2) +SMCCC_DECLARE_GET_ARG(3) +SMCCC_DECLARE_GET_ARG(4) +SMCCC_DECLARE_GET_ARG(5) +SMCCC_DECLARE_GET_ARG(6) +SMCCC_DECLARE_GET_ARG(7) +SMCCC_DECLARE_GET_ARG(8) static inline void smccc_set_retval(struct kvm_vcpu *vcpu, unsigned long a0, -- 2.23.0