diff mbox series

[RFC,v4,11/14] hvf: remove hvf specific functions from global includes

Message ID 20200811210326.4425-12-cfontana@suse.de
State New
Headers show
Series QEMU cpus.c refactoring part2 | expand

Commit Message

Claudio Fontana Aug. 11, 2020, 9:03 p.m. UTC
Signed-off-by: Claudio Fontana <cfontana@suse.de>
---
 accel/stubs/Makefile.objs  |  1 -
 accel/stubs/hvf-stub.c     | 30 ------------------------------
 include/sysemu/hvf.h       |  8 --------
 target/i386/hvf/hvf-cpus.c |  1 +
 target/i386/hvf/hvf-int.h  | 24 ++++++++++++++++++++++++
 target/i386/hvf/hvf.c      |  1 +
 target/i386/hvf/x86hvf.c   |  2 ++
 target/i386/hvf/x86hvf.h   |  1 -
 8 files changed, 28 insertions(+), 40 deletions(-)
 delete mode 100644 accel/stubs/hvf-stub.c
 create mode 100644 target/i386/hvf/hvf-int.h

Comments

Claudio Fontana Aug. 12, 2020, 2:49 p.m. UTC | #1
On 8/11/20 11:03 PM, Claudio Fontana wrote:
> Signed-off-by: Claudio Fontana <cfontana@suse.de>
> ---
>  accel/stubs/Makefile.objs  |  1 -
>  accel/stubs/hvf-stub.c     | 30 ------------------------------
>  include/sysemu/hvf.h       |  8 --------
>  target/i386/hvf/hvf-cpus.c |  1 +
>  target/i386/hvf/hvf-int.h  | 24 ++++++++++++++++++++++++
>  target/i386/hvf/hvf.c      |  1 +
>  target/i386/hvf/x86hvf.c   |  2 ++
>  target/i386/hvf/x86hvf.h   |  1 -
>  8 files changed, 28 insertions(+), 40 deletions(-)
>  delete mode 100644 accel/stubs/hvf-stub.c
>  create mode 100644 target/i386/hvf/hvf-int.h
> 
> diff --git a/accel/stubs/Makefile.objs b/accel/stubs/Makefile.objs
> index bbd14e71fb..6630954f30 100644
> --- a/accel/stubs/Makefile.objs
> +++ b/accel/stubs/Makefile.objs
> @@ -1,5 +1,4 @@
>  obj-$(call lnot,$(CONFIG_HAX))  += hax-stub.o
> -obj-$(call lnot,$(CONFIG_HVF))  += hvf-stub.o
>  obj-$(call lnot,$(CONFIG_WHPX)) += whpx-stub.o
>  obj-$(call lnot,$(CONFIG_KVM))  += kvm-stub.o
>  obj-$(call lnot,$(CONFIG_TCG))  += tcg-stub.o
> diff --git a/accel/stubs/hvf-stub.c b/accel/stubs/hvf-stub.c
> deleted file mode 100644
> index e81dfe888c..0000000000
> --- a/accel/stubs/hvf-stub.c
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -/*
> - * QEMU HVF support
> - *
> - * Copyright 2017 Red Hat, Inc.
> - *
> - * This software is licensed under the terms of the GNU General Public
> - * License version 2 or later, as published by the Free Software Foundation,
> - * and may be copied, distributed, and modified under those terms.
> - *
> - * See the COPYING file in the top-level directory.
> - *
> - */
> -
> -#include "qemu/osdep.h"
> -#include "cpu.h"
> -#include "sysemu/hvf.h"
> -
> -int hvf_init_vcpu(CPUState *cpu)
> -{
> -    return -ENOSYS;
> -}
> -
> -int hvf_vcpu_exec(CPUState *cpu)
> -{
> -    return -ENOSYS;
> -}
> -
> -void hvf_vcpu_destroy(CPUState *cpu)
> -{
> -}
> diff --git a/include/sysemu/hvf.h b/include/sysemu/hvf.h
> index 6d3ee4fdb7..b4f7191dd9 100644
> --- a/include/sysemu/hvf.h
> +++ b/include/sysemu/hvf.h
> @@ -23,14 +23,6 @@ extern bool hvf_allowed;
>  #define hvf_get_supported_cpuid(func, idx, reg) 0
>  #endif /* !CONFIG_HVF */
>  
> -int hvf_init_vcpu(CPUState *);
> -int hvf_vcpu_exec(CPUState *);
> -void hvf_cpu_synchronize_state(CPUState *);
> -void hvf_cpu_synchronize_post_reset(CPUState *);
> -void hvf_cpu_synchronize_post_init(CPUState *);
> -void hvf_cpu_synchronize_pre_loadvm(CPUState *);
> -void hvf_vcpu_destroy(CPUState *);
> -
>  #define TYPE_HVF_ACCEL ACCEL_CLASS_NAME("hvf")
>  
>  #define HVF_STATE(obj) \
> diff --git a/target/i386/hvf/hvf-cpus.c b/target/i386/hvf/hvf-cpus.c
> index 9540157f1e..3e5cd75dc9 100644
> --- a/target/i386/hvf/hvf-cpus.c
> +++ b/target/i386/hvf/hvf-cpus.c
> @@ -55,6 +55,7 @@
>  #include "target/i386/cpu.h"
>  #include "qemu/guest-random.h"
>  
> +#include "hvf-int.h"
>  #include "hvf-cpus.h"
>  
>  /*
> diff --git a/target/i386/hvf/hvf-int.h b/target/i386/hvf/hvf-int.h
> new file mode 100644
> index 0000000000..50d108ca08
> --- /dev/null
> +++ b/target/i386/hvf/hvf-int.h


Hmm maybe I could avoid creating a new header file,
and just cram these functions in hvf-cpus.h ?

Any thoughts?

Thanks,

Claudio


> @@ -0,0 +1,24 @@
> +/*
> + * QEMU Hypervisor.framework (HVF) support
> + *
> + * Copyright Google Inc., 2017
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + */
> +
> +/* header to be included in HVF-specific internal code */
> +
> +#ifndef HVF_INT_H
> +#define HVF_INT_H
> +
> +int hvf_init_vcpu(CPUState *);
> +int hvf_vcpu_exec(CPUState *);
> +void hvf_cpu_synchronize_state(CPUState *);
> +void hvf_cpu_synchronize_post_reset(CPUState *);
> +void hvf_cpu_synchronize_post_init(CPUState *);
> +void hvf_cpu_synchronize_pre_loadvm(CPUState *);
> +void hvf_vcpu_destroy(CPUState *);
> +
> +#endif /* HVF_INT_H */
> diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c
> index ed9356565c..728b4695e6 100644
> --- a/target/i386/hvf/hvf.c
> +++ b/target/i386/hvf/hvf.c
> @@ -72,6 +72,7 @@
>  #include "sysemu/accel.h"
>  #include "target/i386/cpu.h"
>  
> +#include "hvf-int.h"
>  #include "hvf-cpus.h"
>  
>  HVFState *hvf_state;
> diff --git a/target/i386/hvf/x86hvf.c b/target/i386/hvf/x86hvf.c
> index 5cbcb32ab6..17e0280be0 100644
> --- a/target/i386/hvf/x86hvf.c
> +++ b/target/i386/hvf/x86hvf.c
> @@ -32,6 +32,8 @@
>  #include <Hypervisor/hv.h>
>  #include <Hypervisor/hv_vmx.h>
>  
> +#include "hvf-int.h"
> +
>  void hvf_set_segment(struct CPUState *cpu, struct vmx_segment *vmx_seg,
>                       SegmentCache *qseg, bool is_tr)
>  {
> diff --git a/target/i386/hvf/x86hvf.h b/target/i386/hvf/x86hvf.h
> index 79539f7282..4fabc6d582 100644
> --- a/target/i386/hvf/x86hvf.h
> +++ b/target/i386/hvf/x86hvf.h
> @@ -35,5 +35,4 @@ void hvf_get_msrs(CPUState *cpu_state);
>  void vmx_clear_int_window_exiting(CPUState *cpu);
>  void hvf_get_segments(CPUState *cpu_state);
>  void vmx_update_tpr(CPUState *cpu);
> -void hvf_cpu_synchronize_state(CPUState *cpu_state);
>  #endif
>
Philippe Mathieu-Daudé Aug. 12, 2020, 4:12 p.m. UTC | #2
On 8/12/20 4:49 PM, Claudio Fontana wrote:
> On 8/11/20 11:03 PM, Claudio Fontana wrote:
>> Signed-off-by: Claudio Fontana <cfontana@suse.de>
>> ---
>>  accel/stubs/Makefile.objs  |  1 -
>>  accel/stubs/hvf-stub.c     | 30 ------------------------------
>>  include/sysemu/hvf.h       |  8 --------
>>  target/i386/hvf/hvf-cpus.c |  1 +
>>  target/i386/hvf/hvf-int.h  | 24 ++++++++++++++++++++++++
>>  target/i386/hvf/hvf.c      |  1 +
>>  target/i386/hvf/x86hvf.c   |  2 ++
>>  target/i386/hvf/x86hvf.h   |  1 -
>>  8 files changed, 28 insertions(+), 40 deletions(-)
>>  delete mode 100644 accel/stubs/hvf-stub.c
>>  create mode 100644 target/i386/hvf/hvf-int.h
[...]
>> --- a/target/i386/hvf/hvf-cpus.c
>> +++ b/target/i386/hvf/hvf-cpus.c
>> @@ -55,6 +55,7 @@
>>  #include "target/i386/cpu.h"
>>  #include "qemu/guest-random.h"
>>  
>> +#include "hvf-int.h"
>>  #include "hvf-cpus.h"
>>  
>>  /*
>> diff --git a/target/i386/hvf/hvf-int.h b/target/i386/hvf/hvf-int.h
>> new file mode 100644
>> index 0000000000..50d108ca08
>> --- /dev/null
>> +++ b/target/i386/hvf/hvf-int.h
> 
> 
> Hmm maybe I could avoid creating a new header file,
> and just cram these functions in hvf-cpus.h ?

Yes it seems better (similar rename with the other accelerators).

> 
> Any thoughts?
> 
> Thanks,
> 
> Claudio
diff mbox series

Patch

diff --git a/accel/stubs/Makefile.objs b/accel/stubs/Makefile.objs
index bbd14e71fb..6630954f30 100644
--- a/accel/stubs/Makefile.objs
+++ b/accel/stubs/Makefile.objs
@@ -1,5 +1,4 @@ 
 obj-$(call lnot,$(CONFIG_HAX))  += hax-stub.o
-obj-$(call lnot,$(CONFIG_HVF))  += hvf-stub.o
 obj-$(call lnot,$(CONFIG_WHPX)) += whpx-stub.o
 obj-$(call lnot,$(CONFIG_KVM))  += kvm-stub.o
 obj-$(call lnot,$(CONFIG_TCG))  += tcg-stub.o
diff --git a/accel/stubs/hvf-stub.c b/accel/stubs/hvf-stub.c
deleted file mode 100644
index e81dfe888c..0000000000
--- a/accel/stubs/hvf-stub.c
+++ /dev/null
@@ -1,30 +0,0 @@ 
-/*
- * QEMU HVF support
- *
- * Copyright 2017 Red Hat, Inc.
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2 or later, as published by the Free Software Foundation,
- * and may be copied, distributed, and modified under those terms.
- *
- * See the COPYING file in the top-level directory.
- *
- */
-
-#include "qemu/osdep.h"
-#include "cpu.h"
-#include "sysemu/hvf.h"
-
-int hvf_init_vcpu(CPUState *cpu)
-{
-    return -ENOSYS;
-}
-
-int hvf_vcpu_exec(CPUState *cpu)
-{
-    return -ENOSYS;
-}
-
-void hvf_vcpu_destroy(CPUState *cpu)
-{
-}
diff --git a/include/sysemu/hvf.h b/include/sysemu/hvf.h
index 6d3ee4fdb7..b4f7191dd9 100644
--- a/include/sysemu/hvf.h
+++ b/include/sysemu/hvf.h
@@ -23,14 +23,6 @@  extern bool hvf_allowed;
 #define hvf_get_supported_cpuid(func, idx, reg) 0
 #endif /* !CONFIG_HVF */
 
-int hvf_init_vcpu(CPUState *);
-int hvf_vcpu_exec(CPUState *);
-void hvf_cpu_synchronize_state(CPUState *);
-void hvf_cpu_synchronize_post_reset(CPUState *);
-void hvf_cpu_synchronize_post_init(CPUState *);
-void hvf_cpu_synchronize_pre_loadvm(CPUState *);
-void hvf_vcpu_destroy(CPUState *);
-
 #define TYPE_HVF_ACCEL ACCEL_CLASS_NAME("hvf")
 
 #define HVF_STATE(obj) \
diff --git a/target/i386/hvf/hvf-cpus.c b/target/i386/hvf/hvf-cpus.c
index 9540157f1e..3e5cd75dc9 100644
--- a/target/i386/hvf/hvf-cpus.c
+++ b/target/i386/hvf/hvf-cpus.c
@@ -55,6 +55,7 @@ 
 #include "target/i386/cpu.h"
 #include "qemu/guest-random.h"
 
+#include "hvf-int.h"
 #include "hvf-cpus.h"
 
 /*
diff --git a/target/i386/hvf/hvf-int.h b/target/i386/hvf/hvf-int.h
new file mode 100644
index 0000000000..50d108ca08
--- /dev/null
+++ b/target/i386/hvf/hvf-int.h
@@ -0,0 +1,24 @@ 
+/*
+ * QEMU Hypervisor.framework (HVF) support
+ *
+ * Copyright Google Inc., 2017
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */
+
+/* header to be included in HVF-specific internal code */
+
+#ifndef HVF_INT_H
+#define HVF_INT_H
+
+int hvf_init_vcpu(CPUState *);
+int hvf_vcpu_exec(CPUState *);
+void hvf_cpu_synchronize_state(CPUState *);
+void hvf_cpu_synchronize_post_reset(CPUState *);
+void hvf_cpu_synchronize_post_init(CPUState *);
+void hvf_cpu_synchronize_pre_loadvm(CPUState *);
+void hvf_vcpu_destroy(CPUState *);
+
+#endif /* HVF_INT_H */
diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c
index ed9356565c..728b4695e6 100644
--- a/target/i386/hvf/hvf.c
+++ b/target/i386/hvf/hvf.c
@@ -72,6 +72,7 @@ 
 #include "sysemu/accel.h"
 #include "target/i386/cpu.h"
 
+#include "hvf-int.h"
 #include "hvf-cpus.h"
 
 HVFState *hvf_state;
diff --git a/target/i386/hvf/x86hvf.c b/target/i386/hvf/x86hvf.c
index 5cbcb32ab6..17e0280be0 100644
--- a/target/i386/hvf/x86hvf.c
+++ b/target/i386/hvf/x86hvf.c
@@ -32,6 +32,8 @@ 
 #include <Hypervisor/hv.h>
 #include <Hypervisor/hv_vmx.h>
 
+#include "hvf-int.h"
+
 void hvf_set_segment(struct CPUState *cpu, struct vmx_segment *vmx_seg,
                      SegmentCache *qseg, bool is_tr)
 {
diff --git a/target/i386/hvf/x86hvf.h b/target/i386/hvf/x86hvf.h
index 79539f7282..4fabc6d582 100644
--- a/target/i386/hvf/x86hvf.h
+++ b/target/i386/hvf/x86hvf.h
@@ -35,5 +35,4 @@  void hvf_get_msrs(CPUState *cpu_state);
 void vmx_clear_int_window_exiting(CPUState *cpu);
 void hvf_get_segments(CPUState *cpu_state);
 void vmx_update_tpr(CPUState *cpu);
-void hvf_cpu_synchronize_state(CPUState *cpu_state);
 #endif