Message ID | 20210929163124.2523413-1-f4bug@amsat.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] target/i386: Include 'hw/i386/apic.h' locally | expand |
Le 29/09/2021 à 18:31, Philippe Mathieu-Daudé a écrit : > Instead of including a sysemu-specific header in "cpu.h" > (which is shared with user-mode emulations), include it > locally when required. > > Acked-by: Paolo Bonzini <pbonzini@redhat.com> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > target/i386/cpu.h | 4 ---- > hw/i386/kvmvapic.c | 1 + > hw/i386/x86.c | 1 + > target/i386/cpu-dump.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/hvf.c | 1 + > target/i386/hvf/x86_emu.c | 1 + > target/i386/nvmm/nvmm-all.c | 1 + > target/i386/tcg/sysemu/misc_helper.c | 1 + > target/i386/tcg/sysemu/seg_helper.c | 1 + > target/i386/whpx/whpx-all.c | 1 + > 15 files changed, 17 insertions(+), 4 deletions(-) > ... > diff --git a/target/i386/cpu-dump.c b/target/i386/cpu-dump.c > index 02b635a52cf..0158fd2bf28 100644 > --- a/target/i386/cpu-dump.c > +++ b/target/i386/cpu-dump.c > @@ -22,6 +22,7 @@ > #include "qemu/qemu-print.h" > #ifndef CONFIG_USER_ONLY > #include "hw/i386/apic_internal.h" > +#include "hw/i386/apic.h" > #endif > > /***********************************************************/ Why do you add this part compared to v1? ... > diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c > index 4ba6e82fab3..50058a24f2a 100644 > --- a/target/i386/hvf/hvf.c > +++ b/target/i386/hvf/hvf.c > @@ -70,6 +70,7 @@ > #include <sys/sysctl.h> > > #include "hw/i386/apic_internal.h" > +#include "hw/i386/apic.h" > #include "qemu/main-loop.h" > #include "qemu/accel.h" > #include "target/i386/cpu.h" Same question Thanks, Laurent
On 9/29/21 18:51, Laurent Vivier wrote: > Le 29/09/2021 à 18:31, Philippe Mathieu-Daudé a écrit : >> Instead of including a sysemu-specific header in "cpu.h" >> (which is shared with user-mode emulations), include it >> locally when required. >> >> Acked-by: Paolo Bonzini <pbonzini@redhat.com> >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> >> --- >> target/i386/cpu.h | 4 ---- >> hw/i386/kvmvapic.c | 1 + >> hw/i386/x86.c | 1 + >> target/i386/cpu-dump.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/hvf.c | 1 + >> target/i386/hvf/x86_emu.c | 1 + >> target/i386/nvmm/nvmm-all.c | 1 + >> target/i386/tcg/sysemu/misc_helper.c | 1 + >> target/i386/tcg/sysemu/seg_helper.c | 1 + >> target/i386/whpx/whpx-all.c | 1 + >> 15 files changed, 17 insertions(+), 4 deletions(-) >> > ... >> diff --git a/target/i386/cpu-dump.c b/target/i386/cpu-dump.c >> index 02b635a52cf..0158fd2bf28 100644 >> --- a/target/i386/cpu-dump.c >> +++ b/target/i386/cpu-dump.c >> @@ -22,6 +22,7 @@ >> #include "qemu/qemu-print.h" >> #ifndef CONFIG_USER_ONLY >> #include "hw/i386/apic_internal.h" >> +#include "hw/i386/apic.h" >> #endif >> >> /***********************************************************/ > > Why do you add this part compared to v1? This is a mistake. >> diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c >> index 4ba6e82fab3..50058a24f2a 100644 >> --- a/target/i386/hvf/hvf.c >> +++ b/target/i386/hvf/hvf.c >> @@ -70,6 +70,7 @@ >> #include <sys/sysctl.h> >> >> #include "hw/i386/apic_internal.h" >> +#include "hw/i386/apic.h" >> #include "qemu/main-loop.h" >> #include "qemu/accel.h" >> #include "target/i386/cpu.h" > > Same question Was missing for cpu_set_apic_tpr(): include/hw/i386/apic.h:16:void cpu_set_apic_tpr(DeviceState *s, uint8_t val); target/i386/hvf/hvf.c:98: cpu_set_apic_tpr(x86_cpu->apic_state, tpr); target/i386/hvf/hvf.c:618: cpu_set_apic_tpr(x86_cpu->apic_state, tpr); > > Thanks, > Laurent >
On Wed, Sep 29, 2021 at 06:31:24PM +0200, 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. > > Acked-by: Paolo Bonzini <pbonzini@redhat.com> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Acked-by: Michael S. Tsirkin <mst@redhat.com> > --- > target/i386/cpu.h | 4 ---- > hw/i386/kvmvapic.c | 1 + > hw/i386/x86.c | 1 + > target/i386/cpu-dump.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/hvf.c | 1 + > target/i386/hvf/x86_emu.c | 1 + > target/i386/nvmm/nvmm-all.c | 1 + > target/i386/tcg/sysemu/misc_helper.c | 1 + > target/i386/tcg/sysemu/seg_helper.c | 1 + > target/i386/whpx/whpx-all.c | 1 + > 15 files changed, 17 insertions(+), 4 deletions(-) > > diff --git a/target/i386/cpu.h b/target/i386/cpu.h > index c2954c71ea0..4411718bb7a 100644 > --- a/target/i386/cpu.h > +++ b/target/i386/cpu.h > @@ -2045,10 +2045,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-dump.c b/target/i386/cpu-dump.c > index 02b635a52cf..0158fd2bf28 100644 > --- a/target/i386/cpu-dump.c > +++ b/target/i386/cpu-dump.c > @@ -22,6 +22,7 @@ > #include "qemu/qemu-print.h" > #ifndef CONFIG_USER_ONLY > #include "hw/i386/apic_internal.h" > +#include "hw/i386/apic.h" > #endif > > /***********************************************************/ > diff --git a/target/i386/cpu-sysemu.c b/target/i386/cpu-sysemu.c > index 37b7c562f53..4e8a6973d08 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 6b029f1bdf1..52422cbf21b 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/hvf.c b/target/i386/hvf/hvf.c > index 4ba6e82fab3..50058a24f2a 100644 > --- a/target/i386/hvf/hvf.c > +++ b/target/i386/hvf/hvf.c > @@ -70,6 +70,7 @@ > #include <sys/sysctl.h> > > #include "hw/i386/apic_internal.h" > +#include "hw/i386/apic.h" > #include "qemu/main-loop.h" > #include "qemu/accel.h" > #include "target/i386/cpu.h" > 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 a488b00e909..944bdb49663 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/sysemu/misc_helper.c b/target/i386/tcg/sysemu/misc_helper.c > index 9ccaa054c4c..b1d3096e9c9 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/tcg/sysemu/seg_helper.c b/target/i386/tcg/sysemu/seg_helper.c > index bf3444c26b0..34f2c65d47f 100644 > --- a/target/i386/tcg/sysemu/seg_helper.c > +++ b/target/i386/tcg/sysemu/seg_helper.c > @@ -24,6 +24,7 @@ > #include "exec/cpu_ldst.h" > #include "tcg/helper-tcg.h" > #include "../seg_helper.h" > +#include "hw/i386/apic.h" > > #ifdef TARGET_X86_64 > void helper_syscall(CPUX86State *env, int next_eip_addend) > 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
On Wed, Sep 29, 2021 at 06:31:24PM +0200, 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. > > Acked-by: Paolo Bonzini <pbonzini@redhat.com> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Acked-by: Michael S. Tsirkin <mst@redhat.com> which tree? trivial I guess? > --- > target/i386/cpu.h | 4 ---- > hw/i386/kvmvapic.c | 1 + > hw/i386/x86.c | 1 + > target/i386/cpu-dump.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/hvf.c | 1 + > target/i386/hvf/x86_emu.c | 1 + > target/i386/nvmm/nvmm-all.c | 1 + > target/i386/tcg/sysemu/misc_helper.c | 1 + > target/i386/tcg/sysemu/seg_helper.c | 1 + > target/i386/whpx/whpx-all.c | 1 + > 15 files changed, 17 insertions(+), 4 deletions(-) > > diff --git a/target/i386/cpu.h b/target/i386/cpu.h > index c2954c71ea0..4411718bb7a 100644 > --- a/target/i386/cpu.h > +++ b/target/i386/cpu.h > @@ -2045,10 +2045,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-dump.c b/target/i386/cpu-dump.c > index 02b635a52cf..0158fd2bf28 100644 > --- a/target/i386/cpu-dump.c > +++ b/target/i386/cpu-dump.c > @@ -22,6 +22,7 @@ > #include "qemu/qemu-print.h" > #ifndef CONFIG_USER_ONLY > #include "hw/i386/apic_internal.h" > +#include "hw/i386/apic.h" > #endif > > /***********************************************************/ > diff --git a/target/i386/cpu-sysemu.c b/target/i386/cpu-sysemu.c > index 37b7c562f53..4e8a6973d08 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 6b029f1bdf1..52422cbf21b 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/hvf.c b/target/i386/hvf/hvf.c > index 4ba6e82fab3..50058a24f2a 100644 > --- a/target/i386/hvf/hvf.c > +++ b/target/i386/hvf/hvf.c > @@ -70,6 +70,7 @@ > #include <sys/sysctl.h> > > #include "hw/i386/apic_internal.h" > +#include "hw/i386/apic.h" > #include "qemu/main-loop.h" > #include "qemu/accel.h" > #include "target/i386/cpu.h" > 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 a488b00e909..944bdb49663 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/sysemu/misc_helper.c b/target/i386/tcg/sysemu/misc_helper.c > index 9ccaa054c4c..b1d3096e9c9 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/tcg/sysemu/seg_helper.c b/target/i386/tcg/sysemu/seg_helper.c > index bf3444c26b0..34f2c65d47f 100644 > --- a/target/i386/tcg/sysemu/seg_helper.c > +++ b/target/i386/tcg/sysemu/seg_helper.c > @@ -24,6 +24,7 @@ > #include "exec/cpu_ldst.h" > #include "tcg/helper-tcg.h" > #include "../seg_helper.h" > +#include "hw/i386/apic.h" > > #ifdef TARGET_X86_64 > void helper_syscall(CPUX86State *env, int next_eip_addend) > 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
Le 05/10/2021 à 16:57, Michael S. Tsirkin a écrit : > On Wed, Sep 29, 2021 at 06:31:24PM +0200, 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. >> >> Acked-by: Paolo Bonzini <pbonzini@redhat.com> >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > > Acked-by: Michael S. Tsirkin <mst@redhat.com> > > which tree? trivial I guess? Yes, but for me the patch was not correct because there is no need to update target/i386/cpu-dump.c But perhaps I misunderstood the answer from Philippe? Thanks Laurent > >> --- >> target/i386/cpu.h | 4 ---- >> hw/i386/kvmvapic.c | 1 + >> hw/i386/x86.c | 1 + >> target/i386/cpu-dump.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/hvf.c | 1 + >> target/i386/hvf/x86_emu.c | 1 + >> target/i386/nvmm/nvmm-all.c | 1 + >> target/i386/tcg/sysemu/misc_helper.c | 1 + >> target/i386/tcg/sysemu/seg_helper.c | 1 + >> target/i386/whpx/whpx-all.c | 1 + >> 15 files changed, 17 insertions(+), 4 deletions(-) >> >> diff --git a/target/i386/cpu.h b/target/i386/cpu.h >> index c2954c71ea0..4411718bb7a 100644 >> --- a/target/i386/cpu.h >> +++ b/target/i386/cpu.h >> @@ -2045,10 +2045,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-dump.c b/target/i386/cpu-dump.c >> index 02b635a52cf..0158fd2bf28 100644 >> --- a/target/i386/cpu-dump.c >> +++ b/target/i386/cpu-dump.c >> @@ -22,6 +22,7 @@ >> #include "qemu/qemu-print.h" >> #ifndef CONFIG_USER_ONLY >> #include "hw/i386/apic_internal.h" >> +#include "hw/i386/apic.h" >> #endif >> >> /***********************************************************/ >> diff --git a/target/i386/cpu-sysemu.c b/target/i386/cpu-sysemu.c >> index 37b7c562f53..4e8a6973d08 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 6b029f1bdf1..52422cbf21b 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/hvf.c b/target/i386/hvf/hvf.c >> index 4ba6e82fab3..50058a24f2a 100644 >> --- a/target/i386/hvf/hvf.c >> +++ b/target/i386/hvf/hvf.c >> @@ -70,6 +70,7 @@ >> #include <sys/sysctl.h> >> >> #include "hw/i386/apic_internal.h" >> +#include "hw/i386/apic.h" >> #include "qemu/main-loop.h" >> #include "qemu/accel.h" >> #include "target/i386/cpu.h" >> 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 a488b00e909..944bdb49663 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/sysemu/misc_helper.c b/target/i386/tcg/sysemu/misc_helper.c >> index 9ccaa054c4c..b1d3096e9c9 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/tcg/sysemu/seg_helper.c b/target/i386/tcg/sysemu/seg_helper.c >> index bf3444c26b0..34f2c65d47f 100644 >> --- a/target/i386/tcg/sysemu/seg_helper.c >> +++ b/target/i386/tcg/sysemu/seg_helper.c >> @@ -24,6 +24,7 @@ >> #include "exec/cpu_ldst.h" >> #include "tcg/helper-tcg.h" >> #include "../seg_helper.h" >> +#include "hw/i386/apic.h" >> >> #ifdef TARGET_X86_64 >> void helper_syscall(CPUX86State *env, int next_eip_addend) >> 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 > >
On 10/5/21 18:45, Laurent Vivier wrote: > Le 05/10/2021 à 16:57, Michael S. Tsirkin a écrit : >> On Wed, Sep 29, 2021 at 06:31:24PM +0200, 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. >>> >>> Acked-by: Paolo Bonzini <pbonzini@redhat.com> >>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> >> >> Acked-by: Michael S. Tsirkin <mst@redhat.com> >> >> which tree? trivial I guess? > > Yes, but for me the patch was not correct because there is no need to update target/i386/cpu-dump.c > But perhaps I misunderstood the answer from Philippe? You understood correctly, this series requires a respin.
diff --git a/target/i386/cpu.h b/target/i386/cpu.h index c2954c71ea0..4411718bb7a 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -2045,10 +2045,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-dump.c b/target/i386/cpu-dump.c index 02b635a52cf..0158fd2bf28 100644 --- a/target/i386/cpu-dump.c +++ b/target/i386/cpu-dump.c @@ -22,6 +22,7 @@ #include "qemu/qemu-print.h" #ifndef CONFIG_USER_ONLY #include "hw/i386/apic_internal.h" +#include "hw/i386/apic.h" #endif /***********************************************************/ diff --git a/target/i386/cpu-sysemu.c b/target/i386/cpu-sysemu.c index 37b7c562f53..4e8a6973d08 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 6b029f1bdf1..52422cbf21b 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/hvf.c b/target/i386/hvf/hvf.c index 4ba6e82fab3..50058a24f2a 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -70,6 +70,7 @@ #include <sys/sysctl.h> #include "hw/i386/apic_internal.h" +#include "hw/i386/apic.h" #include "qemu/main-loop.h" #include "qemu/accel.h" #include "target/i386/cpu.h" 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 a488b00e909..944bdb49663 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/sysemu/misc_helper.c b/target/i386/tcg/sysemu/misc_helper.c index 9ccaa054c4c..b1d3096e9c9 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/tcg/sysemu/seg_helper.c b/target/i386/tcg/sysemu/seg_helper.c index bf3444c26b0..34f2c65d47f 100644 --- a/target/i386/tcg/sysemu/seg_helper.c +++ b/target/i386/tcg/sysemu/seg_helper.c @@ -24,6 +24,7 @@ #include "exec/cpu_ldst.h" #include "tcg/helper-tcg.h" #include "../seg_helper.h" +#include "hw/i386/apic.h" #ifdef TARGET_X86_64 void helper_syscall(CPUX86State *env, int next_eip_addend) 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"