All of lore.kernel.org
 help / color / mirror / Atom feed
From: Haibo Xu <haibo1.xu@intel.com>
To: unlisted-recipients:; (no To-header on input)
Cc: xiaobo55x@gmail.com, haibo1.xu@intel.com,
	ajones@ventanamicro.com, maz@kernel.org, oliver.upton@linux.dev,
	seanjc@google.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>,
	James Morse <james.morse@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	Ricardo Koller <ricarkol@google.com>,
	Vishal Annapurve <vannapurve@google.com>,
	Like Xu <likexu@tencent.com>, Vipin Sharma <vipinsh@google.com>,
	David Matlack <dmatlack@google.com>,
	Colton Lewis <coltonlewis@google.com>,
	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,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev
Subject: [PATCH v6 00/13] RISCV: Add KVM_GET_REG_LIST API
Date: Tue, 25 Jul 2023 16:41:26 +0800	[thread overview]
Message-ID: <cover.1690273969.git.haibo1.xu@intel.com> (raw)

KVM_GET_REG_LIST will dump all register IDs that are available to
KVM_GET/SET_ONE_REG and It's very useful to identify some platform
regression issue during VM migration.

Patch 1-7 re-structured the get-reg-list test in aarch64 to make some
of the code as common test framework that can be shared by riscv.

Patch 8 move reject_set check logic to a function so as to check for
different errno for different registers.
Patch 9 move finalize_vcpu back to run_test so that riscv can implement
its specific operation.
Patch 10 change to do the get/set operation only on present-blessed list.
Patch 11 add the skip_set facilities so that riscv can skip set operation
on some registers.
Patch 12 enabled the KVM_GET_REG_LIST API in riscv.
patch 13 added the corresponding kselftest for checking possible
register regressions.

The get-reg-list kvm selftest was ported from aarch64 and tested with
Linux v6.5-rc3 on a Qemu riscv64 virt machine.

---
Changed since v5:
  * Rebase to v6.5-rc3
  * Minor fix for Andrew's comments

Andrew Jones (7):
  KVM: arm64: selftests: Replace str_with_index with strdup_printf
  KVM: arm64: selftests: Drop SVE cap check in print_reg
  KVM: arm64: selftests: Remove print_reg's dependency on vcpu_config
  KVM: arm64: selftests: Rename vcpu_config and add to kvm_util.h
  KVM: arm64: selftests: Delete core_reg_fixup
  KVM: arm64: selftests: Split get-reg-list test code
  KVM: arm64: selftests: Finish generalizing get-reg-list

Haibo Xu (6):
  KVM: arm64: selftests: Move reject_set check logic to a function
  KVM: arm64: selftests: Move finalize_vcpu back to run_test
  KVM: selftests: Only do get/set tests on present blessed list
  KVM: selftests: Add skip_set facility to get_reg_list test
  KVM: riscv: Add KVM_GET_REG_LIST API support
  KVM: riscv: selftests: Add get-reg-list test

 Documentation/virt/kvm/api.rst                |   2 +-
 arch/riscv/kvm/vcpu.c                         | 375 +++++++++
 tools/testing/selftests/kvm/Makefile          |  13 +-
 .../selftests/kvm/aarch64/get-reg-list.c      | 554 ++-----------
 tools/testing/selftests/kvm/get-reg-list.c    | 401 +++++++++
 .../selftests/kvm/include/kvm_util_base.h     |  21 +
 .../selftests/kvm/include/riscv/processor.h   |   3 +
 .../testing/selftests/kvm/include/test_util.h |   2 +
 tools/testing/selftests/kvm/lib/test_util.c   |  15 +
 .../selftests/kvm/riscv/get-reg-list.c        | 780 ++++++++++++++++++
 10 files changed, 1670 insertions(+), 496 deletions(-)
 create mode 100644 tools/testing/selftests/kvm/get-reg-list.c
 create mode 100644 tools/testing/selftests/kvm/riscv/get-reg-list.c

-- 
2.34.1


WARNING: multiple messages have this Message-ID (diff)
From: Haibo Xu <haibo1.xu@intel.com>
Cc: xiaobo55x@gmail.com, haibo1.xu@intel.com,
	ajones@ventanamicro.com, maz@kernel.org, oliver.upton@linux.dev,
	seanjc@google.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>,
	James Morse <james.morse@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	Ricardo Koller <ricarkol@google.com>,
	Vishal Annapurve <vannapurve@google.com>,
	Like Xu <likexu@tencent.com>, Vipin Sharma <vipinsh@google.com>,
	David Matlack <dmatlack@google.com>,
	Colton Lewis <coltonlewis@google.com>,
	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,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev
Subject: [PATCH v6 00/13] RISCV: Add KVM_GET_REG_LIST API
Date: Tue, 25 Jul 2023 16:41:26 +0800	[thread overview]
Message-ID: <cover.1690273969.git.haibo1.xu@intel.com> (raw)

KVM_GET_REG_LIST will dump all register IDs that are available to
KVM_GET/SET_ONE_REG and It's very useful to identify some platform
regression issue during VM migration.

Patch 1-7 re-structured the get-reg-list test in aarch64 to make some
of the code as common test framework that can be shared by riscv.

Patch 8 move reject_set check logic to a function so as to check for
different errno for different registers.
Patch 9 move finalize_vcpu back to run_test so that riscv can implement
its specific operation.
Patch 10 change to do the get/set operation only on present-blessed list.
Patch 11 add the skip_set facilities so that riscv can skip set operation
on some registers.
Patch 12 enabled the KVM_GET_REG_LIST API in riscv.
patch 13 added the corresponding kselftest for checking possible
register regressions.

The get-reg-list kvm selftest was ported from aarch64 and tested with
Linux v6.5-rc3 on a Qemu riscv64 virt machine.

---
Changed since v5:
  * Rebase to v6.5-rc3
  * Minor fix for Andrew's comments

Andrew Jones (7):
  KVM: arm64: selftests: Replace str_with_index with strdup_printf
  KVM: arm64: selftests: Drop SVE cap check in print_reg
  KVM: arm64: selftests: Remove print_reg's dependency on vcpu_config
  KVM: arm64: selftests: Rename vcpu_config and add to kvm_util.h
  KVM: arm64: selftests: Delete core_reg_fixup
  KVM: arm64: selftests: Split get-reg-list test code
  KVM: arm64: selftests: Finish generalizing get-reg-list

Haibo Xu (6):
  KVM: arm64: selftests: Move reject_set check logic to a function
  KVM: arm64: selftests: Move finalize_vcpu back to run_test
  KVM: selftests: Only do get/set tests on present blessed list
  KVM: selftests: Add skip_set facility to get_reg_list test
  KVM: riscv: Add KVM_GET_REG_LIST API support
  KVM: riscv: selftests: Add get-reg-list test

 Documentation/virt/kvm/api.rst                |   2 +-
 arch/riscv/kvm/vcpu.c                         | 375 +++++++++
 tools/testing/selftests/kvm/Makefile          |  13 +-
 .../selftests/kvm/aarch64/get-reg-list.c      | 554 ++-----------
 tools/testing/selftests/kvm/get-reg-list.c    | 401 +++++++++
 .../selftests/kvm/include/kvm_util_base.h     |  21 +
 .../selftests/kvm/include/riscv/processor.h   |   3 +
 .../testing/selftests/kvm/include/test_util.h |   2 +
 tools/testing/selftests/kvm/lib/test_util.c   |  15 +
 .../selftests/kvm/riscv/get-reg-list.c        | 780 ++++++++++++++++++
 10 files changed, 1670 insertions(+), 496 deletions(-)
 create mode 100644 tools/testing/selftests/kvm/get-reg-list.c
 create mode 100644 tools/testing/selftests/kvm/riscv/get-reg-list.c

-- 
2.34.1


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Haibo Xu <haibo1.xu@intel.com>
Cc: xiaobo55x@gmail.com, haibo1.xu@intel.com,
	ajones@ventanamicro.com, maz@kernel.org, oliver.upton@linux.dev,
	seanjc@google.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>,
	James Morse <james.morse@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	Ricardo Koller <ricarkol@google.com>,
	Vishal Annapurve <vannapurve@google.com>,
	Like Xu <likexu@tencent.com>, Vipin Sharma <vipinsh@google.com>,
	David Matlack <dmatlack@google.com>,
	Colton Lewis <coltonlewis@google.com>,
	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,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev
Subject: [PATCH v6 00/13] RISCV: Add KVM_GET_REG_LIST API
Date: Tue, 25 Jul 2023 16:41:26 +0800	[thread overview]
Message-ID: <cover.1690273969.git.haibo1.xu@intel.com> (raw)

KVM_GET_REG_LIST will dump all register IDs that are available to
KVM_GET/SET_ONE_REG and It's very useful to identify some platform
regression issue during VM migration.

Patch 1-7 re-structured the get-reg-list test in aarch64 to make some
of the code as common test framework that can be shared by riscv.

Patch 8 move reject_set check logic to a function so as to check for
different errno for different registers.
Patch 9 move finalize_vcpu back to run_test so that riscv can implement
its specific operation.
Patch 10 change to do the get/set operation only on present-blessed list.
Patch 11 add the skip_set facilities so that riscv can skip set operation
on some registers.
Patch 12 enabled the KVM_GET_REG_LIST API in riscv.
patch 13 added the corresponding kselftest for checking possible
register regressions.

The get-reg-list kvm selftest was ported from aarch64 and tested with
Linux v6.5-rc3 on a Qemu riscv64 virt machine.

---
Changed since v5:
  * Rebase to v6.5-rc3
  * Minor fix for Andrew's comments

Andrew Jones (7):
  KVM: arm64: selftests: Replace str_with_index with strdup_printf
  KVM: arm64: selftests: Drop SVE cap check in print_reg
  KVM: arm64: selftests: Remove print_reg's dependency on vcpu_config
  KVM: arm64: selftests: Rename vcpu_config and add to kvm_util.h
  KVM: arm64: selftests: Delete core_reg_fixup
  KVM: arm64: selftests: Split get-reg-list test code
  KVM: arm64: selftests: Finish generalizing get-reg-list

Haibo Xu (6):
  KVM: arm64: selftests: Move reject_set check logic to a function
  KVM: arm64: selftests: Move finalize_vcpu back to run_test
  KVM: selftests: Only do get/set tests on present blessed list
  KVM: selftests: Add skip_set facility to get_reg_list test
  KVM: riscv: Add KVM_GET_REG_LIST API support
  KVM: riscv: selftests: Add get-reg-list test

 Documentation/virt/kvm/api.rst                |   2 +-
 arch/riscv/kvm/vcpu.c                         | 375 +++++++++
 tools/testing/selftests/kvm/Makefile          |  13 +-
 .../selftests/kvm/aarch64/get-reg-list.c      | 554 ++-----------
 tools/testing/selftests/kvm/get-reg-list.c    | 401 +++++++++
 .../selftests/kvm/include/kvm_util_base.h     |  21 +
 .../selftests/kvm/include/riscv/processor.h   |   3 +
 .../testing/selftests/kvm/include/test_util.h |   2 +
 tools/testing/selftests/kvm/lib/test_util.c   |  15 +
 .../selftests/kvm/riscv/get-reg-list.c        | 780 ++++++++++++++++++
 10 files changed, 1670 insertions(+), 496 deletions(-)
 create mode 100644 tools/testing/selftests/kvm/get-reg-list.c
 create mode 100644 tools/testing/selftests/kvm/riscv/get-reg-list.c

-- 
2.34.1


             reply	other threads:[~2023-07-25  8:36 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-25  8:41 Haibo Xu [this message]
2023-07-25  8:41 ` [PATCH v6 00/13] RISCV: Add KVM_GET_REG_LIST API Haibo Xu
2023-07-25  8:41 ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 01/13] KVM: arm64: selftests: Replace str_with_index with strdup_printf Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 02/13] KVM: arm64: selftests: Drop SVE cap check in print_reg Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 03/13] KVM: arm64: selftests: Remove print_reg's dependency on vcpu_config Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 04/13] KVM: arm64: selftests: Rename vcpu_config and add to kvm_util.h Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 05/13] KVM: arm64: selftests: Delete core_reg_fixup Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 06/13] KVM: arm64: selftests: Split get-reg-list test code Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:50   ` Haibo Xu
2023-07-25  8:50     ` Haibo Xu
2023-07-25 12:44     ` Andrew Jones
2023-07-25 12:44       ` Andrew Jones
2023-07-26  1:17       ` Haibo Xu
2023-07-26  1:17         ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 07/13] KVM: arm64: selftests: Finish generalizing get-reg-list Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 08/13] KVM: arm64: selftests: Move reject_set check logic to a function Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 09/13] KVM: arm64: selftests: Move finalize_vcpu back to run_test Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 10/13] KVM: selftests: Only do get/set tests on present blessed list Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 11/13] KVM: selftests: Add skip_set facility to get_reg_list test Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 12/13] KVM: riscv: Add KVM_GET_REG_LIST API support Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 13/13] KVM: riscv: selftests: Add get-reg-list test Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-08-07  3:48 ` [PATCH v6 00/13] RISCV: Add KVM_GET_REG_LIST API Anup Patel
2023-08-07  3:48   ` Anup Patel
2023-08-07  3:48   ` Anup Patel
2023-08-08 11:12   ` Marc Zyngier
2023-08-08 11:12     ` Marc Zyngier
2023-08-08 11:12     ` Marc Zyngier
2023-08-09  3:26     ` Haibo Xu
2023-08-09  3:26       ` Haibo Xu
2023-08-09  3:26       ` Haibo Xu
2023-08-09  3:48       ` Anup Patel
2023-08-09  3:48         ` Anup Patel
2023-08-09  3:48         ` Anup Patel
2023-08-09  5:02         ` Haibo Xu
2023-08-09  5:02           ` Haibo Xu
2023-08-09  5:02           ` Haibo Xu
2023-08-09 12:21     ` Anup Patel
2023-08-09 12:21       ` Anup Patel
2023-08-09 12:21       ` Anup Patel

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=cover.1690273969.git.haibo1.xu@intel.com \
    --to=haibo1.xu@intel.com \
    --cc=ajones@ventanamicro.com \
    --cc=anup@brainfault.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=atishp@atishpatra.org \
    --cc=coltonlewis@google.com \
    --cc=corbet@lwn.net \
    --cc=dmatlack@google.com \
    --cc=james.morse@arm.com \
    --cc=kvm-riscv@lists.infradead.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=likexu@tencent.com \
    --cc=linux-arm-kernel@lists.infradead.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=maz@kernel.org \
    --cc=oliver.upton@linux.dev \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=pbonzini@redhat.com \
    --cc=ricarkol@google.com \
    --cc=seanjc@google.com \
    --cc=shuah@kernel.org \
    --cc=suzuki.poulose@arm.com \
    --cc=vannapurve@google.com \
    --cc=vipinsh@google.com \
    --cc=xiaobo55x@gmail.com \
    --cc=yuzenghui@huawei.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 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.