[PATCH v2 3/7] target/arm/kvm: Export kvm_print_register_name()

Eric Auger posted 7 patches 1 month, 1 week ago
Maintainers: Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>, Peter Maydell <peter.maydell@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, Pedro Barbuda <pbarbuda@microsoft.com>, Mohamed Mediouni <mohamed@unpredictable.fr>
There is a newer version of this series
[PATCH v2 3/7] target/arm/kvm: Export kvm_print_register_name()
Posted by Eric Auger 1 month, 1 week ago
We want to use kvm_print_register_name() in machine.c so
let's export the helper and implement a stub when kvm
is not enabled.

Signed-off-by: Eric Auger <eric.auger@redhat.com>

---

v1 -> v2:
- add doc comment
- no code after g_assert_not_reached()
- use char * instead of gchar
---
 target/arm/kvm_arm.h  | 8 ++++++++
 target/arm/kvm-stub.c | 5 +++++
 target/arm/kvm.c      | 2 +-
 3 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h
index cc0b374254e..ca2492c7412 100644
--- a/target/arm/kvm_arm.h
+++ b/target/arm/kvm_arm.h
@@ -266,4 +266,12 @@ void arm_cpu_kvm_set_irq(void *arm_cpu, int irq, int level);
 
 void arm_gic_cap_kvm_probe(GICCapability *v2, GICCapability *v3);
 
+/*
+ * kvm_print_register_name:
+ * @regidx: register KVM index
+ *
+ * Returns a human-readable string representing this register
+ */
+char *kvm_print_register_name(uint64_t regidx);
+
 #endif
diff --git a/target/arm/kvm-stub.c b/target/arm/kvm-stub.c
index ea67deea520..047e2291d98 100644
--- a/target/arm/kvm-stub.c
+++ b/target/arm/kvm-stub.c
@@ -129,3 +129,8 @@ void arm_gic_cap_kvm_probe(GICCapability *v2, GICCapability *v3)
 {
     g_assert_not_reached();
 }
+
+char *kvm_print_register_name(uint64_t regidx)
+{
+    g_assert_not_reached();
+}
diff --git a/target/arm/kvm.c b/target/arm/kvm.c
index 12a75f42e07..cfb46015d48 100644
--- a/target/arm/kvm.c
+++ b/target/arm/kvm.c
@@ -913,7 +913,7 @@ static gchar *kvm_print_sve_register_name(uint64_t regidx)
     }
 }
 
-static gchar *kvm_print_register_name(uint64_t regidx)
+char *kvm_print_register_name(uint64_t regidx)
 {
         switch ((regidx & KVM_REG_ARM_COPROC_MASK)) {
         case KVM_REG_ARM_CORE:
-- 
2.53.0
Re: [PATCH v2 3/7] target/arm/kvm: Export kvm_print_register_name()
Posted by Peter Maydell 1 month, 1 week ago
On Tue, 3 Mar 2026 at 14:39, Eric Auger <eric.auger@redhat.com> wrote:
>
> We want to use kvm_print_register_name() in machine.c so
> let's export the helper and implement a stub when kvm
> is not enabled.
>
> Signed-off-by: Eric Auger <eric.auger@redhat.com>
>
> ---
>
> v1 -> v2:
> - add doc comment
> - no code after g_assert_not_reached()
> - use char * instead of gchar
> ---
>  target/arm/kvm_arm.h  | 8 ++++++++
>  target/arm/kvm-stub.c | 5 +++++
>  target/arm/kvm.c      | 2 +-
>  3 files changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h
> index cc0b374254e..ca2492c7412 100644
> --- a/target/arm/kvm_arm.h
> +++ b/target/arm/kvm_arm.h
> @@ -266,4 +266,12 @@ void arm_cpu_kvm_set_irq(void *arm_cpu, int irq, int level);
>
>  void arm_gic_cap_kvm_probe(GICCapability *v2, GICCapability *v3);
>
> +/*
> + * kvm_print_register_name:
> + * @regidx: register KVM index
> + *
> + * Returns a human-readable string representing this register
> + */
> +char *kvm_print_register_name(uint64_t regidx);

We should also say "The caller must free the string with g_free()."

Otherwise
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM