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.