Linux-RISC-V Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [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