This is a first patchset in removing target_ulong from non-target/ directories. As use of target_ulong is spread accross the codebase we are attempting to target as few maintainers as possible with each patchset in order to ease reviewing.
The following instances of target_ulong remain in accel/ and tcg/ - atomic helpers (atomic_common.c.inc), cpu_atomic_*() (atomic_template.h,) and cpu_[st|ld]*() (cputlb.c/ldst_common.c.inc) are only used in target/ and can be pulled out into a separate target-specific file; - Calls to cpu_get_tb_cpu_state() cast pc and cs_base to target_ulong in order to avoid having to touch the target/ directory in this patchset; - walk_memory_regions() is used in user-exec.c and linux-user/elfload.c; - helper_ret_*_mmu() is used in tcg/*/tcg-target.c.inc and tcg/tci.c; - Functions in translate-all.c dealing with TCGContext.gen_insn_data will be switched off target_ulong once gen_insn_data and TARGET_INSN_START_WORDS have been dealt with; - kvm_find_sw_breakpoint() in kvm-all.c used in target/; - The last address when looking up page flags for an interval [start,last] in pageflags_find()/pageflags_next() is still target_long. I'm not sure why this is required. This only seems relevant on 32-bit guests since the addresses passed to the interval tree are uint64_t's, are we relying on a sign extension here for some reason? - CPUTLBEntry and functions that read from it will be left for a later date; Smaller patchsets implementing above changes will follow. Finally, the grand goal is to allow for heterogeneous QEMU binaries consisting of multiple frontends. RFC: https://lists.nongnu.org/archive/html/qemu-devel/2022-12/msg04518.html Anton Johansson (8): accel: Replace `target_ulong` with `vaddr` in TB/TLB accel: Replace target_ulong with vaddr in probe_*() accel/tcg: Replace target_ulong with vaddr in *_mmu_lookup() accel/tcg: Replace target_ulong with vaddr in helper_unaligned_*() accel/tcg: Replace target_ulong with vaddr in translator_*() accel/tcg: Replace target_ulong with vaddr in page_*() cpu: Replace target_ulong with vaddr in tb_invalidate_phys_addr() tcg: Replace target_ulong with vaddr in tcg_gen_code() accel/stubs/tcg-stub.c | 6 +- accel/tcg/cpu-exec.c | 49 ++++----- accel/tcg/cputlb.c | 195 +++++++++++++++++------------------ accel/tcg/internal.h | 6 +- accel/tcg/tb-hash.h | 12 +-- accel/tcg/tb-jmp-cache.h | 2 +- accel/tcg/tb-maint.c | 2 +- accel/tcg/translate-all.c | 15 +-- accel/tcg/translator.c | 10 +- accel/tcg/user-exec.c | 59 ++++++----- cpu.c | 2 +- include/exec/cpu-all.h | 10 +- include/exec/cpu-defs.h | 4 +- include/exec/cpu_ldst.h | 6 +- include/exec/exec-all.h | 98 +++++++++--------- include/exec/translate-all.h | 2 +- include/exec/translator.h | 6 +- include/qemu/plugin-memory.h | 2 +- include/tcg/tcg-ldst.h | 4 +- include/tcg/tcg.h | 2 +- tcg/tcg.c | 2 +- 21 files changed, 247 insertions(+), 247 deletions(-) -- 2.39.1