diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2025-08-11 08:28:31 +0200 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2025-09-17 19:00:55 +0200 |
| commit | 9cf342b491f6872d316b7b0c3cbc0f6157f28797 (patch) | |
| tree | ffd088f3d982db5637de28a149372e8c0bb584a1 /accel/tcg/user-exec.c | |
| parent | f084ff128b6136e1aebfd73e1cf7066a077a79bf (diff) | |
| download | focaccia-qemu-9cf342b491f6872d316b7b0c3cbc0f6157f28797.tar.gz focaccia-qemu-9cf342b491f6872d316b7b0c3cbc0f6157f28797.zip | |
accel/tcg: create a thread-kick function for TCG
Round-robin TCG is calling into cpu_exit() directly. In preparation for making cpu_exit() usable from all accelerators, define a generic thread-kick function for TCG which is used directly in the multi-threaded case, and through CPU_FOREACH in the round-robin case. Use it also for user-mode emulation, and take the occasion to move the implementation to accel/tcg/user-exec.c. Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'accel/tcg/user-exec.c')
| -rw-r--r-- | accel/tcg/user-exec.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c index 66c25fba7d..3c072fd868 100644 --- a/accel/tcg/user-exec.c +++ b/accel/tcg/user-exec.c @@ -38,6 +38,7 @@ #include "qemu/int128.h" #include "trace.h" #include "tcg/tcg-ldst.h" +#include "tcg-accel-ops.h" #include "backend-ldst.h" #include "internal-common.h" #include "tb-internal.h" @@ -46,6 +47,11 @@ __thread uintptr_t helper_retaddr; //#define DEBUG_SIGNAL +void qemu_cpu_kick(CPUState *cpu) +{ + tcg_kick_vcpu_thread(cpu); +} + /* * Adjust the pc to pass to cpu_restore_state; return the memop type. */ |