Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp859116rwb; Fri, 23 Sep 2022 05:14:55 -0700 (PDT) X-Google-Smtp-Source: AMsMyM706N0l0vXUeQ9/bDcln98Gwqch/OBY98GVmW604VYh9IG0UCUfIaOSehUph8hCJ9ul8Fj5 X-Received: by 2002:a17:907:961e:b0:782:670d:9ff9 with SMTP id gb30-20020a170907961e00b00782670d9ff9mr5700351ejc.387.1663935295097; Fri, 23 Sep 2022 05:14:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663935295; cv=none; d=google.com; s=arc-20160816; b=o6PjINoOWKiZn/7B7DWjvzabm4IvxwaTWyAW/OD98ALBVmA9/K4eZyjri+IJQqowLO k63hclkIPUyljq0D2HyXYOjrI6WNwXtUf2F65EgPw0b+3kGxiBWK6jHJ1yfyiST4gtDZ gIItNi0gyKSHAIPg7Z4k4HcTIVBDwH63vxfkjlblbxg9rgkibLTJCJ+1ypyYpQtLDqEz lR6rCHXMBtEGrHvVVEtA2twL31X/6oFKAhp5IWQUizCWN+5p+LEAQat6h2bbtxrK2Lci ogX+e9GZn4YWxFOyuRDZpytdfTpwC+jQDu/XN156hdSAJwNwVPCNA5iZ4tlAp0AlP0L0 fRNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=6uI5Uq7gaJQDws8ZEDvQZWDZVVTRTV5ipmTdN5kqV00=; b=OHNzZx75RY8l07tbVSRhnwO9PRMpzfkZgtioTWFSPVgaQQcFljm3rfeguBlPlzCowR Ry2/pjplGSsy8+w+Zi2imNXdBHeNjzgQLd2RJko1EY5qORpdVfxiInuoQ95UqRZ315cV 2J0ZdPwjmQQg71zIgjZqW2tnd/r1/j7UJ2OoH9UC1kCf2n1YNbHyMggIwDPABJgrDr3O PJpuDGqpytlO8UdxhNfuPc3S+9FXr/lHsD1r+3r85EX4JsKYu850inL+L5XssVUGJDx3 Sl0C1ObNcn9lyXgHyARxEkn1NYtGqqyw7UZCULNc+ZyH5oURXXXDJ0raktsbcyIpdgoK cCOQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v16-20020a056402349000b0043df9ca3ff8si8871999edc.50.2022.09.23.05.14.29; Fri, 23 Sep 2022 05:14:55 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231236AbiIWLnP (ORCPT + 99 others); Fri, 23 Sep 2022 07:43:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55144 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229733AbiIWLnN (ORCPT ); Fri, 23 Sep 2022 07:43:13 -0400 Received: from mail.nfschina.com (mail.nfschina.com [124.16.136.209]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 44B71E9502; Fri, 23 Sep 2022 04:43:12 -0700 (PDT) Received: from localhost (unknown [127.0.0.1]) by mail.nfschina.com (Postfix) with ESMTP id 0A00B1E80D97; Fri, 23 Sep 2022 19:39:36 +0800 (CST) X-Virus-Scanned: amavisd-new at test.com Received: from mail.nfschina.com ([127.0.0.1]) by localhost (mail.nfschina.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0Jz4Zr8rHdcv; Fri, 23 Sep 2022 19:39:33 +0800 (CST) Received: from localhost.localdomain (unknown [219.141.250.2]) (Authenticated sender: kunyu@nfschina.com) by mail.nfschina.com (Postfix) with ESMTPA id BDBB11E80D94; Fri, 23 Sep 2022 19:39:31 +0800 (CST) From: Li kunyu To: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, catalin.marinas@arm.com, will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, arnd@arndb.de Cc: x86@kernel.org, linux-hyperv@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, Li kunyu Subject: [PATCH v3] hyperv: simplify and rename generate_guest_id Date: Fri, 23 Sep 2022 19:42:59 +0800 Message-Id: <20220923114259.2945-1-kunyu@nfschina.com> X-Mailer: git-send-email 2.18.2 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_NONE 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 generate_guest_id function is more suitable for use after the following modifications. 1. Modify the type of the guest_id variable to u64, which is compatible with the caller. 2. Remove all parameters from the function, and write the parameter (LINUX_VERSION_CODE) passed in by the actual call into the function implementation. 3. Rename the function to make it clearly a Hyper-V related function, and modify it to hv_generate_guest_id. Signed-off-by: Li kunyu -------- v2: Fix generate_guest_id to hv_generate_guest_id. v3: Fix [PATCH v2] asm-generic: Remove the ... to [PATCH v3] hyperv: simp lify ... and remove extra spaces --- arch/arm64/hyperv/mshyperv.c | 2 +- arch/x86/hyperv/hv_init.c | 2 +- include/asm-generic/mshyperv.h | 12 +++++------- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/arch/arm64/hyperv/mshyperv.c b/arch/arm64/hyperv/mshyperv.c index bbbe351e9045..3863fd226e0e 100644 --- a/arch/arm64/hyperv/mshyperv.c +++ b/arch/arm64/hyperv/mshyperv.c @@ -38,7 +38,7 @@ static int __init hyperv_init(void) return 0; /* Setup the guest ID */ - guest_id = generate_guest_id(0, LINUX_VERSION_CODE, 0); + guest_id = hv_generate_guest_id(); hv_set_vpreg(HV_REGISTER_GUEST_OSID, guest_id); /* Get the features and hints from Hyper-V */ diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c index 3de6d8b53367..93770791b858 100644 --- a/arch/x86/hyperv/hv_init.c +++ b/arch/x86/hyperv/hv_init.c @@ -426,7 +426,7 @@ void __init hyperv_init(void) * 1. Register the guest ID * 2. Enable the hypercall and register the hypercall page */ - guest_id = generate_guest_id(0, LINUX_VERSION_CODE, 0); + guest_id = hv_generate_guest_id(); wrmsrl(HV_X64_MSR_GUEST_OS_ID, guest_id); /* Hyper-V requires to write guest os id via ghcb in SNP IVM. */ diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h index c05d2ce9b6cd..7f4a23cee56f 100644 --- a/include/asm-generic/mshyperv.h +++ b/include/asm-generic/mshyperv.h @@ -25,6 +25,7 @@ #include #include #include +#include struct ms_hyperv_info { u32 features; @@ -105,15 +106,12 @@ static inline u64 hv_do_rep_hypercall(u16 code, u16 rep_count, u16 varhead_size, } /* Generate the guest OS identifier as described in the Hyper-V TLFS */ -static inline __u64 generate_guest_id(__u64 d_info1, __u64 kernel_version, - __u64 d_info2) +static inline u64 hv_generate_guest_id(void) { - __u64 guest_id = 0; + u64 guest_id; - guest_id = (((__u64)HV_LINUX_VENDOR_ID) << 48); - guest_id |= (d_info1 << 48); - guest_id |= (kernel_version << 16); - guest_id |= d_info2; + guest_id = (((u64)HV_LINUX_VENDOR_ID) << 48); + guest_id |= (((u64)LINUX_VERSION_CODE) << 16); return guest_id; } -- 2.18.2