qemu-patch-raspberry4/target/xtensa
Max Filippov b0b24bdcd9 target/xtensa: reorganize register handling in translators
To support circular register dependencies in FLIX bundles opcode inputs
and outputs must be separate and adjustable. Circular dependencies can
be broken by making temporary copies of opcode inputs and substituting
them into the arguments array instead of the original registers.

E.g. the circular register dependency in the following bundle:

  { mov a2, a3 ; mov a3, a2 }

can be resolved by making copy a2' = a2 and substituting it as input
argument of the second opcode:

  { mov a2, a3 ; mov a3, a2' }

Change opcode translator prototype to accept OpcodeArg array as
argument. For each register argument initialize OpcodeArg::{in,out} with
TCGv_* of the respective register. Don't explicitly use cpu_R in the
opcode translators, use OpcodeArg::{in,out} instead.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2019-02-28 04:43:22 -08:00
..
core-dc232b target/xtensa: drop num_[core_]regs from dc232b/dc233c configs 2018-11-20 12:20:41 -08:00
core-dc233c target/xtensa: drop num_[core_]regs from dc232b/dc233c configs 2018-11-20 12:20:41 -08:00
core-de212 Remove unnecessary variables for function return value 2018-05-20 08:48:13 +03:00
core-fsf Remove unnecessary variables for function return value 2018-05-20 08:48:13 +03:00
core-sample_controller Remove unnecessary variables for function return value 2018-05-20 08:48:13 +03:00
core-test_kc705_be target/xtensa: add test_kc705_be core 2018-08-19 18:57:57 -07:00
core-test_mmuhifi_c3 target/xtensa: fixup test_mmuhifi_c3 overlay 2019-02-18 21:29:08 -08:00
core-dc232b.c target/xtensa: drop num_[core_]regs from dc232b/dc233c configs 2018-11-20 12:20:41 -08:00
core-dc233c.c target/xtensa: drop num_[core_]regs from dc232b/dc233c configs 2018-11-20 12:20:41 -08:00
core-de212.c target: Do not include "exec/exec-all.h" if it is not necessary 2018-06-01 14:15:10 +02:00
core-fsf.c target: Do not include "exec/exec-all.h" if it is not necessary 2018-06-01 14:15:10 +02:00
core-sample_controller.c target: Do not include "exec/exec-all.h" if it is not necessary 2018-06-01 14:15:10 +02:00
core-test_kc705_be.c target/xtensa: add test_kc705_be core 2018-08-19 18:57:57 -07:00
core-test_mmuhifi_c3.c target/xtensa: add test_mmuhifi_c3 core 2019-01-28 11:55:20 -08:00
cpu-qom.h Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
cpu.c target/xtensa: convert to do_transaction_failed 2018-09-17 11:05:26 -07:00
cpu.h target/xtensa: reorganize register handling in translators 2019-02-28 04:43:22 -08:00
dbg_helper.c target/xtensa: extract debug helpers 2019-01-13 23:35:34 -08:00
exc_helper.c target/xtensa: fix access to the INTERRUPT SR 2019-01-24 10:44:26 -08:00
fpu_helper.c target/xtensa: extract FPU helpers 2019-01-13 23:33:42 -08:00
gdbstub.c target/xtensa: gdbstub fix register counting 2018-11-20 12:20:41 -08:00
helper.c target/xtensa: reorganize register handling in translators 2019-02-28 04:43:22 -08:00
helper.h target/xtensa: only rotate window in the retw helper 2019-02-28 04:43:22 -08:00
import_core.sh target/xtensa/import_core.sh: don't add duplicate 'static' 2019-02-08 19:37:45 -08:00
Makefile.objs target/xtensa: add test_mmuhifi_c3 core 2019-01-28 11:55:20 -08:00
mmu_helper.c target/xtensa: extract MMU helpers 2019-01-13 23:34:57 -08:00
monitor.c monitor: Fix crashes when using HMP commands without CPU 2017-02-21 18:29:01 +00:00
op_helper.c target/xtensa: fix access to the INTERRUPT SR 2019-01-24 10:44:26 -08:00
overlay_tool.h target/xtensa: move xtensa_finalize_config to xtensa_core_class_init 2019-02-18 21:29:08 -08:00
translate.c target/xtensa: reorganize register handling in translators 2019-02-28 04:43:22 -08:00
win_helper.c target/xtensa: only rotate window in the retw helper 2019-02-28 04:43:22 -08:00
xtensa-isa-internal.h target/xtensa: import libisa source 2017-12-18 21:26:19 -08:00
xtensa-isa.c Clean up includes 2018-02-09 05:05:11 +01:00
xtensa-isa.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
xtensa-semi.c target/xtensa: support input from chardev console 2018-09-17 11:09:04 -07:00