qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 0/8] Start replacing target_ulong with vaddr


From: Richard Henderson
Subject: Re: [PATCH 0/8] Start replacing target_ulong with vaddr
Date: Sun, 23 Apr 2023 11:59:54 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0

On 4/20/23 22:28, Anton Johansson wrote:
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.

You may wish to browse my work in progress

  https://gitlab.com/rth7680/qemu/-/commits/tcg-once/

to avoid duplication, as I have done some of these. This tree is on top of my atomicity patch set; I'm working on upstreaming that now.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]