Message ID | 20250307185645.970034-4-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | accel/tcg: Compile more files once | expand |
On 3/7/25 10:56, Richard Henderson wrote: > Move tb_check_watchpoint declaration from tb-internal.h, which is > still target-specific, to internal-common.h, which isn't. > Otherwise, all that is required to build watchpoint.c once is > to include the new exec/cpu-interrupt.h instead of exec/exec-all.h. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > accel/tcg/internal-common.h | 2 ++ > accel/tcg/tb-internal.h | 2 -- > accel/tcg/watchpoint.c | 5 ++--- > accel/tcg/meson.build | 2 +- > 4 files changed, 5 insertions(+), 6 deletions(-) > > diff --git a/accel/tcg/internal-common.h b/accel/tcg/internal-common.h > index 7ef620d963..9b6ab3a8cc 100644 > --- a/accel/tcg/internal-common.h > +++ b/accel/tcg/internal-common.h > @@ -72,4 +72,6 @@ void tcg_exec_unrealizefn(CPUState *cpu); > /* current cflags for hashing/comparison */ > uint32_t curr_cflags(CPUState *cpu); > > +void tb_check_watchpoint(CPUState *cpu, uintptr_t retaddr); > + > #endif > diff --git a/accel/tcg/tb-internal.h b/accel/tcg/tb-internal.h > index abd423fcf5..62a59a5307 100644 > --- a/accel/tcg/tb-internal.h > +++ b/accel/tcg/tb-internal.h > @@ -75,6 +75,4 @@ void tb_invalidate_phys_range_fast(ram_addr_t ram_addr, > > bool tb_invalidate_phys_page_unwind(tb_page_addr_t addr, uintptr_t pc); > > -void tb_check_watchpoint(CPUState *cpu, uintptr_t retaddr); > - > #endif > diff --git a/accel/tcg/watchpoint.c b/accel/tcg/watchpoint.c > index 40112b2b2e..ba8c9859cf 100644 > --- a/accel/tcg/watchpoint.c > +++ b/accel/tcg/watchpoint.c > @@ -19,11 +19,10 @@ > > #include "qemu/osdep.h" > #include "qemu/main-loop.h" > -#include "qemu/error-report.h" > -#include "exec/exec-all.h" > +#include "exec/breakpoint.h" > +#include "exec/cpu-interrupt.h" > #include "exec/page-protection.h" > #include "exec/translation-block.h" > -#include "tb-internal.h" > #include "system/tcg.h" > #include "system/replay.h" > #include "accel/tcg/cpu-ops.h" > diff --git a/accel/tcg/meson.build b/accel/tcg/meson.build > index 69f4808ac4..979ce90eb0 100644 > --- a/accel/tcg/meson.build > +++ b/accel/tcg/meson.build > @@ -20,7 +20,6 @@ specific_ss.add_all(when: 'CONFIG_TCG', if_true: tcg_specific_ss) > > specific_ss.add(when: ['CONFIG_SYSTEM_ONLY', 'CONFIG_TCG'], if_true: files( > 'cputlb.c', > - 'watchpoint.c', > 'tcg-accel-ops.c', > 'tcg-accel-ops-mttcg.c', > 'tcg-accel-ops-icount.c', > @@ -30,4 +29,5 @@ specific_ss.add(when: ['CONFIG_SYSTEM_ONLY', 'CONFIG_TCG'], if_true: files( > system_ss.add(when: ['CONFIG_TCG'], if_true: files( > 'icount-common.c', > 'monitor.c', > + 'watchpoint.c', > )) Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
On 7/3/25 19:56, Richard Henderson wrote: > Move tb_check_watchpoint declaration from tb-internal.h, which is > still target-specific, to internal-common.h, which isn't. > Otherwise, all that is required to build watchpoint.c once is > to include the new exec/cpu-interrupt.h instead of exec/exec-all.h. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > accel/tcg/internal-common.h | 2 ++ > accel/tcg/tb-internal.h | 2 -- > accel/tcg/watchpoint.c | 5 ++--- > accel/tcg/meson.build | 2 +- > 4 files changed, 5 insertions(+), 6 deletions(-) Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff --git a/accel/tcg/internal-common.h b/accel/tcg/internal-common.h index 7ef620d963..9b6ab3a8cc 100644 --- a/accel/tcg/internal-common.h +++ b/accel/tcg/internal-common.h @@ -72,4 +72,6 @@ void tcg_exec_unrealizefn(CPUState *cpu); /* current cflags for hashing/comparison */ uint32_t curr_cflags(CPUState *cpu); +void tb_check_watchpoint(CPUState *cpu, uintptr_t retaddr); + #endif diff --git a/accel/tcg/tb-internal.h b/accel/tcg/tb-internal.h index abd423fcf5..62a59a5307 100644 --- a/accel/tcg/tb-internal.h +++ b/accel/tcg/tb-internal.h @@ -75,6 +75,4 @@ void tb_invalidate_phys_range_fast(ram_addr_t ram_addr, bool tb_invalidate_phys_page_unwind(tb_page_addr_t addr, uintptr_t pc); -void tb_check_watchpoint(CPUState *cpu, uintptr_t retaddr); - #endif diff --git a/accel/tcg/watchpoint.c b/accel/tcg/watchpoint.c index 40112b2b2e..ba8c9859cf 100644 --- a/accel/tcg/watchpoint.c +++ b/accel/tcg/watchpoint.c @@ -19,11 +19,10 @@ #include "qemu/osdep.h" #include "qemu/main-loop.h" -#include "qemu/error-report.h" -#include "exec/exec-all.h" +#include "exec/breakpoint.h" +#include "exec/cpu-interrupt.h" #include "exec/page-protection.h" #include "exec/translation-block.h" -#include "tb-internal.h" #include "system/tcg.h" #include "system/replay.h" #include "accel/tcg/cpu-ops.h" diff --git a/accel/tcg/meson.build b/accel/tcg/meson.build index 69f4808ac4..979ce90eb0 100644 --- a/accel/tcg/meson.build +++ b/accel/tcg/meson.build @@ -20,7 +20,6 @@ specific_ss.add_all(when: 'CONFIG_TCG', if_true: tcg_specific_ss) specific_ss.add(when: ['CONFIG_SYSTEM_ONLY', 'CONFIG_TCG'], if_true: files( 'cputlb.c', - 'watchpoint.c', 'tcg-accel-ops.c', 'tcg-accel-ops-mttcg.c', 'tcg-accel-ops-icount.c', @@ -30,4 +29,5 @@ specific_ss.add(when: ['CONFIG_SYSTEM_ONLY', 'CONFIG_TCG'], if_true: files( system_ss.add(when: ['CONFIG_TCG'], if_true: files( 'icount-common.c', 'monitor.c', + 'watchpoint.c', ))
Move tb_check_watchpoint declaration from tb-internal.h, which is still target-specific, to internal-common.h, which isn't. Otherwise, all that is required to build watchpoint.c once is to include the new exec/cpu-interrupt.h instead of exec/exec-all.h. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- accel/tcg/internal-common.h | 2 ++ accel/tcg/tb-internal.h | 2 -- accel/tcg/watchpoint.c | 5 ++--- accel/tcg/meson.build | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-)