From: Ingo Molnar <mingo@kernel.org>
To: Alexey Kardashevskiy <aik@amd.com>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
Tom Lendacky <thomas.lendacky@amd.com>
Subject: Re: [PATCH kernel] x86/compressed/64: reduce #VC nesting for intercepted CPUID for SEV-SNP guest
Date: Mon, 25 Sep 2023 12:03:07 +0200 [thread overview]
Message-ID: <ZRFa267Aa9Xs6fEF@gmail.com> (raw)
In-Reply-To: <53e60186-674f-449b-a99f-01cd759c65de@amd.com>
* Alexey Kardashevskiy <aik@amd.com> wrote:
> > That makes this workaround to reduce nesting a lot easier to read & maintain in the
> > longer run.
>
> Currently it is:
>
> #define rdmsr(msr, low, high)
>
> Will the below signature do?
>
> #define rdmsr_GHCB(msr, low, high, ghcb, ctxt) {( \
> int __ret; \
> ghcb_set_rcx((ghcb), (msr)); \
> __ret = sev_es_ghcb_hv_call((ghcb), (ctxt), SVM_EXIT_MSR, 0, 0); \
> if (__ret = ES_OK) { \
> low = (ghcb)->save.rax; \
> high = (ghcb)->save.rdx; \
> } \
> __ret; )}
Sounds about right. Small nit: please prettify the macro a bit for readability,
ie. something like:
#define rdmsr_safe_GHCB(msr, low, high, ghcb, ctxt) {( \
int __ret; \
\
ghcb_set_rcx((ghcb), (msr)); \
__ret = sev_es_ghcb_hv_call((ghcb), (ctxt), SVM_EXIT_MSR, 0, 0); \
if (__ret = ES_OK) { \
low = (ghcb)->save.rax; \
high = (ghcb)->save.rdx; \
} \
__ret; )}
> rdmsr() does not return a value but rdmsr_GHCB() has to, can even make it
> static inline function, should I?
It's a bit like rdmsr_safe()? My above naming reflects this.
I'd keep it a CPP macro, it's simple enough, the other MSR accessors are doing
it too, and to make sure this isn't instrumented the wrong way...
Thanks,
Ingo
prev parent reply other threads:[~2023-09-25 10:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-25 4:23 [PATCH kernel] x86/compressed/64: reduce #VC nesting for intercepted CPUID for SEV-SNP guest Alexey Kardashevskiy
2023-09-25 8:41 ` Ingo Molnar
2023-09-25 9:23 ` Alexey Kardashevskiy
2023-09-25 10:03 ` Ingo Molnar [this message]
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=ZRFa267Aa9Xs6fEF@gmail.com \
--to=mingo@kernel.org \
--cc=aik@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=thomas.lendacky@amd.com \
--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.