* [RFC PATCH] includes: move tb_flush into its own header
@ 2022-12-15 14:09 Alex Bennée
2022-12-15 16:15 ` Richard Henderson
2022-12-15 17:39 ` Philippe Mathieu-Daudé
0 siblings, 2 replies; 5+ messages in thread
From: Alex Bennée @ 2022-12-15 14:09 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Richard Henderson, Paolo Bonzini,
Eduardo Habkost, Marcel Apfelbaum, Philippe Mathieu-Daudé,
Yanan Wang, Daniel Henrique Barboza, Cédric Le Goater,
David Gibson, Greg Kurz, Laurent Vivier, Alexandre Iooss,
Mahmoud Mandour, Palmer Dabbelt, Alistair Francis, Bin Meng,
open list:sPAPR (pseries), open list:RISC-V TCG CPUs
This aids subsystems (like gdbstub) that want to trigger a flush
without pulling target specific headers.
[AJB: RFC because this is part of a larger gdbstub series but I wanted
to post for feedback in case anyone wants to suggest better naming].
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
include/exec/exec-all.h | 1 -
linux-user/user-internals.h | 1 +
accel/tcg/tb-maint.c | 1 +
accel/tcg/translate-all.c | 1 +
cpu.c | 1 +
gdbstub/gdbstub.c | 1 +
hw/ppc/spapr_hcall.c | 1 +
plugins/core.c | 1 +
plugins/loader.c | 2 +-
target/alpha/sys_helper.c | 1 +
target/riscv/csr.c | 1 +
11 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index 9b7bfbf09a..6be541a85f 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -648,7 +648,6 @@ void tb_invalidate_phys_addr(target_ulong addr);
#else
void tb_invalidate_phys_addr(AddressSpace *as, hwaddr addr, MemTxAttrs attrs);
#endif
-void tb_flush(CPUState *cpu);
void tb_phys_invalidate(TranslationBlock *tb, tb_page_addr_t page_addr);
void tb_invalidate_phys_range(tb_page_addr_t start, tb_page_addr_t end);
void tb_set_jmp_target(TranslationBlock *tb, int n, uintptr_t addr);
diff --git a/linux-user/user-internals.h b/linux-user/user-internals.h
index 0280e76add..5ae5e47ff1 100644
--- a/linux-user/user-internals.h
+++ b/linux-user/user-internals.h
@@ -20,6 +20,7 @@
#include "exec/user/thunk.h"
#include "exec/exec-all.h"
+#include "exec/tb-common.h"
#include "qemu/log.h"
extern char *exec_path;
diff --git a/accel/tcg/tb-maint.c b/accel/tcg/tb-maint.c
index 0cdb35548c..c665626bc5 100644
--- a/accel/tcg/tb-maint.c
+++ b/accel/tcg/tb-maint.c
@@ -21,6 +21,7 @@
#include "exec/cputlb.h"
#include "exec/log.h"
#include "exec/exec-all.h"
+#include "exec/tb-common.h"
#include "exec/translate-all.h"
#include "sysemu/tcg.h"
#include "tcg/tcg.h"
diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c
index ac3ee3740c..081889cc79 100644
--- a/accel/tcg/translate-all.c
+++ b/accel/tcg/translate-all.c
@@ -47,6 +47,7 @@
#include "exec/cputlb.h"
#include "exec/translate-all.h"
#include "exec/translator.h"
+#include "exec/tb-common.h"
#include "qemu/bitmap.h"
#include "qemu/qemu-print.h"
#include "qemu/timer.h"
diff --git a/cpu.c b/cpu.c
index 4a7d865427..66d64cdb79 100644
--- a/cpu.c
+++ b/cpu.c
@@ -36,6 +36,7 @@
#include "sysemu/replay.h"
#include "exec/cpu-common.h"
#include "exec/exec-all.h"
+#include "exec/tb-common.h"
#include "exec/translate-all.h"
#include "exec/log.h"
#include "hw/core/accel-cpu.h"
diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c
index bc43aaf825..6e65497a74 100644
--- a/gdbstub/gdbstub.c
+++ b/gdbstub/gdbstub.c
@@ -46,6 +46,7 @@
#include "sysemu/runstate.h"
#include "semihosting/semihost.h"
#include "exec/exec-all.h"
+#include "exec/tb-common.h"
#include "exec/hwaddr.h"
#include "sysemu/replay.h"
diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
index 925ff523cc..7c75660d7b 100644
--- a/hw/ppc/spapr_hcall.c
+++ b/hw/ppc/spapr_hcall.c
@@ -8,6 +8,7 @@
#include "qemu/module.h"
#include "qemu/error-report.h"
#include "exec/exec-all.h"
+#include "exec/tb-common.h"
#include "helper_regs.h"
#include "hw/ppc/ppc.h"
#include "hw/ppc/spapr.h"
diff --git a/plugins/core.c b/plugins/core.c
index ccb770a485..1c4c9bc31e 100644
--- a/plugins/core.c
+++ b/plugins/core.c
@@ -24,6 +24,7 @@
#include "exec/cpu-common.h"
#include "exec/exec-all.h"
+#include "exec/tb-common.h"
#include "exec/helper-proto.h"
#include "tcg/tcg.h"
#include "tcg/tcg-op.h"
diff --git a/plugins/loader.c b/plugins/loader.c
index 88c30bde2d..86d5bd3b22 100644
--- a/plugins/loader.c
+++ b/plugins/loader.c
@@ -29,7 +29,7 @@
#include "qemu/plugin.h"
#include "qemu/memalign.h"
#include "hw/core/cpu.h"
-#include "exec/exec-all.h"
+#include "exec/tb-common.h"
#ifndef CONFIG_USER_ONLY
#include "hw/boards.h"
#endif
diff --git a/target/alpha/sys_helper.c b/target/alpha/sys_helper.c
index 25f6cb8894..40a5f76c85 100644
--- a/target/alpha/sys_helper.c
+++ b/target/alpha/sys_helper.c
@@ -20,6 +20,7 @@
#include "qemu/osdep.h"
#include "cpu.h"
#include "exec/exec-all.h"
+#include "exec/tb-common.h"
#include "exec/helper-proto.h"
#include "sysemu/runstate.h"
#include "sysemu/sysemu.h"
diff --git a/target/riscv/csr.c b/target/riscv/csr.c
index 5c9a7ee287..b2c1b59689 100644
--- a/target/riscv/csr.c
+++ b/target/riscv/csr.c
@@ -25,6 +25,7 @@
#include "time_helper.h"
#include "qemu/main-loop.h"
#include "exec/exec-all.h"
+#include "exec/tb-common.h"
#include "sysemu/cpu-timers.h"
#include "qemu/guest-random.h"
#include "qapi/error.h"
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [RFC PATCH] includes: move tb_flush into its own header
2022-12-15 14:09 [RFC PATCH] includes: move tb_flush into its own header Alex Bennée
@ 2022-12-15 16:15 ` Richard Henderson
2022-12-15 16:46 ` Alex Bennée
2022-12-15 17:39 ` Philippe Mathieu-Daudé
1 sibling, 1 reply; 5+ messages in thread
From: Richard Henderson @ 2022-12-15 16:15 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
On 12/15/22 06:09, Alex Bennée wrote:
> This aids subsystems (like gdbstub) that want to trigger a flush
> without pulling target specific headers.
>
> [AJB: RFC because this is part of a larger gdbstub series but I wanted
> to post for feedback in case anyone wants to suggest better naming].
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> include/exec/exec-all.h | 1 -
> linux-user/user-internals.h | 1 +
> accel/tcg/tb-maint.c | 1 +
> accel/tcg/translate-all.c | 1 +
> cpu.c | 1 +
> gdbstub/gdbstub.c | 1 +
> hw/ppc/spapr_hcall.c | 1 +
> plugins/core.c | 1 +
> plugins/loader.c | 2 +-
> target/alpha/sys_helper.c | 1 +
> target/riscv/csr.c | 1 +
> 11 files changed, 10 insertions(+), 2 deletions(-)
It appears as if you forgot to add tb-common.h.
That said, if this is intended to have exactly one thing, tb-flush.h might be better.
r~
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC PATCH] includes: move tb_flush into its own header
2022-12-15 16:15 ` Richard Henderson
@ 2022-12-15 16:46 ` Alex Bennée
2022-12-15 16:51 ` Richard Henderson
0 siblings, 1 reply; 5+ messages in thread
From: Alex Bennée @ 2022-12-15 16:46 UTC (permalink / raw)
To: Richard Henderson; +Cc: qemu-devel
Richard Henderson <richard.henderson@linaro.org> writes:
> On 12/15/22 06:09, Alex Bennée wrote:
>> This aids subsystems (like gdbstub) that want to trigger a flush
>> without pulling target specific headers.
>> [AJB: RFC because this is part of a larger gdbstub series but I
>> wanted
>> to post for feedback in case anyone wants to suggest better naming].
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>> include/exec/exec-all.h | 1 -
>> linux-user/user-internals.h | 1 +
>> accel/tcg/tb-maint.c | 1 +
>> accel/tcg/translate-all.c | 1 +
>> cpu.c | 1 +
>> gdbstub/gdbstub.c | 1 +
>> hw/ppc/spapr_hcall.c | 1 +
>> plugins/core.c | 1 +
>> plugins/loader.c | 2 +-
>> target/alpha/sys_helper.c | 1 +
>> target/riscv/csr.c | 1 +
>> 11 files changed, 10 insertions(+), 2 deletions(-)
>
> It appears as if you forgot to add tb-common.h.
> That said, if this is intended to have exactly one thing, tb-flush.h
> might be better.
I'll rename and include when I send the gdbstub stuff. I don't know how
far you want to go to eliminate target specific handling from the rest
of TB maintenance - indeed I'm not sure anything else is possible?
>
>
> r~
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC PATCH] includes: move tb_flush into its own header
2022-12-15 16:46 ` Alex Bennée
@ 2022-12-15 16:51 ` Richard Henderson
0 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 2022-12-15 16:51 UTC (permalink / raw)
To: Alex Bennée; +Cc: qemu-devel
On 12/15/22 08:46, Alex Bennée wrote:
> I'll rename and include when I send the gdbstub stuff. I don't know how
> far you want to go to eliminate target specific handling from the rest
> of TB maintenance - indeed I'm not sure anything else is possible?
I can't think that anything else is possible.
r~
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC PATCH] includes: move tb_flush into its own header
2022-12-15 14:09 [RFC PATCH] includes: move tb_flush into its own header Alex Bennée
2022-12-15 16:15 ` Richard Henderson
@ 2022-12-15 17:39 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2022-12-15 17:39 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: Richard Henderson, Paolo Bonzini, Eduardo Habkost,
Marcel Apfelbaum, Yanan Wang, Daniel Henrique Barboza,
Cédric Le Goater, David Gibson, Greg Kurz, Laurent Vivier,
Alexandre Iooss, Mahmoud Mandour, Palmer Dabbelt,
Alistair Francis, Bin Meng, open list:sPAPR (pseries),
open list:RISC-V TCG CPUs
On 15/12/22 15:09, Alex Bennée wrote:
> This aids subsystems (like gdbstub) that want to trigger a flush
> without pulling target specific headers.
>
> [AJB: RFC because this is part of a larger gdbstub series but I wanted
> to post for feedback in case anyone wants to suggest better naming].
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> include/exec/exec-all.h | 1 -
> linux-user/user-internals.h | 1 +
> accel/tcg/tb-maint.c | 1 +
> accel/tcg/translate-all.c | 1 +
> cpu.c | 1 +
> gdbstub/gdbstub.c | 1 +
> hw/ppc/spapr_hcall.c | 1 +
> plugins/core.c | 1 +
> plugins/loader.c | 2 +-
> target/alpha/sys_helper.c | 1 +
> target/riscv/csr.c | 1 +
> 11 files changed, 10 insertions(+), 2 deletions(-)
While playing there you might want to review a companion series:
https://lore.kernel.org/qemu-devel/20221209093649.43738-1-philmd@linaro.org/
"Restrict page_collection structure to system TB maintainance"
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-12-15 17:40 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-15 14:09 [RFC PATCH] includes: move tb_flush into its own header Alex Bennée
2022-12-15 16:15 ` Richard Henderson
2022-12-15 16:46 ` Alex Bennée
2022-12-15 16:51 ` Richard Henderson
2022-12-15 17:39 ` Philippe Mathieu-Daudé
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).