mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-22 09:01:10 +00:00
tcg: cputlb: Add probe_read
Add probe_read alongside the write probing equivalent. Backports commit 9e70492b4389d4355ae9c9ee2ba6286cfdadc257 from qemu
This commit is contained in:
parent
de513617c8
commit
47776dc862
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_aarch64
|
#define print_type_size print_type_size_aarch64
|
||||||
#define print_type_str print_type_str_aarch64
|
#define print_type_str print_type_str_aarch64
|
||||||
#define probe_access probe_access_aarch64
|
#define probe_access probe_access_aarch64
|
||||||
|
#define probe_read probe_read_aarch64
|
||||||
#define probe_write probe_write_aarch64
|
#define probe_write probe_write_aarch64
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_aarch64
|
#define propagateFloat128NaN propagateFloat128NaN_aarch64
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_aarch64
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_aarch64
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_aarch64eb
|
#define print_type_size print_type_size_aarch64eb
|
||||||
#define print_type_str print_type_str_aarch64eb
|
#define print_type_str print_type_str_aarch64eb
|
||||||
#define probe_access probe_access_aarch64eb
|
#define probe_access probe_access_aarch64eb
|
||||||
|
#define probe_read probe_read_aarch64eb
|
||||||
#define probe_write probe_write_aarch64eb
|
#define probe_write probe_write_aarch64eb
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_aarch64eb
|
#define propagateFloat128NaN propagateFloat128NaN_aarch64eb
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_aarch64eb
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_aarch64eb
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_arm
|
#define print_type_size print_type_size_arm
|
||||||
#define print_type_str print_type_str_arm
|
#define print_type_str print_type_str_arm
|
||||||
#define probe_access probe_access_arm
|
#define probe_access probe_access_arm
|
||||||
|
#define probe_read probe_read_arm
|
||||||
#define probe_write probe_write_arm
|
#define probe_write probe_write_arm
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_arm
|
#define propagateFloat128NaN propagateFloat128NaN_arm
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_arm
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_arm
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_armeb
|
#define print_type_size print_type_size_armeb
|
||||||
#define print_type_str print_type_str_armeb
|
#define print_type_str print_type_str_armeb
|
||||||
#define probe_access probe_access_armeb
|
#define probe_access probe_access_armeb
|
||||||
|
#define probe_read probe_read_armeb
|
||||||
#define probe_write probe_write_armeb
|
#define probe_write probe_write_armeb
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_armeb
|
#define propagateFloat128NaN propagateFloat128NaN_armeb
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_armeb
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_armeb
|
||||||
|
|
|
@ -2264,6 +2264,7 @@ symbols = (
|
||||||
'print_type_size',
|
'print_type_size',
|
||||||
'print_type_str',
|
'print_type_str',
|
||||||
'probe_access',
|
'probe_access',
|
||||||
|
'probe_read',
|
||||||
'probe_write',
|
'probe_write',
|
||||||
'propagateFloat128NaN',
|
'propagateFloat128NaN',
|
||||||
'propagateFloat32MulAddNaN',
|
'propagateFloat32MulAddNaN',
|
||||||
|
|
|
@ -222,6 +222,12 @@ static inline void *probe_write(CPUArchState *env, target_ulong addr, int size,
|
||||||
return probe_access(env, addr, size, MMU_DATA_STORE, mmu_idx, retaddr);
|
return probe_access(env, addr, size, MMU_DATA_STORE, mmu_idx, retaddr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void *probe_read(CPUArchState *env, target_ulong addr, int size,
|
||||||
|
int mmu_idx, uintptr_t retaddr)
|
||||||
|
{
|
||||||
|
return probe_access(env, addr, size, MMU_DATA_LOAD, mmu_idx, retaddr);
|
||||||
|
}
|
||||||
|
|
||||||
#define CODE_GEN_ALIGN 16 /* must be >= of the size of a icache line */
|
#define CODE_GEN_ALIGN 16 /* must be >= of the size of a icache line */
|
||||||
|
|
||||||
/* Estimated block size for TB allocation. */
|
/* Estimated block size for TB allocation. */
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_m68k
|
#define print_type_size print_type_size_m68k
|
||||||
#define print_type_str print_type_str_m68k
|
#define print_type_str print_type_str_m68k
|
||||||
#define probe_access probe_access_m68k
|
#define probe_access probe_access_m68k
|
||||||
|
#define probe_read probe_read_m68k
|
||||||
#define probe_write probe_write_m68k
|
#define probe_write probe_write_m68k
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_m68k
|
#define propagateFloat128NaN propagateFloat128NaN_m68k
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_m68k
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_m68k
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_mips
|
#define print_type_size print_type_size_mips
|
||||||
#define print_type_str print_type_str_mips
|
#define print_type_str print_type_str_mips
|
||||||
#define probe_access probe_access_mips
|
#define probe_access probe_access_mips
|
||||||
|
#define probe_read probe_read_mips
|
||||||
#define probe_write probe_write_mips
|
#define probe_write probe_write_mips
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_mips
|
#define propagateFloat128NaN propagateFloat128NaN_mips
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_mips
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_mips
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_mips64
|
#define print_type_size print_type_size_mips64
|
||||||
#define print_type_str print_type_str_mips64
|
#define print_type_str print_type_str_mips64
|
||||||
#define probe_access probe_access_mips64
|
#define probe_access probe_access_mips64
|
||||||
|
#define probe_read probe_read_mips64
|
||||||
#define probe_write probe_write_mips64
|
#define probe_write probe_write_mips64
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_mips64
|
#define propagateFloat128NaN propagateFloat128NaN_mips64
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_mips64
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_mips64
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_mips64el
|
#define print_type_size print_type_size_mips64el
|
||||||
#define print_type_str print_type_str_mips64el
|
#define print_type_str print_type_str_mips64el
|
||||||
#define probe_access probe_access_mips64el
|
#define probe_access probe_access_mips64el
|
||||||
|
#define probe_read probe_read_mips64el
|
||||||
#define probe_write probe_write_mips64el
|
#define probe_write probe_write_mips64el
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_mips64el
|
#define propagateFloat128NaN propagateFloat128NaN_mips64el
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_mips64el
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_mips64el
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_mipsel
|
#define print_type_size print_type_size_mipsel
|
||||||
#define print_type_str print_type_str_mipsel
|
#define print_type_str print_type_str_mipsel
|
||||||
#define probe_access probe_access_mipsel
|
#define probe_access probe_access_mipsel
|
||||||
|
#define probe_read probe_read_mipsel
|
||||||
#define probe_write probe_write_mipsel
|
#define probe_write probe_write_mipsel
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_mipsel
|
#define propagateFloat128NaN propagateFloat128NaN_mipsel
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_mipsel
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_mipsel
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_powerpc
|
#define print_type_size print_type_size_powerpc
|
||||||
#define print_type_str print_type_str_powerpc
|
#define print_type_str print_type_str_powerpc
|
||||||
#define probe_access probe_access_powerpc
|
#define probe_access probe_access_powerpc
|
||||||
|
#define probe_read probe_read_powerpc
|
||||||
#define probe_write probe_write_powerpc
|
#define probe_write probe_write_powerpc
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_powerpc
|
#define propagateFloat128NaN propagateFloat128NaN_powerpc
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_powerpc
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_powerpc
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_riscv32
|
#define print_type_size print_type_size_riscv32
|
||||||
#define print_type_str print_type_str_riscv32
|
#define print_type_str print_type_str_riscv32
|
||||||
#define probe_access probe_access_riscv32
|
#define probe_access probe_access_riscv32
|
||||||
|
#define probe_read probe_read_riscv32
|
||||||
#define probe_write probe_write_riscv32
|
#define probe_write probe_write_riscv32
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_riscv32
|
#define propagateFloat128NaN propagateFloat128NaN_riscv32
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_riscv32
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_riscv32
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_riscv64
|
#define print_type_size print_type_size_riscv64
|
||||||
#define print_type_str print_type_str_riscv64
|
#define print_type_str print_type_str_riscv64
|
||||||
#define probe_access probe_access_riscv64
|
#define probe_access probe_access_riscv64
|
||||||
|
#define probe_read probe_read_riscv64
|
||||||
#define probe_write probe_write_riscv64
|
#define probe_write probe_write_riscv64
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_riscv64
|
#define propagateFloat128NaN propagateFloat128NaN_riscv64
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_riscv64
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_riscv64
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_sparc
|
#define print_type_size print_type_size_sparc
|
||||||
#define print_type_str print_type_str_sparc
|
#define print_type_str print_type_str_sparc
|
||||||
#define probe_access probe_access_sparc
|
#define probe_access probe_access_sparc
|
||||||
|
#define probe_read probe_read_sparc
|
||||||
#define probe_write probe_write_sparc
|
#define probe_write probe_write_sparc
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_sparc
|
#define propagateFloat128NaN propagateFloat128NaN_sparc
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_sparc
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_sparc
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_sparc64
|
#define print_type_size print_type_size_sparc64
|
||||||
#define print_type_str print_type_str_sparc64
|
#define print_type_str print_type_str_sparc64
|
||||||
#define probe_access probe_access_sparc64
|
#define probe_access probe_access_sparc64
|
||||||
|
#define probe_read probe_read_sparc64
|
||||||
#define probe_write probe_write_sparc64
|
#define probe_write probe_write_sparc64
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_sparc64
|
#define propagateFloat128NaN propagateFloat128NaN_sparc64
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_sparc64
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_sparc64
|
||||||
|
|
|
@ -2258,6 +2258,7 @@
|
||||||
#define print_type_size print_type_size_x86_64
|
#define print_type_size print_type_size_x86_64
|
||||||
#define print_type_str print_type_str_x86_64
|
#define print_type_str print_type_str_x86_64
|
||||||
#define probe_access probe_access_x86_64
|
#define probe_access probe_access_x86_64
|
||||||
|
#define probe_read probe_read_x86_64
|
||||||
#define probe_write probe_write_x86_64
|
#define probe_write probe_write_x86_64
|
||||||
#define propagateFloat128NaN propagateFloat128NaN_x86_64
|
#define propagateFloat128NaN propagateFloat128NaN_x86_64
|
||||||
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_x86_64
|
#define propagateFloat32MulAddNaN propagateFloat32MulAddNaN_x86_64
|
||||||
|
|
Loading…
Reference in a new issue