qemu/target/mips/tcg
Marcin Nowakowski 9055ffd76e target/mips: Fix JALS32/J32 instruction handling for microMIPS
microMIPS J & JAL instructions perform a jump in a 128MB region and 5
top bits of the address need to be preserved. This is different behavior
compared to standard mips systems, where the jump is executed within a
256MB region.
Note that microMIPS32 instruction set documentation appears to have
inconsistent information regarding JALX32 instruction - it is written in
the doc that:

"To execute a procedure call within the current 256 MB-aligned region
(...)
The low 26 bits of the target address is the target field shifted left
2 bits."

But the target address is already 26 bits. Moreover, the operation
description indicates that 28 bits are copied, so the statement about
use of 26 bits is _most likely_ incorrect and the corresponding code
remains the same as for standard mips instruction set.

Signed-off-by: Marcin Nowakowski <marcin.nowakowski@fungible.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230216051717.3911212-2-marcin.nowakowski@fungible.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2023-03-07 18:09:13 +01:00
..
sysemu target/mips: Replace tb_pc() with tb->pc 2023-03-01 07:33:17 -10:00
dsp_helper.c cleanup: Tweak and re-run return_directly.cocci 2022-12-14 16:19:35 +01:00
exception.c target/mips: Replace tb_pc() with tb->pc 2023-03-01 07:33:17 -10:00
fpu_helper.c target/mips: Move TCG source files under tcg/ sub directory 2021-05-02 16:49:35 +02:00
ldst_helper.c target/mips: Replace GET_LMASK64() macro by get_lmask(64) function 2021-08-25 13:02:14 +02:00
lmmi_helper.c Replace config-time define HOST_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
meson.build target/mips: introduce decodetree structure for Cavium Octeon extension 2022-07-12 22:30:09 +02:00
micromips_translate.c.inc target/mips: Honour -semihosting-config userspace=on 2022-09-13 17:18:21 +01:00
mips16e_translate.c.inc target/mips: Drop tcg_temp_free from mips16e_translate.c.inc 2023-03-05 13:44:08 -08:00
msa.decode target/mips: Remove one MSA unnecessary decodetree overlap group 2021-11-02 14:32:32 +01:00
msa_helper.c target/mips: Replace [g_]assert(0) -> g_assert_not_reached() 2023-03-07 18:08:12 +01:00
msa_helper.h.inc target/mips: Move TCG source files under tcg/ sub directory 2021-05-02 16:49:35 +02:00
msa_translate.c target/mips: Fix FTRUNC_S and FTRUNC_U trans helper 2022-06-11 11:34:12 +02:00
mxu_translate.c target/mips: Fix gen_mxu_s32ldd_s32lddr 2021-06-29 10:04:57 -07:00
nanomips_translate.c.inc target/mips: Don't use tcg_temp_local_new 2023-03-01 07:33:28 -10:00
octeon.decode target/mips: Cast offset field of Octeon BBIT to int16_t 2022-11-08 01:04:25 +01:00
octeon_translate.c target/mips: implement Octeon-specific arithmetic instructions 2022-07-12 22:30:19 +02:00
op_helper.c target/mips: Extract NEC Vr54xx helpers to vr54xx_helper.c 2021-08-25 13:02:14 +02:00
rel6.decode target/mips: Rename 'rtype' as 'r' 2021-08-25 13:02:14 +02:00
rel6_translate.c target/mips: Rename 'rtype' as 'r' 2021-08-25 13:02:14 +02:00
sysemu_helper.h.inc target/mips: Use an exception for semihosting 2022-06-28 10:13:42 +05:30
tcg-internal.h target/mips: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
trace-events target/mips: Move TCG trace events to tcg/ sub directory 2021-06-24 16:48:07 +02:00
trace.h target/mips: Move TCG trace events to tcg/ sub directory 2021-06-24 16:48:07 +02:00
translate.c target/mips: Fix JALS32/J32 instruction handling for microMIPS 2023-03-07 18:09:13 +01:00
translate.h target/mips: Advance pc after semihosting exception 2022-08-02 12:34:00 -07:00
translate_addr_const.c target/mips: Move TCG source files under tcg/ sub directory 2021-05-02 16:49:35 +02:00
tx79.decode target/mips: Rename 'rtype' as 'r' 2021-08-25 13:02:14 +02:00
tx79_translate.c exec/memop: Adding signedness to quad definitions 2022-01-08 15:46:10 +10:00
txx9_translate.c target/mips: Move TCG source files under tcg/ sub directory 2021-05-02 16:49:35 +02:00
vr54xx.decode target/mips: Convert Vr54xx MSA* opcodes to decodetree 2021-08-25 13:02:14 +02:00
vr54xx_helper.c target/mips: Extract NEC Vr54xx helpers to vr54xx_helper.c 2021-08-25 13:02:14 +02:00
vr54xx_helper.h.inc target/mips: Extract NEC Vr54xx helper definitions 2021-08-25 13:02:14 +02:00
vr54xx_translate.c target/mips: Fix trans_mult_acc return 2023-03-05 13:44:08 -08:00