All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] target/i386: Include 'hw/i386/apic.h' locally
@ 2021-09-02 15:22 ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-02 15:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: Eduardo Habkost, Michael S. Tsirkin, haxm-team,
	Richard Henderson, Colin Xu, Reinoud Zandijk, Sunil Muthuswamy,
	Wenchao Wang, kvm, Marcel Apfelbaum, Kamil Rytarowski,
	Paolo Bonzini, Roman Bolshakov, Cameron Esfahani,
	Philippe Mathieu-Daudé

Instead of including a sysemu-specific header in "cpu.h"
(which is shared with user-mode emulations), include it
locally when required.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
Based-on: <20210902151715.383678-1-f4bug@amsat.org>
"accel/tcg: Restrict TCGCPUOps::cpu_exec_interrupt() to sysemu"
---
 target/i386/cpu.h                    | 4 ----
 hw/i386/kvmvapic.c                   | 1 +
 hw/i386/x86.c                        | 1 +
 target/i386/cpu-sysemu.c             | 1 +
 target/i386/cpu.c                    | 1 +
 target/i386/gdbstub.c                | 4 ++++
 target/i386/hax/hax-all.c            | 1 +
 target/i386/helper.c                 | 1 +
 target/i386/hvf/x86_emu.c            | 1 +
 target/i386/nvmm/nvmm-all.c          | 1 +
 target/i386/tcg/seg_helper.c         | 4 ++++
 target/i386/tcg/sysemu/misc_helper.c | 1 +
 target/i386/whpx/whpx-all.c          | 1 +
 13 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index c7cc65e92d5..eddafd1acd5 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -2046,10 +2046,6 @@ typedef X86CPU ArchCPU;
 #include "exec/cpu-all.h"
 #include "svm.h"
 
-#if !defined(CONFIG_USER_ONLY)
-#include "hw/i386/apic.h"
-#endif
-
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                                         target_ulong *cs_base, uint32_t *flags)
 {
diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
index 43f8a8f679e..7333818bdd1 100644
--- a/hw/i386/kvmvapic.c
+++ b/hw/i386/kvmvapic.c
@@ -16,6 +16,7 @@
 #include "sysemu/hw_accel.h"
 #include "sysemu/kvm.h"
 #include "sysemu/runstate.h"
+#include "hw/i386/apic.h"
 #include "hw/i386/apic_internal.h"
 #include "hw/sysbus.h"
 #include "hw/boards.h"
diff --git a/hw/i386/x86.c b/hw/i386/x86.c
index 00448ed55aa..e0218f8791f 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -43,6 +43,7 @@
 #include "target/i386/cpu.h"
 #include "hw/i386/topology.h"
 #include "hw/i386/fw_cfg.h"
+#include "hw/i386/apic.h"
 #include "hw/intc/i8259.h"
 #include "hw/rtc/mc146818rtc.h"
 
diff --git a/target/i386/cpu-sysemu.c b/target/i386/cpu-sysemu.c
index 1078e3d157f..65709e41903 100644
--- a/target/i386/cpu-sysemu.c
+++ b/target/i386/cpu-sysemu.c
@@ -30,6 +30,7 @@
 #include "hw/qdev-properties.h"
 
 #include "exec/address-spaces.h"
+#include "hw/i386/apic.h"
 #include "hw/i386/apic_internal.h"
 
 #include "cpu-internal.h"
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 97e250e8760..04f59043804 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -33,6 +33,7 @@
 #include "standard-headers/asm-x86/kvm_para.h"
 #include "hw/qdev-properties.h"
 #include "hw/i386/topology.h"
+#include "hw/i386/apic.h"
 #ifndef CONFIG_USER_ONLY
 #include "exec/address-spaces.h"
 #include "hw/boards.h"
diff --git a/target/i386/gdbstub.c b/target/i386/gdbstub.c
index 098a2ad15a9..5438229c1a9 100644
--- a/target/i386/gdbstub.c
+++ b/target/i386/gdbstub.c
@@ -21,6 +21,10 @@
 #include "cpu.h"
 #include "exec/gdbstub.h"
 
+#ifndef CONFIG_USER_ONLY
+#include "hw/i386/apic.h"
+#endif
+
 #ifdef TARGET_X86_64
 static const int gpr_map[16] = {
     R_EAX, R_EBX, R_ECX, R_EDX, R_ESI, R_EDI, R_EBP, R_ESP,
diff --git a/target/i386/hax/hax-all.c b/target/i386/hax/hax-all.c
index bf65ed6fa92..cd89e3233a9 100644
--- a/target/i386/hax/hax-all.c
+++ b/target/i386/hax/hax-all.c
@@ -32,6 +32,7 @@
 #include "sysemu/reset.h"
 #include "sysemu/runstate.h"
 #include "hw/boards.h"
+#include "hw/i386/apic.h"
 
 #include "hax-accel-ops.h"
 
diff --git a/target/i386/helper.c b/target/i386/helper.c
index 533b29cb91b..874beda98ae 100644
--- a/target/i386/helper.c
+++ b/target/i386/helper.c
@@ -26,6 +26,7 @@
 #ifndef CONFIG_USER_ONLY
 #include "sysemu/hw_accel.h"
 #include "monitor/monitor.h"
+#include "hw/i386/apic.h"
 #endif
 
 void cpu_sync_bndcs_hflags(CPUX86State *env)
diff --git a/target/i386/hvf/x86_emu.c b/target/i386/hvf/x86_emu.c
index 7c8203b21fb..fb3e88959d4 100644
--- a/target/i386/hvf/x86_emu.c
+++ b/target/i386/hvf/x86_emu.c
@@ -45,6 +45,7 @@
 #include "x86_flags.h"
 #include "vmcs.h"
 #include "vmx.h"
+#include "hw/i386/apic.h"
 
 void hvf_handle_io(struct CPUState *cpu, uint16_t port, void *data,
                    int direction, int size, uint32_t count);
diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c
index 28dee4c5ee3..4c07cfc7194 100644
--- a/target/i386/nvmm/nvmm-all.c
+++ b/target/i386/nvmm/nvmm-all.c
@@ -22,6 +22,7 @@
 #include "qemu/queue.h"
 #include "migration/blocker.h"
 #include "strings.h"
+#include "hw/i386/apic.h"
 
 #include "nvmm-accel-ops.h"
 
diff --git a/target/i386/tcg/seg_helper.c b/target/i386/tcg/seg_helper.c
index 13c6e6ee62e..71fd2bf8d06 100644
--- a/target/i386/tcg/seg_helper.c
+++ b/target/i386/tcg/seg_helper.c
@@ -28,6 +28,10 @@
 #include "helper-tcg.h"
 #include "seg_helper.h"
 
+#ifndef CONFIG_USER_ONLY
+#include "hw/i386/apic.h"
+#endif
+
 /* return non zero if error */
 static inline int load_segment_ra(CPUX86State *env, uint32_t *e1_ptr,
                                uint32_t *e2_ptr, int selector,
diff --git a/target/i386/tcg/sysemu/misc_helper.c b/target/i386/tcg/sysemu/misc_helper.c
index e7a2ebde813..dbeda8d0b0f 100644
--- a/target/i386/tcg/sysemu/misc_helper.c
+++ b/target/i386/tcg/sysemu/misc_helper.c
@@ -24,6 +24,7 @@
 #include "exec/cpu_ldst.h"
 #include "exec/address-spaces.h"
 #include "tcg/helper-tcg.h"
+#include "hw/i386/apic.h"
 
 void helper_outb(CPUX86State *env, uint32_t port, uint32_t data)
 {
diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
index 3e925b9da70..9ab844fd05d 100644
--- a/target/i386/whpx/whpx-all.c
+++ b/target/i386/whpx/whpx-all.c
@@ -20,6 +20,7 @@
 #include "qemu/main-loop.h"
 #include "hw/boards.h"
 #include "hw/i386/ioapic.h"
+#include "hw/i386/apic.h"
 #include "hw/i386/apic_internal.h"
 #include "qemu/error-report.h"
 #include "qapi/error.h"
-- 
2.31.1


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

* [PATCH] target/i386: Include 'hw/i386/apic.h' locally
@ 2021-09-02 15:22 ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-02 15:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, Richard Henderson,
	Roman Bolshakov, Cameron Esfahani, Philippe Mathieu-Daudé,
	Kamil Rytarowski, Reinoud Zandijk, Colin Xu, Paolo Bonzini,
	haxm-team, Sunil Muthuswamy, Wenchao Wang

Instead of including a sysemu-specific header in "cpu.h"
(which is shared with user-mode emulations), include it
locally when required.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
Based-on: <20210902151715.383678-1-f4bug@amsat.org>
"accel/tcg: Restrict TCGCPUOps::cpu_exec_interrupt() to sysemu"
---
 target/i386/cpu.h                    | 4 ----
 hw/i386/kvmvapic.c                   | 1 +
 hw/i386/x86.c                        | 1 +
 target/i386/cpu-sysemu.c             | 1 +
 target/i386/cpu.c                    | 1 +
 target/i386/gdbstub.c                | 4 ++++
 target/i386/hax/hax-all.c            | 1 +
 target/i386/helper.c                 | 1 +
 target/i386/hvf/x86_emu.c            | 1 +
 target/i386/nvmm/nvmm-all.c          | 1 +
 target/i386/tcg/seg_helper.c         | 4 ++++
 target/i386/tcg/sysemu/misc_helper.c | 1 +
 target/i386/whpx/whpx-all.c          | 1 +
 13 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index c7cc65e92d5..eddafd1acd5 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -2046,10 +2046,6 @@ typedef X86CPU ArchCPU;
 #include "exec/cpu-all.h"
 #include "svm.h"
 
-#if !defined(CONFIG_USER_ONLY)
-#include "hw/i386/apic.h"
-#endif
-
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                                         target_ulong *cs_base, uint32_t *flags)
 {
diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
index 43f8a8f679e..7333818bdd1 100644
--- a/hw/i386/kvmvapic.c
+++ b/hw/i386/kvmvapic.c
@@ -16,6 +16,7 @@
 #include "sysemu/hw_accel.h"
 #include "sysemu/kvm.h"
 #include "sysemu/runstate.h"
+#include "hw/i386/apic.h"
 #include "hw/i386/apic_internal.h"
 #include "hw/sysbus.h"
 #include "hw/boards.h"
diff --git a/hw/i386/x86.c b/hw/i386/x86.c
index 00448ed55aa..e0218f8791f 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -43,6 +43,7 @@
 #include "target/i386/cpu.h"
 #include "hw/i386/topology.h"
 #include "hw/i386/fw_cfg.h"
+#include "hw/i386/apic.h"
 #include "hw/intc/i8259.h"
 #include "hw/rtc/mc146818rtc.h"
 
diff --git a/target/i386/cpu-sysemu.c b/target/i386/cpu-sysemu.c
index 1078e3d157f..65709e41903 100644
--- a/target/i386/cpu-sysemu.c
+++ b/target/i386/cpu-sysemu.c
@@ -30,6 +30,7 @@
 #include "hw/qdev-properties.h"
 
 #include "exec/address-spaces.h"
+#include "hw/i386/apic.h"
 #include "hw/i386/apic_internal.h"
 
 #include "cpu-internal.h"
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 97e250e8760..04f59043804 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -33,6 +33,7 @@
 #include "standard-headers/asm-x86/kvm_para.h"
 #include "hw/qdev-properties.h"
 #include "hw/i386/topology.h"
+#include "hw/i386/apic.h"
 #ifndef CONFIG_USER_ONLY
 #include "exec/address-spaces.h"
 #include "hw/boards.h"
diff --git a/target/i386/gdbstub.c b/target/i386/gdbstub.c
index 098a2ad15a9..5438229c1a9 100644
--- a/target/i386/gdbstub.c
+++ b/target/i386/gdbstub.c
@@ -21,6 +21,10 @@
 #include "cpu.h"
 #include "exec/gdbstub.h"
 
+#ifndef CONFIG_USER_ONLY
+#include "hw/i386/apic.h"
+#endif
+
 #ifdef TARGET_X86_64
 static const int gpr_map[16] = {
     R_EAX, R_EBX, R_ECX, R_EDX, R_ESI, R_EDI, R_EBP, R_ESP,
diff --git a/target/i386/hax/hax-all.c b/target/i386/hax/hax-all.c
index bf65ed6fa92..cd89e3233a9 100644
--- a/target/i386/hax/hax-all.c
+++ b/target/i386/hax/hax-all.c
@@ -32,6 +32,7 @@
 #include "sysemu/reset.h"
 #include "sysemu/runstate.h"
 #include "hw/boards.h"
+#include "hw/i386/apic.h"
 
 #include "hax-accel-ops.h"
 
diff --git a/target/i386/helper.c b/target/i386/helper.c
index 533b29cb91b..874beda98ae 100644
--- a/target/i386/helper.c
+++ b/target/i386/helper.c
@@ -26,6 +26,7 @@
 #ifndef CONFIG_USER_ONLY
 #include "sysemu/hw_accel.h"
 #include "monitor/monitor.h"
+#include "hw/i386/apic.h"
 #endif
 
 void cpu_sync_bndcs_hflags(CPUX86State *env)
diff --git a/target/i386/hvf/x86_emu.c b/target/i386/hvf/x86_emu.c
index 7c8203b21fb..fb3e88959d4 100644
--- a/target/i386/hvf/x86_emu.c
+++ b/target/i386/hvf/x86_emu.c
@@ -45,6 +45,7 @@
 #include "x86_flags.h"
 #include "vmcs.h"
 #include "vmx.h"
+#include "hw/i386/apic.h"
 
 void hvf_handle_io(struct CPUState *cpu, uint16_t port, void *data,
                    int direction, int size, uint32_t count);
diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c
index 28dee4c5ee3..4c07cfc7194 100644
--- a/target/i386/nvmm/nvmm-all.c
+++ b/target/i386/nvmm/nvmm-all.c
@@ -22,6 +22,7 @@
 #include "qemu/queue.h"
 #include "migration/blocker.h"
 #include "strings.h"
+#include "hw/i386/apic.h"
 
 #include "nvmm-accel-ops.h"
 
diff --git a/target/i386/tcg/seg_helper.c b/target/i386/tcg/seg_helper.c
index 13c6e6ee62e..71fd2bf8d06 100644
--- a/target/i386/tcg/seg_helper.c
+++ b/target/i386/tcg/seg_helper.c
@@ -28,6 +28,10 @@
 #include "helper-tcg.h"
 #include "seg_helper.h"
 
+#ifndef CONFIG_USER_ONLY
+#include "hw/i386/apic.h"
+#endif
+
 /* return non zero if error */
 static inline int load_segment_ra(CPUX86State *env, uint32_t *e1_ptr,
                                uint32_t *e2_ptr, int selector,
diff --git a/target/i386/tcg/sysemu/misc_helper.c b/target/i386/tcg/sysemu/misc_helper.c
index e7a2ebde813..dbeda8d0b0f 100644
--- a/target/i386/tcg/sysemu/misc_helper.c
+++ b/target/i386/tcg/sysemu/misc_helper.c
@@ -24,6 +24,7 @@
 #include "exec/cpu_ldst.h"
 #include "exec/address-spaces.h"
 #include "tcg/helper-tcg.h"
+#include "hw/i386/apic.h"
 
 void helper_outb(CPUX86State *env, uint32_t port, uint32_t data)
 {
diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
index 3e925b9da70..9ab844fd05d 100644
--- a/target/i386/whpx/whpx-all.c
+++ b/target/i386/whpx/whpx-all.c
@@ -20,6 +20,7 @@
 #include "qemu/main-loop.h"
 #include "hw/boards.h"
 #include "hw/i386/ioapic.h"
+#include "hw/i386/apic.h"
 #include "hw/i386/apic_internal.h"
 #include "qemu/error-report.h"
 #include "qapi/error.h"
-- 
2.31.1



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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
  2021-09-02 15:22 ` Philippe Mathieu-Daudé
@ 2021-09-15 14:36   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-15 14:36 UTC (permalink / raw)
  To: qemu-devel, Eduardo Habkost, Paolo Bonzini
  Cc: kvm, Michael S. Tsirkin, Richard Henderson, Roman Bolshakov,
	Cameron Esfahani, Kamil Rytarowski, Reinoud Zandijk, Colin Xu,
	haxm-team, Sunil Muthuswamy, Wenchao Wang

On 9/2/21 5:22 PM, Philippe Mathieu-Daudé wrote:
> Instead of including a sysemu-specific header in "cpu.h"
> (which is shared with user-mode emulations), include it
> locally when required.
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---

Ping?

> ---
>  target/i386/cpu.h                    | 4 ----
>  hw/i386/kvmvapic.c                   | 1 +
>  hw/i386/x86.c                        | 1 +
>  target/i386/cpu-sysemu.c             | 1 +
>  target/i386/cpu.c                    | 1 +
>  target/i386/gdbstub.c                | 4 ++++
>  target/i386/hax/hax-all.c            | 1 +
>  target/i386/helper.c                 | 1 +
>  target/i386/hvf/x86_emu.c            | 1 +
>  target/i386/nvmm/nvmm-all.c          | 1 +
>  target/i386/tcg/seg_helper.c         | 4 ++++
>  target/i386/tcg/sysemu/misc_helper.c | 1 +
>  target/i386/whpx/whpx-all.c          | 1 +
>  13 files changed, 18 insertions(+), 4 deletions(-)
> 
> diff --git a/target/i386/cpu.h b/target/i386/cpu.h
> index c7cc65e92d5..eddafd1acd5 100644
> --- a/target/i386/cpu.h
> +++ b/target/i386/cpu.h
> @@ -2046,10 +2046,6 @@ typedef X86CPU ArchCPU;
>  #include "exec/cpu-all.h"
>  #include "svm.h"
>  
> -#if !defined(CONFIG_USER_ONLY)
> -#include "hw/i386/apic.h"
> -#endif
> -
>  static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
>                                          target_ulong *cs_base, uint32_t *flags)
>  {
> diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
> index 43f8a8f679e..7333818bdd1 100644
> --- a/hw/i386/kvmvapic.c
> +++ b/hw/i386/kvmvapic.c
> @@ -16,6 +16,7 @@
>  #include "sysemu/hw_accel.h"
>  #include "sysemu/kvm.h"
>  #include "sysemu/runstate.h"
> +#include "hw/i386/apic.h"
>  #include "hw/i386/apic_internal.h"
>  #include "hw/sysbus.h"
>  #include "hw/boards.h"
> diff --git a/hw/i386/x86.c b/hw/i386/x86.c
> index 00448ed55aa..e0218f8791f 100644
> --- a/hw/i386/x86.c
> +++ b/hw/i386/x86.c
> @@ -43,6 +43,7 @@
>  #include "target/i386/cpu.h"
>  #include "hw/i386/topology.h"
>  #include "hw/i386/fw_cfg.h"
> +#include "hw/i386/apic.h"
>  #include "hw/intc/i8259.h"
>  #include "hw/rtc/mc146818rtc.h"
>  
> diff --git a/target/i386/cpu-sysemu.c b/target/i386/cpu-sysemu.c
> index 1078e3d157f..65709e41903 100644
> --- a/target/i386/cpu-sysemu.c
> +++ b/target/i386/cpu-sysemu.c
> @@ -30,6 +30,7 @@
>  #include "hw/qdev-properties.h"
>  
>  #include "exec/address-spaces.h"
> +#include "hw/i386/apic.h"
>  #include "hw/i386/apic_internal.h"
>  
>  #include "cpu-internal.h"
> diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> index 97e250e8760..04f59043804 100644
> --- a/target/i386/cpu.c
> +++ b/target/i386/cpu.c
> @@ -33,6 +33,7 @@
>  #include "standard-headers/asm-x86/kvm_para.h"
>  #include "hw/qdev-properties.h"
>  #include "hw/i386/topology.h"
> +#include "hw/i386/apic.h"
>  #ifndef CONFIG_USER_ONLY
>  #include "exec/address-spaces.h"
>  #include "hw/boards.h"
> diff --git a/target/i386/gdbstub.c b/target/i386/gdbstub.c
> index 098a2ad15a9..5438229c1a9 100644
> --- a/target/i386/gdbstub.c
> +++ b/target/i386/gdbstub.c
> @@ -21,6 +21,10 @@
>  #include "cpu.h"
>  #include "exec/gdbstub.h"
>  
> +#ifndef CONFIG_USER_ONLY
> +#include "hw/i386/apic.h"
> +#endif
> +
>  #ifdef TARGET_X86_64
>  static const int gpr_map[16] = {
>      R_EAX, R_EBX, R_ECX, R_EDX, R_ESI, R_EDI, R_EBP, R_ESP,
> diff --git a/target/i386/hax/hax-all.c b/target/i386/hax/hax-all.c
> index bf65ed6fa92..cd89e3233a9 100644
> --- a/target/i386/hax/hax-all.c
> +++ b/target/i386/hax/hax-all.c
> @@ -32,6 +32,7 @@
>  #include "sysemu/reset.h"
>  #include "sysemu/runstate.h"
>  #include "hw/boards.h"
> +#include "hw/i386/apic.h"
>  
>  #include "hax-accel-ops.h"
>  
> diff --git a/target/i386/helper.c b/target/i386/helper.c
> index 533b29cb91b..874beda98ae 100644
> --- a/target/i386/helper.c
> +++ b/target/i386/helper.c
> @@ -26,6 +26,7 @@
>  #ifndef CONFIG_USER_ONLY
>  #include "sysemu/hw_accel.h"
>  #include "monitor/monitor.h"
> +#include "hw/i386/apic.h"
>  #endif
>  
>  void cpu_sync_bndcs_hflags(CPUX86State *env)
> diff --git a/target/i386/hvf/x86_emu.c b/target/i386/hvf/x86_emu.c
> index 7c8203b21fb..fb3e88959d4 100644
> --- a/target/i386/hvf/x86_emu.c
> +++ b/target/i386/hvf/x86_emu.c
> @@ -45,6 +45,7 @@
>  #include "x86_flags.h"
>  #include "vmcs.h"
>  #include "vmx.h"
> +#include "hw/i386/apic.h"
>  
>  void hvf_handle_io(struct CPUState *cpu, uint16_t port, void *data,
>                     int direction, int size, uint32_t count);
> diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c
> index 28dee4c5ee3..4c07cfc7194 100644
> --- a/target/i386/nvmm/nvmm-all.c
> +++ b/target/i386/nvmm/nvmm-all.c
> @@ -22,6 +22,7 @@
>  #include "qemu/queue.h"
>  #include "migration/blocker.h"
>  #include "strings.h"
> +#include "hw/i386/apic.h"
>  
>  #include "nvmm-accel-ops.h"
>  
> diff --git a/target/i386/tcg/seg_helper.c b/target/i386/tcg/seg_helper.c
> index 13c6e6ee62e..71fd2bf8d06 100644
> --- a/target/i386/tcg/seg_helper.c
> +++ b/target/i386/tcg/seg_helper.c
> @@ -28,6 +28,10 @@
>  #include "helper-tcg.h"
>  #include "seg_helper.h"
>  
> +#ifndef CONFIG_USER_ONLY
> +#include "hw/i386/apic.h"
> +#endif
> +
>  /* return non zero if error */
>  static inline int load_segment_ra(CPUX86State *env, uint32_t *e1_ptr,
>                                 uint32_t *e2_ptr, int selector,
> diff --git a/target/i386/tcg/sysemu/misc_helper.c b/target/i386/tcg/sysemu/misc_helper.c
> index e7a2ebde813..dbeda8d0b0f 100644
> --- a/target/i386/tcg/sysemu/misc_helper.c
> +++ b/target/i386/tcg/sysemu/misc_helper.c
> @@ -24,6 +24,7 @@
>  #include "exec/cpu_ldst.h"
>  #include "exec/address-spaces.h"
>  #include "tcg/helper-tcg.h"
> +#include "hw/i386/apic.h"
>  
>  void helper_outb(CPUX86State *env, uint32_t port, uint32_t data)
>  {
> diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
> index 3e925b9da70..9ab844fd05d 100644
> --- a/target/i386/whpx/whpx-all.c
> +++ b/target/i386/whpx/whpx-all.c
> @@ -20,6 +20,7 @@
>  #include "qemu/main-loop.h"
>  #include "hw/boards.h"
>  #include "hw/i386/ioapic.h"
> +#include "hw/i386/apic.h"
>  #include "hw/i386/apic_internal.h"
>  #include "qemu/error-report.h"
>  #include "qapi/error.h"
> 

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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
@ 2021-09-15 14:36   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-15 14:36 UTC (permalink / raw)
  To: qemu-devel, Eduardo Habkost, Paolo Bonzini
  Cc: kvm, Michael S. Tsirkin, Richard Henderson, Kamil Rytarowski,
	Cameron Esfahani, Roman Bolshakov, Reinoud Zandijk, Colin Xu,
	haxm-team, Sunil Muthuswamy, Wenchao Wang

On 9/2/21 5:22 PM, Philippe Mathieu-Daudé wrote:
> Instead of including a sysemu-specific header in "cpu.h"
> (which is shared with user-mode emulations), include it
> locally when required.
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---

Ping?

> ---
>  target/i386/cpu.h                    | 4 ----
>  hw/i386/kvmvapic.c                   | 1 +
>  hw/i386/x86.c                        | 1 +
>  target/i386/cpu-sysemu.c             | 1 +
>  target/i386/cpu.c                    | 1 +
>  target/i386/gdbstub.c                | 4 ++++
>  target/i386/hax/hax-all.c            | 1 +
>  target/i386/helper.c                 | 1 +
>  target/i386/hvf/x86_emu.c            | 1 +
>  target/i386/nvmm/nvmm-all.c          | 1 +
>  target/i386/tcg/seg_helper.c         | 4 ++++
>  target/i386/tcg/sysemu/misc_helper.c | 1 +
>  target/i386/whpx/whpx-all.c          | 1 +
>  13 files changed, 18 insertions(+), 4 deletions(-)
> 
> diff --git a/target/i386/cpu.h b/target/i386/cpu.h
> index c7cc65e92d5..eddafd1acd5 100644
> --- a/target/i386/cpu.h
> +++ b/target/i386/cpu.h
> @@ -2046,10 +2046,6 @@ typedef X86CPU ArchCPU;
>  #include "exec/cpu-all.h"
>  #include "svm.h"
>  
> -#if !defined(CONFIG_USER_ONLY)
> -#include "hw/i386/apic.h"
> -#endif
> -
>  static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
>                                          target_ulong *cs_base, uint32_t *flags)
>  {
> diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
> index 43f8a8f679e..7333818bdd1 100644
> --- a/hw/i386/kvmvapic.c
> +++ b/hw/i386/kvmvapic.c
> @@ -16,6 +16,7 @@
>  #include "sysemu/hw_accel.h"
>  #include "sysemu/kvm.h"
>  #include "sysemu/runstate.h"
> +#include "hw/i386/apic.h"
>  #include "hw/i386/apic_internal.h"
>  #include "hw/sysbus.h"
>  #include "hw/boards.h"
> diff --git a/hw/i386/x86.c b/hw/i386/x86.c
> index 00448ed55aa..e0218f8791f 100644
> --- a/hw/i386/x86.c
> +++ b/hw/i386/x86.c
> @@ -43,6 +43,7 @@
>  #include "target/i386/cpu.h"
>  #include "hw/i386/topology.h"
>  #include "hw/i386/fw_cfg.h"
> +#include "hw/i386/apic.h"
>  #include "hw/intc/i8259.h"
>  #include "hw/rtc/mc146818rtc.h"
>  
> diff --git a/target/i386/cpu-sysemu.c b/target/i386/cpu-sysemu.c
> index 1078e3d157f..65709e41903 100644
> --- a/target/i386/cpu-sysemu.c
> +++ b/target/i386/cpu-sysemu.c
> @@ -30,6 +30,7 @@
>  #include "hw/qdev-properties.h"
>  
>  #include "exec/address-spaces.h"
> +#include "hw/i386/apic.h"
>  #include "hw/i386/apic_internal.h"
>  
>  #include "cpu-internal.h"
> diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> index 97e250e8760..04f59043804 100644
> --- a/target/i386/cpu.c
> +++ b/target/i386/cpu.c
> @@ -33,6 +33,7 @@
>  #include "standard-headers/asm-x86/kvm_para.h"
>  #include "hw/qdev-properties.h"
>  #include "hw/i386/topology.h"
> +#include "hw/i386/apic.h"
>  #ifndef CONFIG_USER_ONLY
>  #include "exec/address-spaces.h"
>  #include "hw/boards.h"
> diff --git a/target/i386/gdbstub.c b/target/i386/gdbstub.c
> index 098a2ad15a9..5438229c1a9 100644
> --- a/target/i386/gdbstub.c
> +++ b/target/i386/gdbstub.c
> @@ -21,6 +21,10 @@
>  #include "cpu.h"
>  #include "exec/gdbstub.h"
>  
> +#ifndef CONFIG_USER_ONLY
> +#include "hw/i386/apic.h"
> +#endif
> +
>  #ifdef TARGET_X86_64
>  static const int gpr_map[16] = {
>      R_EAX, R_EBX, R_ECX, R_EDX, R_ESI, R_EDI, R_EBP, R_ESP,
> diff --git a/target/i386/hax/hax-all.c b/target/i386/hax/hax-all.c
> index bf65ed6fa92..cd89e3233a9 100644
> --- a/target/i386/hax/hax-all.c
> +++ b/target/i386/hax/hax-all.c
> @@ -32,6 +32,7 @@
>  #include "sysemu/reset.h"
>  #include "sysemu/runstate.h"
>  #include "hw/boards.h"
> +#include "hw/i386/apic.h"
>  
>  #include "hax-accel-ops.h"
>  
> diff --git a/target/i386/helper.c b/target/i386/helper.c
> index 533b29cb91b..874beda98ae 100644
> --- a/target/i386/helper.c
> +++ b/target/i386/helper.c
> @@ -26,6 +26,7 @@
>  #ifndef CONFIG_USER_ONLY
>  #include "sysemu/hw_accel.h"
>  #include "monitor/monitor.h"
> +#include "hw/i386/apic.h"
>  #endif
>  
>  void cpu_sync_bndcs_hflags(CPUX86State *env)
> diff --git a/target/i386/hvf/x86_emu.c b/target/i386/hvf/x86_emu.c
> index 7c8203b21fb..fb3e88959d4 100644
> --- a/target/i386/hvf/x86_emu.c
> +++ b/target/i386/hvf/x86_emu.c
> @@ -45,6 +45,7 @@
>  #include "x86_flags.h"
>  #include "vmcs.h"
>  #include "vmx.h"
> +#include "hw/i386/apic.h"
>  
>  void hvf_handle_io(struct CPUState *cpu, uint16_t port, void *data,
>                     int direction, int size, uint32_t count);
> diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c
> index 28dee4c5ee3..4c07cfc7194 100644
> --- a/target/i386/nvmm/nvmm-all.c
> +++ b/target/i386/nvmm/nvmm-all.c
> @@ -22,6 +22,7 @@
>  #include "qemu/queue.h"
>  #include "migration/blocker.h"
>  #include "strings.h"
> +#include "hw/i386/apic.h"
>  
>  #include "nvmm-accel-ops.h"
>  
> diff --git a/target/i386/tcg/seg_helper.c b/target/i386/tcg/seg_helper.c
> index 13c6e6ee62e..71fd2bf8d06 100644
> --- a/target/i386/tcg/seg_helper.c
> +++ b/target/i386/tcg/seg_helper.c
> @@ -28,6 +28,10 @@
>  #include "helper-tcg.h"
>  #include "seg_helper.h"
>  
> +#ifndef CONFIG_USER_ONLY
> +#include "hw/i386/apic.h"
> +#endif
> +
>  /* return non zero if error */
>  static inline int load_segment_ra(CPUX86State *env, uint32_t *e1_ptr,
>                                 uint32_t *e2_ptr, int selector,
> diff --git a/target/i386/tcg/sysemu/misc_helper.c b/target/i386/tcg/sysemu/misc_helper.c
> index e7a2ebde813..dbeda8d0b0f 100644
> --- a/target/i386/tcg/sysemu/misc_helper.c
> +++ b/target/i386/tcg/sysemu/misc_helper.c
> @@ -24,6 +24,7 @@
>  #include "exec/cpu_ldst.h"
>  #include "exec/address-spaces.h"
>  #include "tcg/helper-tcg.h"
> +#include "hw/i386/apic.h"
>  
>  void helper_outb(CPUX86State *env, uint32_t port, uint32_t data)
>  {
> diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
> index 3e925b9da70..9ab844fd05d 100644
> --- a/target/i386/whpx/whpx-all.c
> +++ b/target/i386/whpx/whpx-all.c
> @@ -20,6 +20,7 @@
>  #include "qemu/main-loop.h"
>  #include "hw/boards.h"
>  #include "hw/i386/ioapic.h"
> +#include "hw/i386/apic.h"
>  #include "hw/i386/apic_internal.h"
>  #include "qemu/error-report.h"
>  #include "qapi/error.h"
> 


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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
  2021-09-02 15:22 ` Philippe Mathieu-Daudé
@ 2021-09-15 22:05   ` Paolo Bonzini
  -1 siblings, 0 replies; 18+ messages in thread
From: Paolo Bonzini @ 2021-09-15 22:05 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Eduardo Habkost, Michael S. Tsirkin, haxm-team,
	Richard Henderson, Colin Xu, Reinoud Zandijk, Sunil Muthuswamy,
	Wenchao Wang, kvm, Marcel Apfelbaum, Kamil Rytarowski,
	Roman Bolshakov, Cameron Esfahani

On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
> Instead of including a sysemu-specific header in "cpu.h"
> (which is shared with user-mode emulations), include it
> locally when required.
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> Based-on: <20210902151715.383678-1-f4bug@amsat.org>
> "accel/tcg: Restrict TCGCPUOps::cpu_exec_interrupt() to sysemu"

Acked-by: Paolo Bonzini <pbonzini@redhat.com>

Paolo

> ---
>   target/i386/cpu.h                    | 4 ----
>   hw/i386/kvmvapic.c                   | 1 +
>   hw/i386/x86.c                        | 1 +
>   target/i386/cpu-sysemu.c             | 1 +
>   target/i386/cpu.c                    | 1 +
>   target/i386/gdbstub.c                | 4 ++++
>   target/i386/hax/hax-all.c            | 1 +
>   target/i386/helper.c                 | 1 +
>   target/i386/hvf/x86_emu.c            | 1 +
>   target/i386/nvmm/nvmm-all.c          | 1 +
>   target/i386/tcg/seg_helper.c         | 4 ++++
>   target/i386/tcg/sysemu/misc_helper.c | 1 +
>   target/i386/whpx/whpx-all.c          | 1 +
>   13 files changed, 18 insertions(+), 4 deletions(-)
> 
> diff --git a/target/i386/cpu.h b/target/i386/cpu.h
> index c7cc65e92d5..eddafd1acd5 100644
> --- a/target/i386/cpu.h
> +++ b/target/i386/cpu.h
> @@ -2046,10 +2046,6 @@ typedef X86CPU ArchCPU;
>   #include "exec/cpu-all.h"
>   #include "svm.h"
>   
> -#if !defined(CONFIG_USER_ONLY)
> -#include "hw/i386/apic.h"
> -#endif
> -
>   static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
>                                           target_ulong *cs_base, uint32_t *flags)
>   {
> diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
> index 43f8a8f679e..7333818bdd1 100644
> --- a/hw/i386/kvmvapic.c
> +++ b/hw/i386/kvmvapic.c
> @@ -16,6 +16,7 @@
>   #include "sysemu/hw_accel.h"
>   #include "sysemu/kvm.h"
>   #include "sysemu/runstate.h"
> +#include "hw/i386/apic.h"
>   #include "hw/i386/apic_internal.h"
>   #include "hw/sysbus.h"
>   #include "hw/boards.h"
> diff --git a/hw/i386/x86.c b/hw/i386/x86.c
> index 00448ed55aa..e0218f8791f 100644
> --- a/hw/i386/x86.c
> +++ b/hw/i386/x86.c
> @@ -43,6 +43,7 @@
>   #include "target/i386/cpu.h"
>   #include "hw/i386/topology.h"
>   #include "hw/i386/fw_cfg.h"
> +#include "hw/i386/apic.h"
>   #include "hw/intc/i8259.h"
>   #include "hw/rtc/mc146818rtc.h"
>   
> diff --git a/target/i386/cpu-sysemu.c b/target/i386/cpu-sysemu.c
> index 1078e3d157f..65709e41903 100644
> --- a/target/i386/cpu-sysemu.c
> +++ b/target/i386/cpu-sysemu.c
> @@ -30,6 +30,7 @@
>   #include "hw/qdev-properties.h"
>   
>   #include "exec/address-spaces.h"
> +#include "hw/i386/apic.h"
>   #include "hw/i386/apic_internal.h"
>   
>   #include "cpu-internal.h"
> diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> index 97e250e8760..04f59043804 100644
> --- a/target/i386/cpu.c
> +++ b/target/i386/cpu.c
> @@ -33,6 +33,7 @@
>   #include "standard-headers/asm-x86/kvm_para.h"
>   #include "hw/qdev-properties.h"
>   #include "hw/i386/topology.h"
> +#include "hw/i386/apic.h"
>   #ifndef CONFIG_USER_ONLY
>   #include "exec/address-spaces.h"
>   #include "hw/boards.h"
> diff --git a/target/i386/gdbstub.c b/target/i386/gdbstub.c
> index 098a2ad15a9..5438229c1a9 100644
> --- a/target/i386/gdbstub.c
> +++ b/target/i386/gdbstub.c
> @@ -21,6 +21,10 @@
>   #include "cpu.h"
>   #include "exec/gdbstub.h"
>   
> +#ifndef CONFIG_USER_ONLY
> +#include "hw/i386/apic.h"
> +#endif
> +
>   #ifdef TARGET_X86_64
>   static const int gpr_map[16] = {
>       R_EAX, R_EBX, R_ECX, R_EDX, R_ESI, R_EDI, R_EBP, R_ESP,
> diff --git a/target/i386/hax/hax-all.c b/target/i386/hax/hax-all.c
> index bf65ed6fa92..cd89e3233a9 100644
> --- a/target/i386/hax/hax-all.c
> +++ b/target/i386/hax/hax-all.c
> @@ -32,6 +32,7 @@
>   #include "sysemu/reset.h"
>   #include "sysemu/runstate.h"
>   #include "hw/boards.h"
> +#include "hw/i386/apic.h"
>   
>   #include "hax-accel-ops.h"
>   
> diff --git a/target/i386/helper.c b/target/i386/helper.c
> index 533b29cb91b..874beda98ae 100644
> --- a/target/i386/helper.c
> +++ b/target/i386/helper.c
> @@ -26,6 +26,7 @@
>   #ifndef CONFIG_USER_ONLY
>   #include "sysemu/hw_accel.h"
>   #include "monitor/monitor.h"
> +#include "hw/i386/apic.h"
>   #endif
>   
>   void cpu_sync_bndcs_hflags(CPUX86State *env)
> diff --git a/target/i386/hvf/x86_emu.c b/target/i386/hvf/x86_emu.c
> index 7c8203b21fb..fb3e88959d4 100644
> --- a/target/i386/hvf/x86_emu.c
> +++ b/target/i386/hvf/x86_emu.c
> @@ -45,6 +45,7 @@
>   #include "x86_flags.h"
>   #include "vmcs.h"
>   #include "vmx.h"
> +#include "hw/i386/apic.h"
>   
>   void hvf_handle_io(struct CPUState *cpu, uint16_t port, void *data,
>                      int direction, int size, uint32_t count);
> diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c
> index 28dee4c5ee3..4c07cfc7194 100644
> --- a/target/i386/nvmm/nvmm-all.c
> +++ b/target/i386/nvmm/nvmm-all.c
> @@ -22,6 +22,7 @@
>   #include "qemu/queue.h"
>   #include "migration/blocker.h"
>   #include "strings.h"
> +#include "hw/i386/apic.h"
>   
>   #include "nvmm-accel-ops.h"
>   
> diff --git a/target/i386/tcg/seg_helper.c b/target/i386/tcg/seg_helper.c
> index 13c6e6ee62e..71fd2bf8d06 100644
> --- a/target/i386/tcg/seg_helper.c
> +++ b/target/i386/tcg/seg_helper.c
> @@ -28,6 +28,10 @@
>   #include "helper-tcg.h"
>   #include "seg_helper.h"
>   
> +#ifndef CONFIG_USER_ONLY
> +#include "hw/i386/apic.h"
> +#endif
> +
>   /* return non zero if error */
>   static inline int load_segment_ra(CPUX86State *env, uint32_t *e1_ptr,
>                                  uint32_t *e2_ptr, int selector,
> diff --git a/target/i386/tcg/sysemu/misc_helper.c b/target/i386/tcg/sysemu/misc_helper.c
> index e7a2ebde813..dbeda8d0b0f 100644
> --- a/target/i386/tcg/sysemu/misc_helper.c
> +++ b/target/i386/tcg/sysemu/misc_helper.c
> @@ -24,6 +24,7 @@
>   #include "exec/cpu_ldst.h"
>   #include "exec/address-spaces.h"
>   #include "tcg/helper-tcg.h"
> +#include "hw/i386/apic.h"
>   
>   void helper_outb(CPUX86State *env, uint32_t port, uint32_t data)
>   {
> diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
> index 3e925b9da70..9ab844fd05d 100644
> --- a/target/i386/whpx/whpx-all.c
> +++ b/target/i386/whpx/whpx-all.c
> @@ -20,6 +20,7 @@
>   #include "qemu/main-loop.h"
>   #include "hw/boards.h"
>   #include "hw/i386/ioapic.h"
> +#include "hw/i386/apic.h"
>   #include "hw/i386/apic_internal.h"
>   #include "qemu/error-report.h"
>   #include "qapi/error.h"
> 


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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
@ 2021-09-15 22:05   ` Paolo Bonzini
  0 siblings, 0 replies; 18+ messages in thread
From: Paolo Bonzini @ 2021-09-15 22:05 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, Richard Henderson,
	Roman Bolshakov, Cameron Esfahani, Kamil Rytarowski,
	Reinoud Zandijk, Colin Xu, haxm-team, Sunil Muthuswamy,
	Wenchao Wang

On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
> Instead of including a sysemu-specific header in "cpu.h"
> (which is shared with user-mode emulations), include it
> locally when required.
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> Based-on: <20210902151715.383678-1-f4bug@amsat.org>
> "accel/tcg: Restrict TCGCPUOps::cpu_exec_interrupt() to sysemu"

Acked-by: Paolo Bonzini <pbonzini@redhat.com>

Paolo

> ---
>   target/i386/cpu.h                    | 4 ----
>   hw/i386/kvmvapic.c                   | 1 +
>   hw/i386/x86.c                        | 1 +
>   target/i386/cpu-sysemu.c             | 1 +
>   target/i386/cpu.c                    | 1 +
>   target/i386/gdbstub.c                | 4 ++++
>   target/i386/hax/hax-all.c            | 1 +
>   target/i386/helper.c                 | 1 +
>   target/i386/hvf/x86_emu.c            | 1 +
>   target/i386/nvmm/nvmm-all.c          | 1 +
>   target/i386/tcg/seg_helper.c         | 4 ++++
>   target/i386/tcg/sysemu/misc_helper.c | 1 +
>   target/i386/whpx/whpx-all.c          | 1 +
>   13 files changed, 18 insertions(+), 4 deletions(-)
> 
> diff --git a/target/i386/cpu.h b/target/i386/cpu.h
> index c7cc65e92d5..eddafd1acd5 100644
> --- a/target/i386/cpu.h
> +++ b/target/i386/cpu.h
> @@ -2046,10 +2046,6 @@ typedef X86CPU ArchCPU;
>   #include "exec/cpu-all.h"
>   #include "svm.h"
>   
> -#if !defined(CONFIG_USER_ONLY)
> -#include "hw/i386/apic.h"
> -#endif
> -
>   static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
>                                           target_ulong *cs_base, uint32_t *flags)
>   {
> diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
> index 43f8a8f679e..7333818bdd1 100644
> --- a/hw/i386/kvmvapic.c
> +++ b/hw/i386/kvmvapic.c
> @@ -16,6 +16,7 @@
>   #include "sysemu/hw_accel.h"
>   #include "sysemu/kvm.h"
>   #include "sysemu/runstate.h"
> +#include "hw/i386/apic.h"
>   #include "hw/i386/apic_internal.h"
>   #include "hw/sysbus.h"
>   #include "hw/boards.h"
> diff --git a/hw/i386/x86.c b/hw/i386/x86.c
> index 00448ed55aa..e0218f8791f 100644
> --- a/hw/i386/x86.c
> +++ b/hw/i386/x86.c
> @@ -43,6 +43,7 @@
>   #include "target/i386/cpu.h"
>   #include "hw/i386/topology.h"
>   #include "hw/i386/fw_cfg.h"
> +#include "hw/i386/apic.h"
>   #include "hw/intc/i8259.h"
>   #include "hw/rtc/mc146818rtc.h"
>   
> diff --git a/target/i386/cpu-sysemu.c b/target/i386/cpu-sysemu.c
> index 1078e3d157f..65709e41903 100644
> --- a/target/i386/cpu-sysemu.c
> +++ b/target/i386/cpu-sysemu.c
> @@ -30,6 +30,7 @@
>   #include "hw/qdev-properties.h"
>   
>   #include "exec/address-spaces.h"
> +#include "hw/i386/apic.h"
>   #include "hw/i386/apic_internal.h"
>   
>   #include "cpu-internal.h"
> diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> index 97e250e8760..04f59043804 100644
> --- a/target/i386/cpu.c
> +++ b/target/i386/cpu.c
> @@ -33,6 +33,7 @@
>   #include "standard-headers/asm-x86/kvm_para.h"
>   #include "hw/qdev-properties.h"
>   #include "hw/i386/topology.h"
> +#include "hw/i386/apic.h"
>   #ifndef CONFIG_USER_ONLY
>   #include "exec/address-spaces.h"
>   #include "hw/boards.h"
> diff --git a/target/i386/gdbstub.c b/target/i386/gdbstub.c
> index 098a2ad15a9..5438229c1a9 100644
> --- a/target/i386/gdbstub.c
> +++ b/target/i386/gdbstub.c
> @@ -21,6 +21,10 @@
>   #include "cpu.h"
>   #include "exec/gdbstub.h"
>   
> +#ifndef CONFIG_USER_ONLY
> +#include "hw/i386/apic.h"
> +#endif
> +
>   #ifdef TARGET_X86_64
>   static const int gpr_map[16] = {
>       R_EAX, R_EBX, R_ECX, R_EDX, R_ESI, R_EDI, R_EBP, R_ESP,
> diff --git a/target/i386/hax/hax-all.c b/target/i386/hax/hax-all.c
> index bf65ed6fa92..cd89e3233a9 100644
> --- a/target/i386/hax/hax-all.c
> +++ b/target/i386/hax/hax-all.c
> @@ -32,6 +32,7 @@
>   #include "sysemu/reset.h"
>   #include "sysemu/runstate.h"
>   #include "hw/boards.h"
> +#include "hw/i386/apic.h"
>   
>   #include "hax-accel-ops.h"
>   
> diff --git a/target/i386/helper.c b/target/i386/helper.c
> index 533b29cb91b..874beda98ae 100644
> --- a/target/i386/helper.c
> +++ b/target/i386/helper.c
> @@ -26,6 +26,7 @@
>   #ifndef CONFIG_USER_ONLY
>   #include "sysemu/hw_accel.h"
>   #include "monitor/monitor.h"
> +#include "hw/i386/apic.h"
>   #endif
>   
>   void cpu_sync_bndcs_hflags(CPUX86State *env)
> diff --git a/target/i386/hvf/x86_emu.c b/target/i386/hvf/x86_emu.c
> index 7c8203b21fb..fb3e88959d4 100644
> --- a/target/i386/hvf/x86_emu.c
> +++ b/target/i386/hvf/x86_emu.c
> @@ -45,6 +45,7 @@
>   #include "x86_flags.h"
>   #include "vmcs.h"
>   #include "vmx.h"
> +#include "hw/i386/apic.h"
>   
>   void hvf_handle_io(struct CPUState *cpu, uint16_t port, void *data,
>                      int direction, int size, uint32_t count);
> diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c
> index 28dee4c5ee3..4c07cfc7194 100644
> --- a/target/i386/nvmm/nvmm-all.c
> +++ b/target/i386/nvmm/nvmm-all.c
> @@ -22,6 +22,7 @@
>   #include "qemu/queue.h"
>   #include "migration/blocker.h"
>   #include "strings.h"
> +#include "hw/i386/apic.h"
>   
>   #include "nvmm-accel-ops.h"
>   
> diff --git a/target/i386/tcg/seg_helper.c b/target/i386/tcg/seg_helper.c
> index 13c6e6ee62e..71fd2bf8d06 100644
> --- a/target/i386/tcg/seg_helper.c
> +++ b/target/i386/tcg/seg_helper.c
> @@ -28,6 +28,10 @@
>   #include "helper-tcg.h"
>   #include "seg_helper.h"
>   
> +#ifndef CONFIG_USER_ONLY
> +#include "hw/i386/apic.h"
> +#endif
> +
>   /* return non zero if error */
>   static inline int load_segment_ra(CPUX86State *env, uint32_t *e1_ptr,
>                                  uint32_t *e2_ptr, int selector,
> diff --git a/target/i386/tcg/sysemu/misc_helper.c b/target/i386/tcg/sysemu/misc_helper.c
> index e7a2ebde813..dbeda8d0b0f 100644
> --- a/target/i386/tcg/sysemu/misc_helper.c
> +++ b/target/i386/tcg/sysemu/misc_helper.c
> @@ -24,6 +24,7 @@
>   #include "exec/cpu_ldst.h"
>   #include "exec/address-spaces.h"
>   #include "tcg/helper-tcg.h"
> +#include "hw/i386/apic.h"
>   
>   void helper_outb(CPUX86State *env, uint32_t port, uint32_t data)
>   {
> diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
> index 3e925b9da70..9ab844fd05d 100644
> --- a/target/i386/whpx/whpx-all.c
> +++ b/target/i386/whpx/whpx-all.c
> @@ -20,6 +20,7 @@
>   #include "qemu/main-loop.h"
>   #include "hw/boards.h"
>   #include "hw/i386/ioapic.h"
> +#include "hw/i386/apic.h"
>   #include "hw/i386/apic_internal.h"
>   #include "qemu/error-report.h"
>   #include "qapi/error.h"
> 



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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
  2021-09-15 22:05   ` Paolo Bonzini
@ 2021-09-29 14:08     ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-29 14:08 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel, QEMU Trivial
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, Richard Henderson,
	Roman Bolshakov, Cameron Esfahani, Kamil Rytarowski,
	Reinoud Zandijk, Colin Xu, haxm-team, Sunil Muthuswamy,
	Wenchao Wang

On 9/16/21 00:05, Paolo Bonzini wrote:
> On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
>> Instead of including a sysemu-specific header in "cpu.h"
>> (which is shared with user-mode emulations), include it
>> locally when required.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
> 
> Acked-by: Paolo Bonzini <pbonzini@redhat.com>

Thank you, Cc'ing qemu-trivial@ :)

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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
@ 2021-09-29 14:08     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-29 14:08 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel, QEMU Trivial
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, Richard Henderson,
	Kamil Rytarowski, Cameron Esfahani, Roman Bolshakov,
	Reinoud Zandijk, Colin Xu, haxm-team, Sunil Muthuswamy,
	Wenchao Wang

On 9/16/21 00:05, Paolo Bonzini wrote:
> On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
>> Instead of including a sysemu-specific header in "cpu.h"
>> (which is shared with user-mode emulations), include it
>> locally when required.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
> 
> Acked-by: Paolo Bonzini <pbonzini@redhat.com>

Thank you, Cc'ing qemu-trivial@ :)


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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
  2021-09-29 14:08     ` Philippe Mathieu-Daudé
@ 2021-09-29 15:00       ` Laurent Vivier
  -1 siblings, 0 replies; 18+ messages in thread
From: Laurent Vivier @ 2021-09-29 15:00 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, Paolo Bonzini, qemu-devel, QEMU Trivial
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, Richard Henderson,
	Kamil Rytarowski, Cameron Esfahani, Roman Bolshakov,
	Reinoud Zandijk, Colin Xu, haxm-team, Sunil Muthuswamy,
	Wenchao Wang

Le 29/09/2021 à 16:08, Philippe Mathieu-Daudé a écrit :
> On 9/16/21 00:05, Paolo Bonzini wrote:
>> On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
>>> Instead of including a sysemu-specific header in "cpu.h"
>>> (which is shared with user-mode emulations), include it
>>> locally when required.
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>> ---
>>
>> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
> 
> Thank you, Cc'ing qemu-trivial@ :)
> 

Applied to my trivial-patches branch.

Thanks,
Laurent

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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
@ 2021-09-29 15:00       ` Laurent Vivier
  0 siblings, 0 replies; 18+ messages in thread
From: Laurent Vivier @ 2021-09-29 15:00 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, Paolo Bonzini, qemu-devel, QEMU Trivial
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, Richard Henderson,
	Roman Bolshakov, Cameron Esfahani, Kamil Rytarowski,
	Reinoud Zandijk, Colin Xu, haxm-team, Sunil Muthuswamy,
	Wenchao Wang

Le 29/09/2021 à 16:08, Philippe Mathieu-Daudé a écrit :
> On 9/16/21 00:05, Paolo Bonzini wrote:
>> On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
>>> Instead of including a sysemu-specific header in "cpu.h"
>>> (which is shared with user-mode emulations), include it
>>> locally when required.
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>> ---
>>
>> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
> 
> Thank you, Cc'ing qemu-trivial@ :)
> 

Applied to my trivial-patches branch.

Thanks,
Laurent


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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
  2021-09-29 15:00       ` Laurent Vivier
@ 2021-09-29 15:16         ` Laurent Vivier
  -1 siblings, 0 replies; 18+ messages in thread
From: Laurent Vivier @ 2021-09-29 15:16 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, Richard Henderson,
	Roman Bolshakov, Cameron Esfahani, Kamil Rytarowski,
	Reinoud Zandijk, Colin Xu, haxm-team, Sunil Muthuswamy,
	Wenchao Wang, Paolo Bonzini, QEMU Trivial, qemu-devel

Le 29/09/2021 à 17:00, Laurent Vivier a écrit :
> Le 29/09/2021 à 16:08, Philippe Mathieu-Daudé a écrit :
>> On 9/16/21 00:05, Paolo Bonzini wrote:
>>> On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
>>>> Instead of including a sysemu-specific header in "cpu.h"
>>>> (which is shared with user-mode emulations), include it
>>>> locally when required.
>>>>
>>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>>> ---
>>>
>>> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
>>
>> Thank you, Cc'ing qemu-trivial@ :)
>>
> 
> Applied to my trivial-patches branch.
> 

We have a problem:

.../target/i386/tcg/sysemu/seg_helper.c:145:9: error: implicit declaration of function
'apic_poll_irq' [-Werror=implicit-function-declaration]
  145 |         apic_poll_irq(cpu->apic_state);
      |         ^~~~~~~~~~~~~
.../target/i386/tcg/sysemu/seg_helper.c:145:9: error: nested extern declaration of 'apic_poll_irq'
[-Werror=nested-externs]



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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
@ 2021-09-29 15:16         ` Laurent Vivier
  0 siblings, 0 replies; 18+ messages in thread
From: Laurent Vivier @ 2021-09-29 15:16 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, QEMU Trivial,
	Richard Henderson, Kamil Rytarowski, Cameron Esfahani,
	qemu-devel, Roman Bolshakov, Reinoud Zandijk, Colin Xu,
	Paolo Bonzini, haxm-team, Sunil Muthuswamy, Wenchao Wang

Le 29/09/2021 à 17:00, Laurent Vivier a écrit :
> Le 29/09/2021 à 16:08, Philippe Mathieu-Daudé a écrit :
>> On 9/16/21 00:05, Paolo Bonzini wrote:
>>> On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
>>>> Instead of including a sysemu-specific header in "cpu.h"
>>>> (which is shared with user-mode emulations), include it
>>>> locally when required.
>>>>
>>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>>> ---
>>>
>>> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
>>
>> Thank you, Cc'ing qemu-trivial@ :)
>>
> 
> Applied to my trivial-patches branch.
> 

We have a problem:

.../target/i386/tcg/sysemu/seg_helper.c:145:9: error: implicit declaration of function
'apic_poll_irq' [-Werror=implicit-function-declaration]
  145 |         apic_poll_irq(cpu->apic_state);
      |         ^~~~~~~~~~~~~
.../target/i386/tcg/sysemu/seg_helper.c:145:9: error: nested extern declaration of 'apic_poll_irq'
[-Werror=nested-externs]




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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
  2021-09-29 15:16         ` Laurent Vivier
@ 2021-09-29 16:06           ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-29 16:06 UTC (permalink / raw)
  To: Laurent Vivier
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, QEMU Trivial,
	haxm-team, Richard Henderson, qemu-devel, Cameron Esfahani,
	Kamil Rytarowski, Reinoud Zandijk, Colin Xu, Roman Bolshakov,
	Paolo Bonzini, Sunil Muthuswamy, Wenchao Wang

On 9/29/21 17:16, Laurent Vivier wrote:
> Le 29/09/2021 à 17:00, Laurent Vivier a écrit :
>> Le 29/09/2021 à 16:08, Philippe Mathieu-Daudé a écrit :
>>> On 9/16/21 00:05, Paolo Bonzini wrote:
>>>> On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
>>>>> Instead of including a sysemu-specific header in "cpu.h"
>>>>> (which is shared with user-mode emulations), include it
>>>>> locally when required.
>>>>>
>>>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>>>> ---
>>>>
>>>> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
>>>
>>> Thank you, Cc'ing qemu-trivial@ :)
>>>
>>
>> Applied to my trivial-patches branch.
>>
> 
> We have a problem:
> 
> .../target/i386/tcg/sysemu/seg_helper.c:145:9: error: implicit declaration of function
> 'apic_poll_irq' [-Werror=implicit-function-declaration]
>   145 |         apic_poll_irq(cpu->apic_state);
>       |         ^~~~~~~~~~~~~
> .../target/i386/tcg/sysemu/seg_helper.c:145:9: error: nested extern declaration of 'apic_poll_irq'
> [-Werror=nested-externs]

Hmm I'll check what changed since I sent that. It was working the day
Paolo Acked, because have the patch rebased / tested on top of commit
c99e34e537f ("Merge remote-tracking branch
'remotes/vivier2/tags/linux-user-for-6.2-pull-request' into staging").

I should have rebased/retested today before Cc'ing you, sorry.


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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
@ 2021-09-29 16:06           ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-29 16:06 UTC (permalink / raw)
  To: Laurent Vivier
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, QEMU Trivial,
	Richard Henderson, Kamil Rytarowski, Cameron Esfahani,
	qemu-devel, Roman Bolshakov, Reinoud Zandijk, Colin Xu,
	Paolo Bonzini, haxm-team, Sunil Muthuswamy, Wenchao Wang

On 9/29/21 17:16, Laurent Vivier wrote:
> Le 29/09/2021 à 17:00, Laurent Vivier a écrit :
>> Le 29/09/2021 à 16:08, Philippe Mathieu-Daudé a écrit :
>>> On 9/16/21 00:05, Paolo Bonzini wrote:
>>>> On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
>>>>> Instead of including a sysemu-specific header in "cpu.h"
>>>>> (which is shared with user-mode emulations), include it
>>>>> locally when required.
>>>>>
>>>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>>>> ---
>>>>
>>>> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
>>>
>>> Thank you, Cc'ing qemu-trivial@ :)
>>>
>>
>> Applied to my trivial-patches branch.
>>
> 
> We have a problem:
> 
> .../target/i386/tcg/sysemu/seg_helper.c:145:9: error: implicit declaration of function
> 'apic_poll_irq' [-Werror=implicit-function-declaration]
>   145 |         apic_poll_irq(cpu->apic_state);
>       |         ^~~~~~~~~~~~~
> .../target/i386/tcg/sysemu/seg_helper.c:145:9: error: nested extern declaration of 'apic_poll_irq'
> [-Werror=nested-externs]

Hmm I'll check what changed since I sent that. It was working the day
Paolo Acked, because have the patch rebased / tested on top of commit
c99e34e537f ("Merge remote-tracking branch
'remotes/vivier2/tags/linux-user-for-6.2-pull-request' into staging").

I should have rebased/retested today before Cc'ing you, sorry.

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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
  2021-09-29 16:06           ` Philippe Mathieu-Daudé
@ 2021-09-29 16:23             ` Laurent Vivier
  -1 siblings, 0 replies; 18+ messages in thread
From: Laurent Vivier @ 2021-09-29 16:23 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, QEMU Trivial,
	haxm-team, Richard Henderson, qemu-devel, Cameron Esfahani,
	Kamil Rytarowski, Reinoud Zandijk, Colin Xu, Roman Bolshakov,
	Paolo Bonzini, Sunil Muthuswamy, Wenchao Wang

Le 29/09/2021 à 18:06, Philippe Mathieu-Daudé a écrit :
> On 9/29/21 17:16, Laurent Vivier wrote:
>> Le 29/09/2021 à 17:00, Laurent Vivier a écrit :
>>> Le 29/09/2021 à 16:08, Philippe Mathieu-Daudé a écrit :
>>>> On 9/16/21 00:05, Paolo Bonzini wrote:
>>>>> On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
>>>>>> Instead of including a sysemu-specific header in "cpu.h"
>>>>>> (which is shared with user-mode emulations), include it
>>>>>> locally when required.
>>>>>>
>>>>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>>>>> ---
>>>>>
>>>>> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
>>>>
>>>> Thank you, Cc'ing qemu-trivial@ :)
>>>>
>>>
>>> Applied to my trivial-patches branch.
>>>
>>
>> We have a problem:
>>
>> .../target/i386/tcg/sysemu/seg_helper.c:145:9: error: implicit declaration of function
>> 'apic_poll_irq' [-Werror=implicit-function-declaration]
>>   145 |         apic_poll_irq(cpu->apic_state);
>>       |         ^~~~~~~~~~~~~
>> .../target/i386/tcg/sysemu/seg_helper.c:145:9: error: nested extern declaration of 'apic_poll_irq'
>> [-Werror=nested-externs]
> 
> Hmm I'll check what changed since I sent that. It was working the day
> Paolo Acked, because have the patch rebased / tested on top of commit
> c99e34e537f ("Merge remote-tracking branch
> 'remotes/vivier2/tags/linux-user-for-6.2-pull-request' into staging").
> 
> I should have rebased/retested today before Cc'ing you, sorry.
> 

On top of c99e34e537f I have the same error...

Thanks,
Laurent

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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
@ 2021-09-29 16:23             ` Laurent Vivier
  0 siblings, 0 replies; 18+ messages in thread
From: Laurent Vivier @ 2021-09-29 16:23 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, QEMU Trivial,
	Richard Henderson, qemu-devel, Cameron Esfahani,
	Kamil Rytarowski, Paolo Bonzini, haxm-team, Colin Xu,
	Roman Bolshakov, Reinoud Zandijk, Sunil Muthuswamy, Wenchao Wang

Le 29/09/2021 à 18:06, Philippe Mathieu-Daudé a écrit :
> On 9/29/21 17:16, Laurent Vivier wrote:
>> Le 29/09/2021 à 17:00, Laurent Vivier a écrit :
>>> Le 29/09/2021 à 16:08, Philippe Mathieu-Daudé a écrit :
>>>> On 9/16/21 00:05, Paolo Bonzini wrote:
>>>>> On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
>>>>>> Instead of including a sysemu-specific header in "cpu.h"
>>>>>> (which is shared with user-mode emulations), include it
>>>>>> locally when required.
>>>>>>
>>>>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>>>>> ---
>>>>>
>>>>> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
>>>>
>>>> Thank you, Cc'ing qemu-trivial@ :)
>>>>
>>>
>>> Applied to my trivial-patches branch.
>>>
>>
>> We have a problem:
>>
>> .../target/i386/tcg/sysemu/seg_helper.c:145:9: error: implicit declaration of function
>> 'apic_poll_irq' [-Werror=implicit-function-declaration]
>>   145 |         apic_poll_irq(cpu->apic_state);
>>       |         ^~~~~~~~~~~~~
>> .../target/i386/tcg/sysemu/seg_helper.c:145:9: error: nested extern declaration of 'apic_poll_irq'
>> [-Werror=nested-externs]
> 
> Hmm I'll check what changed since I sent that. It was working the day
> Paolo Acked, because have the patch rebased / tested on top of commit
> c99e34e537f ("Merge remote-tracking branch
> 'remotes/vivier2/tags/linux-user-for-6.2-pull-request' into staging").
> 
> I should have rebased/retested today before Cc'ing you, sorry.
> 

On top of c99e34e537f I have the same error...

Thanks,
Laurent


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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
  2021-09-29 16:23             ` Laurent Vivier
@ 2021-09-29 16:29               ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-29 16:29 UTC (permalink / raw)
  To: Laurent Vivier
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, QEMU Trivial,
	Richard Henderson, qemu-devel, Cameron Esfahani,
	Kamil Rytarowski, Paolo Bonzini, haxm-team, Colin Xu,
	Roman Bolshakov, Reinoud Zandijk, Sunil Muthuswamy, Wenchao Wang

On 9/29/21 18:23, Laurent Vivier wrote:
> Le 29/09/2021 à 18:06, Philippe Mathieu-Daudé a écrit :
>> On 9/29/21 17:16, Laurent Vivier wrote:
>>> Le 29/09/2021 à 17:00, Laurent Vivier a écrit :
>>>> Le 29/09/2021 à 16:08, Philippe Mathieu-Daudé a écrit :
>>>>> On 9/16/21 00:05, Paolo Bonzini wrote:
>>>>>> On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
>>>>>>> Instead of including a sysemu-specific header in "cpu.h"
>>>>>>> (which is shared with user-mode emulations), include it
>>>>>>> locally when required.
>>>>>>>
>>>>>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>>>>>> ---
>>>>>>
>>>>>> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
>>>>>
>>>>> Thank you, Cc'ing qemu-trivial@ :)
>>>>>
>>>>
>>>> Applied to my trivial-patches branch.
>>>>
>>>
>>> We have a problem:
>>>
>>> .../target/i386/tcg/sysemu/seg_helper.c:145:9: error: implicit declaration of function
>>> 'apic_poll_irq' [-Werror=implicit-function-declaration]
>>>   145 |         apic_poll_irq(cpu->apic_state);
>>>       |         ^~~~~~~~~~~~~
>>> .../target/i386/tcg/sysemu/seg_helper.c:145:9: error: nested extern declaration of 'apic_poll_irq'
>>> [-Werror=nested-externs]
>>
>> Hmm I'll check what changed since I sent that. It was working the day
>> Paolo Acked, because have the patch rebased / tested on top of commit
>> c99e34e537f ("Merge remote-tracking branch
>> 'remotes/vivier2/tags/linux-user-for-6.2-pull-request' into staging").
>>
>> I should have rebased/retested today before Cc'ing you, sorry.
>>
> 
> On top of c99e34e537f I have the same error...

The problem is 0792e6c88d4 ("target/i386: Move
x86_cpu_exec_interrupt() under sysemu/ folder").

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

* Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally
@ 2021-09-29 16:29               ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-29 16:29 UTC (permalink / raw)
  To: Laurent Vivier
  Cc: Eduardo Habkost, kvm, Michael S. Tsirkin, QEMU Trivial,
	Richard Henderson, qemu-devel, Cameron Esfahani,
	Kamil Rytarowski, haxm-team, Colin Xu, Roman Bolshakov,
	Paolo Bonzini, Sunil Muthuswamy, Reinoud Zandijk, Wenchao Wang

On 9/29/21 18:23, Laurent Vivier wrote:
> Le 29/09/2021 à 18:06, Philippe Mathieu-Daudé a écrit :
>> On 9/29/21 17:16, Laurent Vivier wrote:
>>> Le 29/09/2021 à 17:00, Laurent Vivier a écrit :
>>>> Le 29/09/2021 à 16:08, Philippe Mathieu-Daudé a écrit :
>>>>> On 9/16/21 00:05, Paolo Bonzini wrote:
>>>>>> On 02/09/21 17:22, Philippe Mathieu-Daudé wrote:
>>>>>>> Instead of including a sysemu-specific header in "cpu.h"
>>>>>>> (which is shared with user-mode emulations), include it
>>>>>>> locally when required.
>>>>>>>
>>>>>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>>>>>> ---
>>>>>>
>>>>>> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
>>>>>
>>>>> Thank you, Cc'ing qemu-trivial@ :)
>>>>>
>>>>
>>>> Applied to my trivial-patches branch.
>>>>
>>>
>>> We have a problem:
>>>
>>> .../target/i386/tcg/sysemu/seg_helper.c:145:9: error: implicit declaration of function
>>> 'apic_poll_irq' [-Werror=implicit-function-declaration]
>>>   145 |         apic_poll_irq(cpu->apic_state);
>>>       |         ^~~~~~~~~~~~~
>>> .../target/i386/tcg/sysemu/seg_helper.c:145:9: error: nested extern declaration of 'apic_poll_irq'
>>> [-Werror=nested-externs]
>>
>> Hmm I'll check what changed since I sent that. It was working the day
>> Paolo Acked, because have the patch rebased / tested on top of commit
>> c99e34e537f ("Merge remote-tracking branch
>> 'remotes/vivier2/tags/linux-user-for-6.2-pull-request' into staging").
>>
>> I should have rebased/retested today before Cc'ing you, sorry.
>>
> 
> On top of c99e34e537f I have the same error...

The problem is 0792e6c88d4 ("target/i386: Move
x86_cpu_exec_interrupt() under sysemu/ folder").


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

end of thread, other threads:[~2021-09-29 16:35 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-02 15:22 [PATCH] target/i386: Include 'hw/i386/apic.h' locally Philippe Mathieu-Daudé
2021-09-02 15:22 ` Philippe Mathieu-Daudé
2021-09-15 14:36 ` Philippe Mathieu-Daudé
2021-09-15 14:36   ` Philippe Mathieu-Daudé
2021-09-15 22:05 ` Paolo Bonzini
2021-09-15 22:05   ` Paolo Bonzini
2021-09-29 14:08   ` Philippe Mathieu-Daudé
2021-09-29 14:08     ` Philippe Mathieu-Daudé
2021-09-29 15:00     ` Laurent Vivier
2021-09-29 15:00       ` Laurent Vivier
2021-09-29 15:16       ` Laurent Vivier
2021-09-29 15:16         ` Laurent Vivier
2021-09-29 16:06         ` Philippe Mathieu-Daudé
2021-09-29 16:06           ` Philippe Mathieu-Daudé
2021-09-29 16:23           ` Laurent Vivier
2021-09-29 16:23             ` Laurent Vivier
2021-09-29 16:29             ` Philippe Mathieu-Daudé
2021-09-29 16:29               ` Philippe Mathieu-Daudé

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.