All uses were converted to the cpu_ld*_code_mmu() helpers: remove them. Update the documentation.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- docs/devel/loads-stores.rst | 21 +++++++++------------ include/accel/tcg/cpu-ldst.h | 33 ++------------------------------- 2 files changed, 11 insertions(+), 43 deletions(-) diff --git a/docs/devel/loads-stores.rst b/docs/devel/loads-stores.rst index 57892e814cd..c719241a7f5 100644 --- a/docs/devel/loads-stores.rst +++ b/docs/devel/loads-stores.rst @@ -235,16 +235,13 @@ Regexes for git grep: - ``\<cpu_ld[us]\?[bwlq]\(_[bl]e\)\?_data\>`` - ``\<cpu_st[bwlq]\(_[bl]e\)\?_data\+\>`` -``cpu_ld*_code`` -~~~~~~~~~~~~~~~~ +``cpu_ld*_code_mmu`` +~~~~~~~~~~~~~~~~~~~~ -These functions perform a read for instruction execution. The ``mmuidx`` -parameter is taken from the current mode of the guest CPU, as determined -by ``cpu_mmu_index(env, true)``. The ``retaddr`` parameter is 0, and -thus does not unwind guest CPU state, because CPU state is always -synchronized while translating instructions. Any guest CPU exception -that is raised will indicate an instruction execution fault rather than -a data read fault. +These functions work like the ``cpu_{ld,st}*_mmu`` functions +except that they perform a read for instruction execution. +Any guest CPU exception that is raised will indicate an instruction +execution fault rather than a data read fault. In general these functions should not be used directly during translation. There are wrapper functions that are to be used which also take care of @@ -252,7 +249,7 @@ plugins for tracing. Function names follow the pattern: -load: ``cpu_ld{sign}{size}_code(env, ptr)`` +load: ``cpu_ld{sign}{size}_code_mmu(env, addr, oi, retaddr)`` ``sign`` - (empty) : for 32 or 64 bit sizes @@ -266,12 +263,12 @@ load: ``cpu_ld{sign}{size}_code(env, ptr)`` - ``q`` : 64 bits Regexes for git grep: - - ``\<cpu_ld[us]\?[bwlq]_code\>`` + - ``\<cpu_ld[us]\?[bwlq]_code_mmu\>`` ``translator_ld*`` ~~~~~~~~~~~~~~~~~~ -These functions are a wrapper for ``cpu_ld*_code`` which also perform +These functions are a wrapper for ``cpu_ld*_code_mmu`` which also perform any actions required by any tracing plugins. They are only to be called during the translator callback ``translate_insn``. diff --git a/include/accel/tcg/cpu-ldst.h b/include/accel/tcg/cpu-ldst.h index a5711bc15a6..084d906a56b 100644 --- a/include/accel/tcg/cpu-ldst.h +++ b/include/accel/tcg/cpu-ldst.h @@ -51,10 +51,9 @@ * _be: for forced big endian * _le: for forced little endian * - * mmusuffix is one of the generic suffixes "data" or "code", or "mmuidx". + * mmusuffix is one of the generic suffixes "data" or "mmuidx". * The "mmuidx" suffix carries an extra mmu_idx argument that specifies - * the index to use; the "data" and "code" suffixes take the index from - * cpu_mmu_index(). + * the index to use; the "data" suffix take the index from cpu_mmu_index(). * * The "mmu" suffix carries the full MemOpIdx, with both mmu_idx and the * MemOp including alignment requirements. The alignment will be enforced. @@ -474,34 +473,6 @@ cpu_stq_le_data(CPUArchState *env, abi_ptr addr, uint64_t val) # define cpu_stl_mmuidx_ra cpu_stl_le_mmuidx_ra # define cpu_stq_mmuidx_ra cpu_stq_le_mmuidx_ra #endif - -static inline uint32_t cpu_ldub_code(CPUArchState *env, abi_ptr addr) -{ - CPUState *cs = env_cpu(env); - MemOpIdx oi = make_memop_idx(MO_UB, cpu_mmu_index(cs, true)); - return cpu_ldb_code_mmu(env, addr, oi, 0); -} - -static inline uint32_t cpu_lduw_code(CPUArchState *env, abi_ptr addr) -{ - CPUState *cs = env_cpu(env); - MemOpIdx oi = make_memop_idx(MO_TEUW, cpu_mmu_index(cs, true)); - return cpu_ldw_code_mmu(env, addr, oi, 0); -} - -static inline uint32_t cpu_ldl_code(CPUArchState *env, abi_ptr addr) -{ - CPUState *cs = env_cpu(env); - MemOpIdx oi = make_memop_idx(MO_TEUL, cpu_mmu_index(cs, true)); - return cpu_ldl_code_mmu(env, addr, oi, 0); -} - -static inline uint64_t cpu_ldq_code(CPUArchState *env, abi_ptr addr) -{ - CPUState *cs = env_cpu(env); - MemOpIdx oi = make_memop_idx(MO_TEUQ, cpu_mmu_index(cs, true)); - return cpu_ldq_code_mmu(env, addr, oi, 0); -} #endif /* TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API */ #endif /* ACCEL_TCG_CPU_LDST_H */ -- 2.53.0
