From: Andrew Jones <ajones@ventanamicro.com>
To: Haibo Xu <haibo1.xu@intel.com>
Cc: xiaobo55x@gmail.com, Paolo Bonzini <pbonzini@redhat.com>,
Jonathan Corbet <corbet@lwn.net>,
Anup Patel <anup@brainfault.org>,
Atish Patra <atishp@atishpatra.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>, Shuah Khan <shuah@kernel.org>,
kvm@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, kvm-riscv@lists.infradead.org,
linux-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org
Subject: Re: [PATCH 1/2] riscv: kvm: Add KVM_GET_REG_LIST API support
Date: Thu, 11 May 2023 18:40:05 +0200 [thread overview]
Message-ID: <20230511-d0a207eebb30fc88de875e4f@orel> (raw)
In-Reply-To: <921fc2e1a91887170e277acb1b52df57480a5736.1683791148.git.haibo1.xu@intel.com>
On Thu, May 11, 2023 at 05:22:48PM +0800, Haibo Xu wrote:
> KVM_GET_REG_LIST API will return all registers that are available to
> KVM_GET/SET_ONE_REG APIs. It's very useful to identify some platform
> regression issue during VM migration.
>
> Since this API was already supported on arm64, it'd be straightforward
> to enable it on riscv with similar code structure.
>
> Signed-off-by: Haibo Xu <haibo1.xu@intel.com>
> ---
> Documentation/virt/kvm/api.rst | 2 +-
> arch/riscv/kvm/vcpu.c | 346 +++++++++++++++++++++++++++++++++
> 2 files changed, 347 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst
> index add067793b90..280e89abd004 100644
> --- a/Documentation/virt/kvm/api.rst
> +++ b/Documentation/virt/kvm/api.rst
> @@ -3499,7 +3499,7 @@ VCPU matching underlying host.
> ---------------------
>
> :Capability: basic
> -:Architectures: arm64, mips
> +:Architectures: arm64, mips, riscv
> :Type: vcpu ioctl
> :Parameters: struct kvm_reg_list (in/out)
> :Returns: 0 on success; -1 on error
> diff --git a/arch/riscv/kvm/vcpu.c b/arch/riscv/kvm/vcpu.c
> index 8bd9f2a8a0b9..fb8834e4fa15 100644
> --- a/arch/riscv/kvm/vcpu.c
> +++ b/arch/riscv/kvm/vcpu.c
> @@ -657,6 +657,334 @@ static int kvm_riscv_vcpu_set_reg_isa_ext(struct kvm_vcpu *vcpu,
> return 0;
> }
>
> +static inline unsigned long num_config_regs(void)
> +{
> + return sizeof(struct kvm_riscv_config) / sizeof(unsigned long);
We can't assume all config registers are present. For example,
zicbom and zicboz block size registers are only present when their
respective extensions are available.
Thanks,
drew
next prev parent reply other threads:[~2023-05-11 16:40 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-11 9:22 [PATCH 0/2] RISCV: Add KVM_GET_REG_LIST API Haibo Xu
2023-05-11 9:22 ` [PATCH 1/2] riscv: kvm: Add KVM_GET_REG_LIST API support Haibo Xu
2023-05-11 10:44 ` Andrew Jones
2023-05-15 6:21 ` Haibo Xu
2023-05-11 16:40 ` Andrew Jones [this message]
2023-05-15 6:23 ` Haibo Xu
2023-05-11 22:25 ` Conor Dooley
2023-05-11 22:48 ` Conor Dooley
2023-05-15 6:24 ` Haibo Xu
2023-05-11 9:22 ` [PATCH 2/2] KVM: selftests: Add riscv get-reg-list test Haibo Xu
2023-05-17 11:06 ` Andrew Jones
2023-05-18 4:17 ` Haibo Xu
2023-05-18 7:32 ` Andrew Jones
2023-05-18 8:10 ` Haibo Xu
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=20230511-d0a207eebb30fc88de875e4f@orel \
--to=ajones@ventanamicro.com \
--cc=anup@brainfault.org \
--cc=aou@eecs.berkeley.edu \
--cc=atishp@atishpatra.org \
--cc=corbet@lwn.net \
--cc=haibo1.xu@intel.com \
--cc=kvm-riscv@lists.infradead.org \
--cc=kvm@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=pbonzini@redhat.com \
--cc=shuah@kernel.org \
--cc=xiaobo55x@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox