qemu/include/exec
Richard Henderson b79a9b6e5b accel/tcg: Use TLB_FORCE_SLOW not TLB_MMIO for user-only plugins
In 6d03226b42 we set TLB_MMIO to a non-zero value for user-only
so that we could return a non-zero value from probe_* functions
so that we could force callers like Arm SVE vector moves to use
the slow path rather than direct access.  All for the sake of
exposing these accesses to plugins.

Back then, TLB_FORCE_SLOW did not exist, so TLB_MMIO seemed like
a reasonable solution.  However, user-only doesn't really have
MMIO and this has knock-on effects, like forcing Arm SVE first-fault
vector loads to stop.  Better to use TLB_FORCE_SLOW as a more exact
trigger for plugins.

Cc: qemu-stable@nongnu.org
Fixes: 6d03226b42 ("plugins: force slow path when plugins instrument memory ops")
Acked-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20260702171057.47998-1-richard.henderson@linaro.org>
2026-07-07 09:48:42 -07:00
..
abi_ptr.h exec: Declare abi_ptr type in its own 'abi_ptr.h' header 2024-04-26 17:03:05 +02:00
breakpoint.h cpu: Move BREAKPOINT definitions to 'exec/breakpoint.h' 2026-07-06 15:42:18 +02:00
cpu-common.h accel/tcg: Move cpu_loop_exit_*() out of 'exec/cpu-common.h' 2026-06-18 14:27:21 +02:00
cpu-defs.h exec: Drop TARGET_PHYS_ADDR_SPACE_BITS 2026-02-25 23:46:04 +01:00
cpu-interrupt.h include/exec: Split out exec/cpu-interrupt.h 2025-03-08 07:55:03 -08:00
cputlb.h accel/tcg: Restrict tlb_protect/unprotect_code() to TCG 2026-07-06 15:41:34 +02:00
gdbstub.h gdbstub: Emit base_register index in GDBFeature entries 2026-03-10 17:12:18 -07:00
helper-gen-common.h plugins: Remove plugin helpers 2024-04-30 16:12:05 -07:00
helper-gen.h tcg: Split helper-gen.h 2023-06-05 12:04:29 -07:00
helper-gen.h.inc tcg: Pass function pointer to tcg_gen_call* 2024-04-30 16:12:05 -07:00
helper-head.h.inc exec/helper-head: Include missing 'exec/target_long.h' header 2026-05-06 12:38:09 +02:00
helper-info.c.inc accel/tcg: Rename helper-head.h -> helper-head.h.inc 2024-04-26 15:31:37 +02:00
helper-proto-common.h accel/tcg: Include 'accel/tcg/getpc.h' in 'exec/helper-proto' 2025-04-30 12:45:05 -07:00
helper-proto.h tcg: Split helper-proto.h 2023-06-05 12:04:29 -07:00
helper-proto.h.inc accel/tcg: Rename helper-head.h -> helper-head.h.inc 2024-04-26 15:31:37 +02:00
hwaddr.h bulk: Rename TARGET_FMT_plx -> HWADDR_FMT_plx 2023-01-18 11:14:34 +01:00
icount.h include/exec: Protect icount_enabled from poisoned symbols 2025-04-23 14:08:44 -07:00
log.h include/exec/log: Do not reference QemuLogFile directly 2022-04-20 10:51:11 -07:00
memattrs.h pci: Add a memory attribute for pre-translated DMA operations 2025-07-15 02:56:39 -04:00
memop.h system: Allow restricting the legacy MO_TE* 'native-endian' definitions 2026-01-22 10:48:45 +01:00
memopidx.h include/exec/memopidx: Adjust for 32 mmu indexes 2025-10-10 10:42:12 +01:00
mmap-lock.h include/exec: Split out mmap-lock.h 2025-04-23 14:08:17 -07:00
mmu-access-type.h exec: Declare MMUAccessType type in 'mmu-access-type.h' header 2024-04-26 17:03:05 +02:00
page-protection.h linux-user: Support MADV_DONTDUMP, MADV_DODUMP 2025-10-14 07:30:39 -07:00
page-vary.h page-vary: Build finalize_target_page_bits as common code 2026-02-26 00:12:07 +01:00
plugin-gen.h plugins: Read mem_only directly from TB cflags 2024-05-15 08:55:18 +02:00
poison.h target/or1k: Rename from openrisc 2026-02-09 20:51:52 +01:00
replay-core.h replay: Extract core API to 'exec/replay-core.h' 2023-02-27 22:29:01 +01:00
target_long.h tcg: Define MO_TL 2023-10-22 16:34:21 -07:00
target_page.h include/exec/target_page.h: move page-target.c to header 2025-09-02 17:57:05 +02:00
tb-flush.h accel/tcg: Create queue_tb_flush from tb_flush 2025-09-24 10:29:43 -07:00
tlb-common.h include/exec: Use uintptr_t in CPUTLBEntry 2025-02-18 08:29:02 -08:00
tlb-flags.h accel/tcg: Use TLB_FORCE_SLOW not TLB_MMIO for user-only plugins 2026-07-07 09:48:42 -07:00
translation-block.h target/riscv: Use the tb->cs_base as the extend tb flags 2026-04-29 11:41:00 +10:00
translator.h tcg/translator: add parameter to translator_loop for current addr type 2026-04-23 10:24:10 +01:00
tswap.h include/exec: Provide the cpu_internal_tswap() functions 2026-03-12 19:24:18 +00:00
vaddr.h include/exec: Change vaddr to uintptr_t 2025-02-18 08:29:02 -08:00
watchpoint.h accel/tcg: Un-inline WatchPoint API user-emulation stubs 2026-01-12 23:47:57 +01:00