From: Wei Liu <wei.liu@kernel.org>
To: Nuno Das Neves <nunodasneves@linux.microsoft.com>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
x86@kernel.org, wei.liu@kernel.org,
jinankjain@linux.microsoft.com, mikelley@microsoft.com,
kys@microsoft.com, Tianyu.Lan@microsoft.com,
haiyangz@microsoft.com, decui@microsoft.com, tglx@linutronix.de,
mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com,
hpa@zytor.com
Subject: Re: [PATCH] x86/hyperv: Fix hv_get/set_register for nested bringup
Date: Mon, 13 Feb 2023 14:28:29 +0000 [thread overview]
Message-ID: <Y+pJDbMu8WEPFnEm@liuwe-devbox-debian-v2> (raw)
In-Reply-To: <1675980172-6851-1-git-send-email-nunodasneves@linux.microsoft.com>
A few comments on style.
On Thu, Feb 09, 2023 at 02:02:52PM -0800, Nuno Das Neves wrote:
> hv_get_nested_reg only translates SINT0, resulting in the wrong sint
> being registered by nested vmbus.
Please put a blank line between paragraphs.
> Fix the issue with new utility function hv_is_sint_reg.
> While at it, improve clarity of hv_set_non_nested_register and hv_is_synic_reg.
>
> Signed-off-by: Nuno Das Neves <nunodasneves@linux.microsoft.com>
> ---
> arch/x86/include/asm/mshyperv.h | 11 +++++++----
> arch/x86/kernel/cpu/mshyperv.c | 8 ++++----
> 2 files changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
> index 9ae1a344536b..684c547c1cca 100644
> --- a/arch/x86/include/asm/mshyperv.h
> +++ b/arch/x86/include/asm/mshyperv.h
> @@ -225,10 +225,13 @@ extern bool hv_isolation_type_snp(void);
>
> static inline bool hv_is_synic_reg(unsigned int reg)
> {
> - if ((reg >= HV_REGISTER_SCONTROL) &&
> - (reg <= HV_REGISTER_SINT15))
> - return true;
> - return false;
> + return (reg >= HV_REGISTER_SCONTROL) &&
> + (reg <= HV_REGISTER_SINT15);
> +}
Please put a new line here.
I can fix these issues too if you don't end up sending a new version due
to other issues.
Jinank, please take a look. The code looks sensible to me, but I would
like you to have a look too.
Thanks,
Wei.
> +static inline bool hv_is_sint_reg(unsigned int reg)
> +{
> + return (reg >= HV_REGISTER_SINT0) &&
> + (reg <= HV_REGISTER_SINT15);
> }
>
> u64 hv_get_register(unsigned int reg);
> diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
> index 0ceb6d1f9c3c..6bd344e1200f 100644
> --- a/arch/x86/kernel/cpu/mshyperv.c
> +++ b/arch/x86/kernel/cpu/mshyperv.c
> @@ -44,6 +44,9 @@ struct ms_hyperv_info ms_hyperv;
> #if IS_ENABLED(CONFIG_HYPERV)
> static inline unsigned int hv_get_nested_reg(unsigned int reg)
> {
> + if (hv_is_sint_reg(reg))
> + return reg - HV_REGISTER_SINT0 + HV_REGISTER_NESTED_SINT0;
> +
> switch (reg) {
> case HV_REGISTER_SIMP:
> return HV_REGISTER_NESTED_SIMP;
> @@ -53,8 +56,6 @@ static inline unsigned int hv_get_nested_reg(unsigned int reg)
> return HV_REGISTER_NESTED_SVERSION;
> case HV_REGISTER_SCONTROL:
> return HV_REGISTER_NESTED_SCONTROL;
> - case HV_REGISTER_SINT0:
> - return HV_REGISTER_NESTED_SINT0;
> case HV_REGISTER_EOM:
> return HV_REGISTER_NESTED_EOM;
> default:
> @@ -80,8 +81,7 @@ void hv_set_non_nested_register(unsigned int reg, u64 value)
> hv_ghcb_msr_write(reg, value);
>
> /* Write proxy bit via wrmsl instruction */
> - if (reg >= HV_REGISTER_SINT0 &&
> - reg <= HV_REGISTER_SINT15)
> + if (hv_is_sint_reg(reg))
> wrmsrl(reg, value | 1 << 20);
> } else {
> wrmsrl(reg, value);
> --
> 2.25.1
>
next prev parent reply other threads:[~2023-02-13 14:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-09 22:02 [PATCH] x86/hyperv: Fix hv_get/set_register for nested bringup Nuno Das Neves
2023-02-13 14:28 ` Wei Liu [this message]
2023-02-14 22:17 ` Nuno Das Neves
2023-02-14 23:05 ` Wei Liu
2023-02-15 16:35 ` Jinank Jain
2023-02-15 22:07 ` Nuno Das Neves
2023-02-16 14:33 ` Wei Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y+pJDbMu8WEPFnEm@liuwe-devbox-debian-v2 \
--to=wei.liu@kernel.org \
--cc=Tianyu.Lan@microsoft.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=decui@microsoft.com \
--cc=haiyangz@microsoft.com \
--cc=hpa@zytor.com \
--cc=jinankjain@linux.microsoft.com \
--cc=kys@microsoft.com \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mikelley@microsoft.com \
--cc=mingo@redhat.com \
--cc=nunodasneves@linux.microsoft.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.