kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 09/10] accel: Replace current_machine->accelerator by current_accel() wrapper
       [not found] <20200121110349.25842-1-philmd@redhat.com>
@ 2020-01-21 11:03 ` Philippe Mathieu-Daudé
  2020-01-21 14:03   ` Cornelia Huck
  2020-01-22  3:28   ` David Gibson
  0 siblings, 2 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-21 11:03 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Marcelo Tosatti, Cornelia Huck, David Gibson,
	qemu-s390x, David Hildenbrand, qemu-ppc, Eduardo Habkost,
	Like Xu, Markus Armbruster, qemu-arm, Paolo Bonzini,
	Richard Henderson, Philippe Mathieu-Daudé,
	Alistair Francis, open list:Overall KVM CPUs

We actually want to access the accelerator, not the machine, so
use the current_accel() wrapper instead.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v2:
- Reworded description
- Remove unused include in arm/kvm64
---
 accel/kvm/kvm-all.c | 4 ++--
 accel/tcg/tcg-all.c | 2 +-
 memory.c            | 2 +-
 target/arm/kvm64.c  | 5 ++---
 target/i386/kvm.c   | 2 +-
 target/ppc/kvm.c    | 2 +-
 vl.c                | 2 +-
 7 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index 1ada2f4ecb..c111312dfd 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -164,7 +164,7 @@ static NotifierList kvm_irqchip_change_notifiers =
 
 int kvm_get_max_memslots(void)
 {
-    KVMState *s = KVM_STATE(current_machine->accelerator);
+    KVMState *s = KVM_STATE(current_accel());
 
     return s->nr_slots;
 }
@@ -1848,7 +1848,7 @@ static int kvm_max_vcpu_id(KVMState *s)
 
 bool kvm_vcpu_id_is_valid(int vcpu_id)
 {
-    KVMState *s = KVM_STATE(current_machine->accelerator);
+    KVMState *s = KVM_STATE(current_accel());
     return vcpu_id >= 0 && vcpu_id < kvm_max_vcpu_id(s);
 }
 
diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c
index 1dc384c8d2..1802ce02f6 100644
--- a/accel/tcg/tcg-all.c
+++ b/accel/tcg/tcg-all.c
@@ -124,7 +124,7 @@ static void tcg_accel_instance_init(Object *obj)
 
 static int tcg_init(MachineState *ms)
 {
-    TCGState *s = TCG_STATE(current_machine->accelerator);
+    TCGState *s = TCG_STATE(current_accel());
 
     tcg_exec_init(s->tb_size * 1024 * 1024);
     cpu_interrupt_handler = tcg_handle_interrupt;
diff --git a/memory.c b/memory.c
index d7b9bb6951..854798791e 100644
--- a/memory.c
+++ b/memory.c
@@ -3104,7 +3104,7 @@ void mtree_info(bool flatview, bool dispatch_tree, bool owner)
         };
         GArray *fv_address_spaces;
         GHashTable *views = g_hash_table_new(g_direct_hash, g_direct_equal);
-        AccelClass *ac = ACCEL_GET_CLASS(current_machine->accelerator);
+        AccelClass *ac = ACCEL_GET_CLASS(current_accel());
 
         if (ac->has_memory) {
             fvi.ac = ac;
diff --git a/target/arm/kvm64.c b/target/arm/kvm64.c
index 876184b8fe..e3c580e749 100644
--- a/target/arm/kvm64.c
+++ b/target/arm/kvm64.c
@@ -26,7 +26,6 @@
 #include "sysemu/kvm.h"
 #include "sysemu/kvm_int.h"
 #include "kvm_arm.h"
-#include "hw/boards.h"
 #include "internals.h"
 
 static bool have_guest_debug;
@@ -613,14 +612,14 @@ bool kvm_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf)
 
 bool kvm_arm_aarch32_supported(CPUState *cpu)
 {
-    KVMState *s = KVM_STATE(current_machine->accelerator);
+    KVMState *s = KVM_STATE(current_accel());
 
     return kvm_check_extension(s, KVM_CAP_ARM_EL1_32BIT);
 }
 
 bool kvm_arm_sve_supported(CPUState *cpu)
 {
-    KVMState *s = KVM_STATE(current_machine->accelerator);
+    KVMState *s = KVM_STATE(current_accel());
 
     return kvm_check_extension(s, KVM_CAP_ARM_SVE);
 }
diff --git a/target/i386/kvm.c b/target/i386/kvm.c
index 7ee3202634..eddb930065 100644
--- a/target/i386/kvm.c
+++ b/target/i386/kvm.c
@@ -147,7 +147,7 @@ bool kvm_allows_irq0_override(void)
 
 static bool kvm_x2apic_api_set_flags(uint64_t flags)
 {
-    KVMState *s = KVM_STATE(current_machine->accelerator);
+    KVMState *s = KVM_STATE(current_accel());
 
     return !kvm_vm_enable_cap(s, KVM_CAP_X2APIC_API, 0, flags);
 }
diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
index b5799e62b4..45ede6b6d9 100644
--- a/target/ppc/kvm.c
+++ b/target/ppc/kvm.c
@@ -258,7 +258,7 @@ static void kvm_get_smmu_info(struct kvm_ppc_smmu_info *info, Error **errp)
 
 struct ppc_radix_page_info *kvm_get_radix_page_info(void)
 {
-    KVMState *s = KVM_STATE(current_machine->accelerator);
+    KVMState *s = KVM_STATE(current_accel());
     struct ppc_radix_page_info *radix_page_info;
     struct kvm_ppc_rmmu_info rmmu_info;
     int i;
diff --git a/vl.c b/vl.c
index 71d3e7eefb..a8ea36f4f8 100644
--- a/vl.c
+++ b/vl.c
@@ -2812,7 +2812,7 @@ static void configure_accelerators(const char *progname)
     }
 
     if (init_failed) {
-        AccelClass *ac = ACCEL_GET_CLASS(current_machine->accelerator);
+        AccelClass *ac = ACCEL_GET_CLASS(current_accel());
         error_report("falling back to %s", ac->name);
     }
 
-- 
2.21.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 09/10] accel: Replace current_machine->accelerator by current_accel() wrapper
  2020-01-21 11:03 ` [PATCH v2 09/10] accel: Replace current_machine->accelerator by current_accel() wrapper Philippe Mathieu-Daudé
@ 2020-01-21 14:03   ` Cornelia Huck
  2020-01-22  3:28   ` David Gibson
  1 sibling, 0 replies; 3+ messages in thread
From: Cornelia Huck @ 2020-01-21 14:03 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Peter Maydell, Marcelo Tosatti, David Gibson,
	qemu-s390x, David Hildenbrand, qemu-ppc, Eduardo Habkost,
	Like Xu, Markus Armbruster, qemu-arm, Paolo Bonzini,
	Richard Henderson, Alistair Francis, open list:Overall KVM CPUs

On Tue, 21 Jan 2020 12:03:48 +0100
Philippe Mathieu-Daudé <philmd@redhat.com> wrote:

> We actually want to access the accelerator, not the machine, so
> use the current_accel() wrapper instead.
> 
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v2:
> - Reworded description
> - Remove unused include in arm/kvm64
> ---
>  accel/kvm/kvm-all.c | 4 ++--
>  accel/tcg/tcg-all.c | 2 +-
>  memory.c            | 2 +-
>  target/arm/kvm64.c  | 5 ++---
>  target/i386/kvm.c   | 2 +-
>  target/ppc/kvm.c    | 2 +-
>  vl.c                | 2 +-
>  7 files changed, 9 insertions(+), 10 deletions(-)

> diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
> index b5799e62b4..45ede6b6d9 100644
> --- a/target/ppc/kvm.c
> +++ b/target/ppc/kvm.c
> @@ -258,7 +258,7 @@ static void kvm_get_smmu_info(struct kvm_ppc_smmu_info *info, Error **errp)
>  
>  struct ppc_radix_page_info *kvm_get_radix_page_info(void)
>  {
> -    KVMState *s = KVM_STATE(current_machine->accelerator);
> +    KVMState *s = KVM_STATE(current_accel());
>      struct ppc_radix_page_info *radix_page_info;
>      struct kvm_ppc_rmmu_info rmmu_info;
>      int i;

What about the usage in kvmppc_svm_off()?


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 09/10] accel: Replace current_machine->accelerator by current_accel() wrapper
  2020-01-21 11:03 ` [PATCH v2 09/10] accel: Replace current_machine->accelerator by current_accel() wrapper Philippe Mathieu-Daudé
  2020-01-21 14:03   ` Cornelia Huck
@ 2020-01-22  3:28   ` David Gibson
  1 sibling, 0 replies; 3+ messages in thread
From: David Gibson @ 2020-01-22  3:28 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Peter Maydell, Marcelo Tosatti, Cornelia Huck,
	qemu-s390x, David Hildenbrand, qemu-ppc, Eduardo Habkost,
	Like Xu, Markus Armbruster, qemu-arm, Paolo Bonzini,
	Richard Henderson, Alistair Francis, open list:Overall KVM CPUs

[-- Attachment #1: Type: text/plain, Size: 5124 bytes --]

On Tue, Jan 21, 2020 at 12:03:48PM +0100, Philippe Mathieu-Daudé wrote:
> We actually want to access the accelerator, not the machine, so
> use the current_accel() wrapper instead.
> 
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

ppc parts
Acked-by: David Gibson <david@gibson.dropbear.id.au>

> ---
> v2:
> - Reworded description
> - Remove unused include in arm/kvm64
> ---
>  accel/kvm/kvm-all.c | 4 ++--
>  accel/tcg/tcg-all.c | 2 +-
>  memory.c            | 2 +-
>  target/arm/kvm64.c  | 5 ++---
>  target/i386/kvm.c   | 2 +-
>  target/ppc/kvm.c    | 2 +-
>  vl.c                | 2 +-
>  7 files changed, 9 insertions(+), 10 deletions(-)
> 
> diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
> index 1ada2f4ecb..c111312dfd 100644
> --- a/accel/kvm/kvm-all.c
> +++ b/accel/kvm/kvm-all.c
> @@ -164,7 +164,7 @@ static NotifierList kvm_irqchip_change_notifiers =
>  
>  int kvm_get_max_memslots(void)
>  {
> -    KVMState *s = KVM_STATE(current_machine->accelerator);
> +    KVMState *s = KVM_STATE(current_accel());
>  
>      return s->nr_slots;
>  }
> @@ -1848,7 +1848,7 @@ static int kvm_max_vcpu_id(KVMState *s)
>  
>  bool kvm_vcpu_id_is_valid(int vcpu_id)
>  {
> -    KVMState *s = KVM_STATE(current_machine->accelerator);
> +    KVMState *s = KVM_STATE(current_accel());
>      return vcpu_id >= 0 && vcpu_id < kvm_max_vcpu_id(s);
>  }
>  
> diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c
> index 1dc384c8d2..1802ce02f6 100644
> --- a/accel/tcg/tcg-all.c
> +++ b/accel/tcg/tcg-all.c
> @@ -124,7 +124,7 @@ static void tcg_accel_instance_init(Object *obj)
>  
>  static int tcg_init(MachineState *ms)
>  {
> -    TCGState *s = TCG_STATE(current_machine->accelerator);
> +    TCGState *s = TCG_STATE(current_accel());
>  
>      tcg_exec_init(s->tb_size * 1024 * 1024);
>      cpu_interrupt_handler = tcg_handle_interrupt;
> diff --git a/memory.c b/memory.c
> index d7b9bb6951..854798791e 100644
> --- a/memory.c
> +++ b/memory.c
> @@ -3104,7 +3104,7 @@ void mtree_info(bool flatview, bool dispatch_tree, bool owner)
>          };
>          GArray *fv_address_spaces;
>          GHashTable *views = g_hash_table_new(g_direct_hash, g_direct_equal);
> -        AccelClass *ac = ACCEL_GET_CLASS(current_machine->accelerator);
> +        AccelClass *ac = ACCEL_GET_CLASS(current_accel());
>  
>          if (ac->has_memory) {
>              fvi.ac = ac;
> diff --git a/target/arm/kvm64.c b/target/arm/kvm64.c
> index 876184b8fe..e3c580e749 100644
> --- a/target/arm/kvm64.c
> +++ b/target/arm/kvm64.c
> @@ -26,7 +26,6 @@
>  #include "sysemu/kvm.h"
>  #include "sysemu/kvm_int.h"
>  #include "kvm_arm.h"
> -#include "hw/boards.h"
>  #include "internals.h"
>  
>  static bool have_guest_debug;
> @@ -613,14 +612,14 @@ bool kvm_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf)
>  
>  bool kvm_arm_aarch32_supported(CPUState *cpu)
>  {
> -    KVMState *s = KVM_STATE(current_machine->accelerator);
> +    KVMState *s = KVM_STATE(current_accel());
>  
>      return kvm_check_extension(s, KVM_CAP_ARM_EL1_32BIT);
>  }
>  
>  bool kvm_arm_sve_supported(CPUState *cpu)
>  {
> -    KVMState *s = KVM_STATE(current_machine->accelerator);
> +    KVMState *s = KVM_STATE(current_accel());
>  
>      return kvm_check_extension(s, KVM_CAP_ARM_SVE);
>  }
> diff --git a/target/i386/kvm.c b/target/i386/kvm.c
> index 7ee3202634..eddb930065 100644
> --- a/target/i386/kvm.c
> +++ b/target/i386/kvm.c
> @@ -147,7 +147,7 @@ bool kvm_allows_irq0_override(void)
>  
>  static bool kvm_x2apic_api_set_flags(uint64_t flags)
>  {
> -    KVMState *s = KVM_STATE(current_machine->accelerator);
> +    KVMState *s = KVM_STATE(current_accel());
>  
>      return !kvm_vm_enable_cap(s, KVM_CAP_X2APIC_API, 0, flags);
>  }
> diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
> index b5799e62b4..45ede6b6d9 100644
> --- a/target/ppc/kvm.c
> +++ b/target/ppc/kvm.c
> @@ -258,7 +258,7 @@ static void kvm_get_smmu_info(struct kvm_ppc_smmu_info *info, Error **errp)
>  
>  struct ppc_radix_page_info *kvm_get_radix_page_info(void)
>  {
> -    KVMState *s = KVM_STATE(current_machine->accelerator);
> +    KVMState *s = KVM_STATE(current_accel());
>      struct ppc_radix_page_info *radix_page_info;
>      struct kvm_ppc_rmmu_info rmmu_info;
>      int i;
> diff --git a/vl.c b/vl.c
> index 71d3e7eefb..a8ea36f4f8 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2812,7 +2812,7 @@ static void configure_accelerators(const char *progname)
>      }
>  
>      if (init_failed) {
> -        AccelClass *ac = ACCEL_GET_CLASS(current_machine->accelerator);
> +        AccelClass *ac = ACCEL_GET_CLASS(current_accel());
>          error_report("falling back to %s", ac->name);
>      }
>  

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-01-22  3:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20200121110349.25842-1-philmd@redhat.com>
2020-01-21 11:03 ` [PATCH v2 09/10] accel: Replace current_machine->accelerator by current_accel() wrapper Philippe Mathieu-Daudé
2020-01-21 14:03   ` Cornelia Huck
2020-01-22  3:28   ` David Gibson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).