* [PATCH 0/2] RISC-V: KVM: A couple kselftests improvements
@ 2023-08-17 16:23 Andrew Jones
2023-08-17 16:23 ` [PATCH 1/2] MAINTAINERS: RISC-V: KVM: Add another kselftests path Andrew Jones
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Andrew Jones @ 2023-08-17 16:23 UTC (permalink / raw)
To: kvm-riscv, linux-riscv
Cc: anup, atishp, haibo1.xu, paul.walmsley, palmer, aou
Add the riscv kselftests test dir to MAINTAINERS and improve the
maintainability of the arrays in the get-reg-list test.
These tests are based on kvm-riscv/riscv_kvm_queue.
Andrew Jones (2):
MAINTAINERS: RISC-V: KVM: Add another kselftests path
KVM: selftests: Add array order helpers to riscv get-reg-list
MAINTAINERS | 1 +
.../selftests/kvm/riscv/get-reg-list.c | 76 ++++++++++---------
2 files changed, 42 insertions(+), 35 deletions(-)
--
2.41.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] MAINTAINERS: RISC-V: KVM: Add another kselftests path
2023-08-17 16:23 [PATCH 0/2] RISC-V: KVM: A couple kselftests improvements Andrew Jones
@ 2023-08-17 16:23 ` Andrew Jones
2023-08-18 1:29 ` Xu, Haibo1
2023-08-18 14:22 ` Xu, Haibo1
2023-08-17 16:23 ` [PATCH 2/2] KVM: selftests: Add array order helpers to riscv get-reg-list Andrew Jones
2023-09-25 13:28 ` [PATCH 0/2] RISC-V: KVM: A couple kselftests improvements Anup Patel
2 siblings, 2 replies; 9+ messages in thread
From: Andrew Jones @ 2023-08-17 16:23 UTC (permalink / raw)
To: kvm-riscv, linux-riscv
Cc: anup, atishp, haibo1.xu, paul.walmsley, palmer, aou
With the introduction of the get-reg-list test for riscv, another
directory has been added that should be tracked by riscv kvm
maintainers.
Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 0f966f05fb0d..8fc9e6e7f207 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -11463,6 +11463,7 @@ F: arch/riscv/include/asm/kvm*
F: arch/riscv/include/uapi/asm/kvm*
F: arch/riscv/kvm/
F: tools/testing/selftests/kvm/*/riscv/
+F: tools/testing/selftests/kvm/riscv/
KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
M: Christian Borntraeger <borntraeger@linux.ibm.com>
--
2.41.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/2] KVM: selftests: Add array order helpers to riscv get-reg-list
2023-08-17 16:23 [PATCH 0/2] RISC-V: KVM: A couple kselftests improvements Andrew Jones
2023-08-17 16:23 ` [PATCH 1/2] MAINTAINERS: RISC-V: KVM: Add another kselftests path Andrew Jones
@ 2023-08-17 16:23 ` Andrew Jones
2023-08-18 1:31 ` Xu, Haibo1
2023-08-18 14:25 ` Xu, Haibo1
2023-09-25 13:28 ` [PATCH 0/2] RISC-V: KVM: A couple kselftests improvements Anup Patel
2 siblings, 2 replies; 9+ messages in thread
From: Andrew Jones @ 2023-08-17 16:23 UTC (permalink / raw)
To: kvm-riscv, linux-riscv
Cc: anup, atishp, haibo1.xu, paul.walmsley, palmer, aou
Add a couple macros to use when filling arrays in order to ensure
the elements are placed in the right order, regardless of the
order we prefer to read them. And immediately apply the new
macro to resorting the ISA extension lists alphabetically.
Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
---
.../selftests/kvm/riscv/get-reg-list.c | 76 ++++++++++---------
1 file changed, 41 insertions(+), 35 deletions(-)
diff --git a/tools/testing/selftests/kvm/riscv/get-reg-list.c b/tools/testing/selftests/kvm/riscv/get-reg-list.c
index d8ecacd03ecf..0ea17a5ffbed 100644
--- a/tools/testing/selftests/kvm/riscv/get-reg-list.c
+++ b/tools/testing/selftests/kvm/riscv/get-reg-list.c
@@ -20,16 +20,16 @@ bool filter_reg(__u64 reg)
* So, to make life easy, just filtering out these kind of registers.
*/
switch (reg & ~REG_MASK) {
+ case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_SSAIA:
case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_SSTC:
case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_SVINVAL:
- case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIHINTPAUSE:
- case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZBB:
- case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_SSAIA:
case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZBA:
+ case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZBB:
case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZBS:
case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZICNTR:
case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZICSR:
case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIFENCEI:
+ case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIHINTPAUSE:
case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIHPM:
return true;
default:
@@ -281,35 +281,38 @@ static const char *fp_d_id_to_str(const char *prefix, __u64 id)
return NULL;
}
+#define KVM_ISA_EXT_ARR(ext) \
+[KVM_RISCV_ISA_EXT_##ext] = "KVM_RISCV_ISA_EXT_" #ext
+
static const char *isa_ext_id_to_str(__u64 id)
{
/* reg_off is the offset into unsigned long kvm_isa_ext_arr[] */
__u64 reg_off = id & ~(REG_MASK | KVM_REG_RISCV_ISA_EXT);
static const char * const kvm_isa_ext_reg_name[] = {
- "KVM_RISCV_ISA_EXT_A",
- "KVM_RISCV_ISA_EXT_C",
- "KVM_RISCV_ISA_EXT_D",
- "KVM_RISCV_ISA_EXT_F",
- "KVM_RISCV_ISA_EXT_H",
- "KVM_RISCV_ISA_EXT_I",
- "KVM_RISCV_ISA_EXT_M",
- "KVM_RISCV_ISA_EXT_SVPBMT",
- "KVM_RISCV_ISA_EXT_SSTC",
- "KVM_RISCV_ISA_EXT_SVINVAL",
- "KVM_RISCV_ISA_EXT_ZIHINTPAUSE",
- "KVM_RISCV_ISA_EXT_ZICBOM",
- "KVM_RISCV_ISA_EXT_ZICBOZ",
- "KVM_RISCV_ISA_EXT_ZBB",
- "KVM_RISCV_ISA_EXT_SSAIA",
- "KVM_RISCV_ISA_EXT_V",
- "KVM_RISCV_ISA_EXT_SVNAPOT",
- "KVM_RISCV_ISA_EXT_ZBA",
- "KVM_RISCV_ISA_EXT_ZBS",
- "KVM_RISCV_ISA_EXT_ZICNTR",
- "KVM_RISCV_ISA_EXT_ZICSR",
- "KVM_RISCV_ISA_EXT_ZIFENCEI",
- "KVM_RISCV_ISA_EXT_ZIHPM",
+ KVM_ISA_EXT_ARR(A),
+ KVM_ISA_EXT_ARR(C),
+ KVM_ISA_EXT_ARR(D),
+ KVM_ISA_EXT_ARR(F),
+ KVM_ISA_EXT_ARR(H),
+ KVM_ISA_EXT_ARR(I),
+ KVM_ISA_EXT_ARR(M),
+ KVM_ISA_EXT_ARR(V),
+ KVM_ISA_EXT_ARR(SSAIA),
+ KVM_ISA_EXT_ARR(SSTC),
+ KVM_ISA_EXT_ARR(SVINVAL),
+ KVM_ISA_EXT_ARR(SVNAPOT),
+ KVM_ISA_EXT_ARR(SVPBMT),
+ KVM_ISA_EXT_ARR(ZBA),
+ KVM_ISA_EXT_ARR(ZBB),
+ KVM_ISA_EXT_ARR(ZBS),
+ KVM_ISA_EXT_ARR(ZICBOM),
+ KVM_ISA_EXT_ARR(ZICBOZ),
+ KVM_ISA_EXT_ARR(ZICNTR),
+ KVM_ISA_EXT_ARR(ZICSR),
+ KVM_ISA_EXT_ARR(ZIFENCEI),
+ KVM_ISA_EXT_ARR(ZIHINTPAUSE),
+ KVM_ISA_EXT_ARR(ZIHPM),
};
if (reg_off >= ARRAY_SIZE(kvm_isa_ext_reg_name)) {
@@ -323,19 +326,22 @@ static const char *isa_ext_id_to_str(__u64 id)
return kvm_isa_ext_reg_name[reg_off];
}
+#define KVM_SBI_EXT_ARR(ext) \
+[ext] = "KVM_REG_RISCV_SBI_SINGLE | " #ext
+
static const char *sbi_ext_single_id_to_str(__u64 reg_off)
{
/* reg_off is KVM_RISCV_SBI_EXT_ID */
static const char * const kvm_sbi_ext_reg_name[] = {
- "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_V01",
- "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_TIME",
- "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_IPI",
- "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_RFENCE",
- "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_SRST",
- "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_HSM",
- "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_PMU",
- "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_EXPERIMENTAL",
- "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_VENDOR",
+ KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_V01),
+ KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_TIME),
+ KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_IPI),
+ KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_RFENCE),
+ KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_SRST),
+ KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_HSM),
+ KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_PMU),
+ KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_EXPERIMENTAL),
+ KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_VENDOR),
};
if (reg_off >= ARRAY_SIZE(kvm_sbi_ext_reg_name)) {
--
2.41.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 9+ messages in thread
* RE: [PATCH 1/2] MAINTAINERS: RISC-V: KVM: Add another kselftests path
2023-08-17 16:23 ` [PATCH 1/2] MAINTAINERS: RISC-V: KVM: Add another kselftests path Andrew Jones
@ 2023-08-18 1:29 ` Xu, Haibo1
2023-08-18 7:36 ` Andrew Jones
2023-08-18 14:22 ` Xu, Haibo1
1 sibling, 1 reply; 9+ messages in thread
From: Xu, Haibo1 @ 2023-08-18 1:29 UTC (permalink / raw)
To: Andrew Jones, kvm-riscv@lists.infradead.org,
linux-riscv@lists.infradead.org
Cc: anup@brainfault.org, atishp@atishpatra.org,
paul.walmsley@sifive.com, palmer@dabbelt.com,
aou@eecs.berkeley.edu
> -----Original Message-----
> From: Andrew Jones <ajones@ventanamicro.com>
> Sent: Friday, August 18, 2023 12:24 AM
> To: kvm-riscv@lists.infradead.org; linux-riscv@lists.infradead.org
> Cc: anup@brainfault.org; atishp@atishpatra.org; Xu, Haibo1
> <haibo1.xu@intel.com>; paul.walmsley@sifive.com; palmer@dabbelt.com;
> aou@eecs.berkeley.edu
> Subject: [PATCH 1/2] MAINTAINERS: RISC-V: KVM: Add another kselftests path
>
> With the introduction of the get-reg-list test for riscv, another directory has
> been added that should be tracked by riscv kvm maintainers.
>
> Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
> ---
> MAINTAINERS | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 0f966f05fb0d..8fc9e6e7f207 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -11463,6 +11463,7 @@ F: arch/riscv/include/asm/kvm*
> F: arch/riscv/include/uapi/asm/kvm*
> F: arch/riscv/kvm/
> F: tools/testing/selftests/kvm/*/riscv/
> +F: tools/testing/selftests/kvm/riscv/
>
LGTM!
Thanks,
Haibo
> KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
> M: Christian Borntraeger <borntraeger@linux.ibm.com>
> --
> 2.41.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH 2/2] KVM: selftests: Add array order helpers to riscv get-reg-list
2023-08-17 16:23 ` [PATCH 2/2] KVM: selftests: Add array order helpers to riscv get-reg-list Andrew Jones
@ 2023-08-18 1:31 ` Xu, Haibo1
2023-08-18 14:25 ` Xu, Haibo1
1 sibling, 0 replies; 9+ messages in thread
From: Xu, Haibo1 @ 2023-08-18 1:31 UTC (permalink / raw)
To: Andrew Jones, kvm-riscv@lists.infradead.org,
linux-riscv@lists.infradead.org
Cc: anup@brainfault.org, atishp@atishpatra.org,
paul.walmsley@sifive.com, palmer@dabbelt.com,
aou@eecs.berkeley.edu
> -----Original Message-----
> From: Andrew Jones <ajones@ventanamicro.com>
> Sent: Friday, August 18, 2023 12:24 AM
> To: kvm-riscv@lists.infradead.org; linux-riscv@lists.infradead.org
> Cc: anup@brainfault.org; atishp@atishpatra.org; Xu, Haibo1
> <haibo1.xu@intel.com>; paul.walmsley@sifive.com; palmer@dabbelt.com;
> aou@eecs.berkeley.edu
> Subject: [PATCH 2/2] KVM: selftests: Add array order helpers to riscv get-reg-
> list
>
> Add a couple macros to use when filling arrays in order to ensure the elements
> are placed in the right order, regardless of the order we prefer to read them.
> And immediately apply the new macro to resorting the ISA extension lists
> alphabetically.
>
> Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
> ---
> .../selftests/kvm/riscv/get-reg-list.c | 76 ++++++++++---------
> 1 file changed, 41 insertions(+), 35 deletions(-)
>
> diff --git a/tools/testing/selftests/kvm/riscv/get-reg-list.c
> b/tools/testing/selftests/kvm/riscv/get-reg-list.c
> index d8ecacd03ecf..0ea17a5ffbed 100644
> --- a/tools/testing/selftests/kvm/riscv/get-reg-list.c
> +++ b/tools/testing/selftests/kvm/riscv/get-reg-list.c
> @@ -20,16 +20,16 @@ bool filter_reg(__u64 reg)
> * So, to make life easy, just filtering out these kind of registers.
> */
> switch (reg & ~REG_MASK) {
> + case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_SSAIA:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_SSTC:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_SVINVAL:
> - case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIHINTPAUSE:
> - case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZBB:
> - case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_SSAIA:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZBA:
> + case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZBB:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZBS:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZICNTR:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZICSR:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIFENCEI:
> + case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIHINTPAUSE:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIHPM:
> return true;
> default:
> @@ -281,35 +281,38 @@ static const char *fp_d_id_to_str(const char *prefix,
> __u64 id)
> return NULL;
> }
>
> +#define KVM_ISA_EXT_ARR(ext) \
> +[KVM_RISCV_ISA_EXT_##ext] = "KVM_RISCV_ISA_EXT_" #ext
> +
> static const char *isa_ext_id_to_str(__u64 id) {
> /* reg_off is the offset into unsigned long kvm_isa_ext_arr[] */
> __u64 reg_off = id & ~(REG_MASK | KVM_REG_RISCV_ISA_EXT);
>
> static const char * const kvm_isa_ext_reg_name[] = {
> - "KVM_RISCV_ISA_EXT_A",
> - "KVM_RISCV_ISA_EXT_C",
> - "KVM_RISCV_ISA_EXT_D",
> - "KVM_RISCV_ISA_EXT_F",
> - "KVM_RISCV_ISA_EXT_H",
> - "KVM_RISCV_ISA_EXT_I",
> - "KVM_RISCV_ISA_EXT_M",
> - "KVM_RISCV_ISA_EXT_SVPBMT",
> - "KVM_RISCV_ISA_EXT_SSTC",
> - "KVM_RISCV_ISA_EXT_SVINVAL",
> - "KVM_RISCV_ISA_EXT_ZIHINTPAUSE",
> - "KVM_RISCV_ISA_EXT_ZICBOM",
> - "KVM_RISCV_ISA_EXT_ZICBOZ",
> - "KVM_RISCV_ISA_EXT_ZBB",
> - "KVM_RISCV_ISA_EXT_SSAIA",
> - "KVM_RISCV_ISA_EXT_V",
> - "KVM_RISCV_ISA_EXT_SVNAPOT",
> - "KVM_RISCV_ISA_EXT_ZBA",
> - "KVM_RISCV_ISA_EXT_ZBS",
> - "KVM_RISCV_ISA_EXT_ZICNTR",
> - "KVM_RISCV_ISA_EXT_ZICSR",
> - "KVM_RISCV_ISA_EXT_ZIFENCEI",
> - "KVM_RISCV_ISA_EXT_ZIHPM",
> + KVM_ISA_EXT_ARR(A),
> + KVM_ISA_EXT_ARR(C),
> + KVM_ISA_EXT_ARR(D),
> + KVM_ISA_EXT_ARR(F),
> + KVM_ISA_EXT_ARR(H),
> + KVM_ISA_EXT_ARR(I),
> + KVM_ISA_EXT_ARR(M),
> + KVM_ISA_EXT_ARR(V),
> + KVM_ISA_EXT_ARR(SSAIA),
> + KVM_ISA_EXT_ARR(SSTC),
> + KVM_ISA_EXT_ARR(SVINVAL),
> + KVM_ISA_EXT_ARR(SVNAPOT),
> + KVM_ISA_EXT_ARR(SVPBMT),
> + KVM_ISA_EXT_ARR(ZBA),
> + KVM_ISA_EXT_ARR(ZBB),
> + KVM_ISA_EXT_ARR(ZBS),
> + KVM_ISA_EXT_ARR(ZICBOM),
> + KVM_ISA_EXT_ARR(ZICBOZ),
> + KVM_ISA_EXT_ARR(ZICNTR),
> + KVM_ISA_EXT_ARR(ZICSR),
> + KVM_ISA_EXT_ARR(ZIFENCEI),
> + KVM_ISA_EXT_ARR(ZIHINTPAUSE),
> + KVM_ISA_EXT_ARR(ZIHPM),
> };
>
> if (reg_off >= ARRAY_SIZE(kvm_isa_ext_reg_name)) { @@ -323,19
> +326,22 @@ static const char *isa_ext_id_to_str(__u64 id)
> return kvm_isa_ext_reg_name[reg_off];
> }
>
> +#define KVM_SBI_EXT_ARR(ext) \
> +[ext] = "KVM_REG_RISCV_SBI_SINGLE | " #ext
> +
> static const char *sbi_ext_single_id_to_str(__u64 reg_off) {
> /* reg_off is KVM_RISCV_SBI_EXT_ID */
> static const char * const kvm_sbi_ext_reg_name[] = {
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_V01",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_TIME",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_IPI",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_RFENCE",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_SRST",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_HSM",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_PMU",
> - "KVM_REG_RISCV_SBI_SINGLE |
> KVM_RISCV_SBI_EXT_EXPERIMENTAL",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_VENDOR",
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_V01),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_TIME),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_IPI),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_RFENCE),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_SRST),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_HSM),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_PMU),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_EXPERIMENTAL),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_VENDOR),
> };
>
LGTM!
Thanks,
Haibo
> if (reg_off >= ARRAY_SIZE(kvm_sbi_ext_reg_name)) {
> --
> 2.41.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] MAINTAINERS: RISC-V: KVM: Add another kselftests path
2023-08-18 1:29 ` Xu, Haibo1
@ 2023-08-18 7:36 ` Andrew Jones
0 siblings, 0 replies; 9+ messages in thread
From: Andrew Jones @ 2023-08-18 7:36 UTC (permalink / raw)
To: Xu, Haibo1
Cc: kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org,
anup@brainfault.org, atishp@atishpatra.org,
paul.walmsley@sifive.com, palmer@dabbelt.com,
aou@eecs.berkeley.edu
On Fri, Aug 18, 2023 at 01:29:25AM +0000, Xu, Haibo1 wrote:
> > -----Original Message-----
> > From: Andrew Jones <ajones@ventanamicro.com>
> > Sent: Friday, August 18, 2023 12:24 AM
> > To: kvm-riscv@lists.infradead.org; linux-riscv@lists.infradead.org
> > Cc: anup@brainfault.org; atishp@atishpatra.org; Xu, Haibo1
> > <haibo1.xu@intel.com>; paul.walmsley@sifive.com; palmer@dabbelt.com;
> > aou@eecs.berkeley.edu
> > Subject: [PATCH 1/2] MAINTAINERS: RISC-V: KVM: Add another kselftests path
> >
> > With the introduction of the get-reg-list test for riscv, another directory has
> > been added that should be tracked by riscv kvm maintainers.
> >
> > Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
> > ---
> > MAINTAINERS | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 0f966f05fb0d..8fc9e6e7f207 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -11463,6 +11463,7 @@ F: arch/riscv/include/asm/kvm*
> > F: arch/riscv/include/uapi/asm/kvm*
> > F: arch/riscv/kvm/
> > F: tools/testing/selftests/kvm/*/riscv/
> > +F: tools/testing/selftests/kvm/riscv/
> >
> LGTM!
Hi Haibo,
Please reply with a Reviewed-by tag, assuming your LGTM held the same
meaning as an r-b. See [1] to ensure it does.
[1] https://www.kernel.org/doc/html/v4.17/process/submitting-patches.html#using-reported-by-tested-by-reviewed-by-suggested-by-and-fixes
Thanks,
drew
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH 1/2] MAINTAINERS: RISC-V: KVM: Add another kselftests path
2023-08-17 16:23 ` [PATCH 1/2] MAINTAINERS: RISC-V: KVM: Add another kselftests path Andrew Jones
2023-08-18 1:29 ` Xu, Haibo1
@ 2023-08-18 14:22 ` Xu, Haibo1
1 sibling, 0 replies; 9+ messages in thread
From: Xu, Haibo1 @ 2023-08-18 14:22 UTC (permalink / raw)
To: Andrew Jones, kvm-riscv@lists.infradead.org,
linux-riscv@lists.infradead.org
Cc: anup@brainfault.org, atishp@atishpatra.org,
paul.walmsley@sifive.com, palmer@dabbelt.com,
aou@eecs.berkeley.edu
> -----Original Message-----
> From: Andrew Jones <ajones@ventanamicro.com>
> Sent: Friday, August 18, 2023 12:24 AM
> To: kvm-riscv@lists.infradead.org; linux-riscv@lists.infradead.org
> Cc: anup@brainfault.org; atishp@atishpatra.org; Xu, Haibo1
> <haibo1.xu@intel.com>; paul.walmsley@sifive.com; palmer@dabbelt.com;
> aou@eecs.berkeley.edu
> Subject: [PATCH 1/2] MAINTAINERS: RISC-V: KVM: Add another kselftests path
>
> With the introduction of the get-reg-list test for riscv, another directory has
> been added that should be tracked by riscv kvm maintainers.
>
> Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
> ---
> MAINTAINERS | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 0f966f05fb0d..8fc9e6e7f207 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -11463,6 +11463,7 @@ F: arch/riscv/include/asm/kvm*
> F: arch/riscv/include/uapi/asm/kvm*
> F: arch/riscv/kvm/
> F: tools/testing/selftests/kvm/*/riscv/
> +F: tools/testing/selftests/kvm/riscv/
>
LGTM!
Reviewed-by: Haibo Xu <haibo1.xu@intel.com>
> KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
> M: Christian Borntraeger <borntraeger@linux.ibm.com>
> --
> 2.41.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH 2/2] KVM: selftests: Add array order helpers to riscv get-reg-list
2023-08-17 16:23 ` [PATCH 2/2] KVM: selftests: Add array order helpers to riscv get-reg-list Andrew Jones
2023-08-18 1:31 ` Xu, Haibo1
@ 2023-08-18 14:25 ` Xu, Haibo1
1 sibling, 0 replies; 9+ messages in thread
From: Xu, Haibo1 @ 2023-08-18 14:25 UTC (permalink / raw)
To: Andrew Jones, kvm-riscv@lists.infradead.org,
linux-riscv@lists.infradead.org
Cc: anup@brainfault.org, atishp@atishpatra.org,
paul.walmsley@sifive.com, palmer@dabbelt.com,
aou@eecs.berkeley.edu
> -----Original Message-----
> From: Andrew Jones <ajones@ventanamicro.com>
> Sent: Friday, August 18, 2023 12:24 AM
> To: kvm-riscv@lists.infradead.org; linux-riscv@lists.infradead.org
> Cc: anup@brainfault.org; atishp@atishpatra.org; Xu, Haibo1
> <haibo1.xu@intel.com>; paul.walmsley@sifive.com; palmer@dabbelt.com;
> aou@eecs.berkeley.edu
> Subject: [PATCH 2/2] KVM: selftests: Add array order helpers to riscv get-reg-
> list
>
> Add a couple macros to use when filling arrays in order to ensure the elements
> are placed in the right order, regardless of the order we prefer to read them.
> And immediately apply the new macro to resorting the ISA extension lists
> alphabetically.
>
> Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
> ---
> .../selftests/kvm/riscv/get-reg-list.c | 76 ++++++++++---------
> 1 file changed, 41 insertions(+), 35 deletions(-)
>
> diff --git a/tools/testing/selftests/kvm/riscv/get-reg-list.c
> b/tools/testing/selftests/kvm/riscv/get-reg-list.c
> index d8ecacd03ecf..0ea17a5ffbed 100644
> --- a/tools/testing/selftests/kvm/riscv/get-reg-list.c
> +++ b/tools/testing/selftests/kvm/riscv/get-reg-list.c
> @@ -20,16 +20,16 @@ bool filter_reg(__u64 reg)
> * So, to make life easy, just filtering out these kind of registers.
> */
> switch (reg & ~REG_MASK) {
> + case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_SSAIA:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_SSTC:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_SVINVAL:
> - case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIHINTPAUSE:
> - case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZBB:
> - case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_SSAIA:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZBA:
> + case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZBB:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZBS:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZICNTR:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZICSR:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIFENCEI:
> + case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIHINTPAUSE:
> case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIHPM:
> return true;
> default:
> @@ -281,35 +281,38 @@ static const char *fp_d_id_to_str(const char *prefix,
> __u64 id)
> return NULL;
> }
>
> +#define KVM_ISA_EXT_ARR(ext) \
> +[KVM_RISCV_ISA_EXT_##ext] = "KVM_RISCV_ISA_EXT_" #ext
> +
> static const char *isa_ext_id_to_str(__u64 id) {
> /* reg_off is the offset into unsigned long kvm_isa_ext_arr[] */
> __u64 reg_off = id & ~(REG_MASK | KVM_REG_RISCV_ISA_EXT);
>
> static const char * const kvm_isa_ext_reg_name[] = {
> - "KVM_RISCV_ISA_EXT_A",
> - "KVM_RISCV_ISA_EXT_C",
> - "KVM_RISCV_ISA_EXT_D",
> - "KVM_RISCV_ISA_EXT_F",
> - "KVM_RISCV_ISA_EXT_H",
> - "KVM_RISCV_ISA_EXT_I",
> - "KVM_RISCV_ISA_EXT_M",
> - "KVM_RISCV_ISA_EXT_SVPBMT",
> - "KVM_RISCV_ISA_EXT_SSTC",
> - "KVM_RISCV_ISA_EXT_SVINVAL",
> - "KVM_RISCV_ISA_EXT_ZIHINTPAUSE",
> - "KVM_RISCV_ISA_EXT_ZICBOM",
> - "KVM_RISCV_ISA_EXT_ZICBOZ",
> - "KVM_RISCV_ISA_EXT_ZBB",
> - "KVM_RISCV_ISA_EXT_SSAIA",
> - "KVM_RISCV_ISA_EXT_V",
> - "KVM_RISCV_ISA_EXT_SVNAPOT",
> - "KVM_RISCV_ISA_EXT_ZBA",
> - "KVM_RISCV_ISA_EXT_ZBS",
> - "KVM_RISCV_ISA_EXT_ZICNTR",
> - "KVM_RISCV_ISA_EXT_ZICSR",
> - "KVM_RISCV_ISA_EXT_ZIFENCEI",
> - "KVM_RISCV_ISA_EXT_ZIHPM",
> + KVM_ISA_EXT_ARR(A),
> + KVM_ISA_EXT_ARR(C),
> + KVM_ISA_EXT_ARR(D),
> + KVM_ISA_EXT_ARR(F),
> + KVM_ISA_EXT_ARR(H),
> + KVM_ISA_EXT_ARR(I),
> + KVM_ISA_EXT_ARR(M),
> + KVM_ISA_EXT_ARR(V),
> + KVM_ISA_EXT_ARR(SSAIA),
> + KVM_ISA_EXT_ARR(SSTC),
> + KVM_ISA_EXT_ARR(SVINVAL),
> + KVM_ISA_EXT_ARR(SVNAPOT),
> + KVM_ISA_EXT_ARR(SVPBMT),
> + KVM_ISA_EXT_ARR(ZBA),
> + KVM_ISA_EXT_ARR(ZBB),
> + KVM_ISA_EXT_ARR(ZBS),
> + KVM_ISA_EXT_ARR(ZICBOM),
> + KVM_ISA_EXT_ARR(ZICBOZ),
> + KVM_ISA_EXT_ARR(ZICNTR),
> + KVM_ISA_EXT_ARR(ZICSR),
> + KVM_ISA_EXT_ARR(ZIFENCEI),
> + KVM_ISA_EXT_ARR(ZIHINTPAUSE),
> + KVM_ISA_EXT_ARR(ZIHPM),
> };
>
> if (reg_off >= ARRAY_SIZE(kvm_isa_ext_reg_name)) { @@ -323,19
> +326,22 @@ static const char *isa_ext_id_to_str(__u64 id)
> return kvm_isa_ext_reg_name[reg_off];
> }
>
> +#define KVM_SBI_EXT_ARR(ext) \
> +[ext] = "KVM_REG_RISCV_SBI_SINGLE | " #ext
> +
> static const char *sbi_ext_single_id_to_str(__u64 reg_off) {
> /* reg_off is KVM_RISCV_SBI_EXT_ID */
> static const char * const kvm_sbi_ext_reg_name[] = {
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_V01",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_TIME",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_IPI",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_RFENCE",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_SRST",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_HSM",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_PMU",
> - "KVM_REG_RISCV_SBI_SINGLE |
> KVM_RISCV_SBI_EXT_EXPERIMENTAL",
> - "KVM_REG_RISCV_SBI_SINGLE | KVM_RISCV_SBI_EXT_VENDOR",
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_V01),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_TIME),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_IPI),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_RFENCE),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_SRST),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_HSM),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_PMU),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_EXPERIMENTAL),
> + KVM_SBI_EXT_ARR(KVM_RISCV_SBI_EXT_VENDOR),
> };
>
LGTM!
Reviewed-by: Haibo Xu <haibo1.xu@intel.com>
> if (reg_off >= ARRAY_SIZE(kvm_sbi_ext_reg_name)) {
> --
> 2.41.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/2] RISC-V: KVM: A couple kselftests improvements
2023-08-17 16:23 [PATCH 0/2] RISC-V: KVM: A couple kselftests improvements Andrew Jones
2023-08-17 16:23 ` [PATCH 1/2] MAINTAINERS: RISC-V: KVM: Add another kselftests path Andrew Jones
2023-08-17 16:23 ` [PATCH 2/2] KVM: selftests: Add array order helpers to riscv get-reg-list Andrew Jones
@ 2023-09-25 13:28 ` Anup Patel
2 siblings, 0 replies; 9+ messages in thread
From: Anup Patel @ 2023-09-25 13:28 UTC (permalink / raw)
To: Andrew Jones
Cc: kvm-riscv, linux-riscv, atishp, haibo1.xu, paul.walmsley, palmer,
aou
On Thu, Aug 17, 2023 at 9:53 PM Andrew Jones <ajones@ventanamicro.com> wrote:
>
> Add the riscv kselftests test dir to MAINTAINERS and improve the
> maintainability of the arrays in the get-reg-list test.
>
> These tests are based on kvm-riscv/riscv_kvm_queue.
>
> Andrew Jones (2):
> MAINTAINERS: RISC-V: KVM: Add another kselftests path
> KVM: selftests: Add array order helpers to riscv get-reg-list
Queued this series for Linux-6.7
Thanks,
Anup
>
> MAINTAINERS | 1 +
> .../selftests/kvm/riscv/get-reg-list.c | 76 ++++++++++---------
> 2 files changed, 42 insertions(+), 35 deletions(-)
>
> --
> 2.41.0
>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-09-25 13:29 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-17 16:23 [PATCH 0/2] RISC-V: KVM: A couple kselftests improvements Andrew Jones
2023-08-17 16:23 ` [PATCH 1/2] MAINTAINERS: RISC-V: KVM: Add another kselftests path Andrew Jones
2023-08-18 1:29 ` Xu, Haibo1
2023-08-18 7:36 ` Andrew Jones
2023-08-18 14:22 ` Xu, Haibo1
2023-08-17 16:23 ` [PATCH 2/2] KVM: selftests: Add array order helpers to riscv get-reg-list Andrew Jones
2023-08-18 1:31 ` Xu, Haibo1
2023-08-18 14:25 ` Xu, Haibo1
2023-09-25 13:28 ` [PATCH 0/2] RISC-V: KVM: A couple kselftests improvements Anup Patel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox