qemu-e2k/target
Taylor Simpson b44780740d Hexagon (target/hexagon) Make generators object oriented - gen_tcg_funcs
The generators are generally a bunch of Python if-then-else
statements based on the regtype and regid.  Encapsulate regtype/regid
into a class hierarchy.  Clients lookup the register and invoke
methods.

This has several advantages for making the code easier to read,
understand, and maintain
- The class name makes it more clear what the operand does
- All the methods for a given type of operand are together
- Don't need hex_common.bad_register
  If a regtype/regid is missing, the lookup in hex_common.get_register
  will fail
- We can remove the functions in hex_common that use regtype/regid
  (e.g., is_read)

This patch creates the class hierarchy in hex_common and converts
gen_tcg_funcs.py.  The other scripts will be converted in subsequent
patches in this series.

Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Brian Cain <bcain@quicinc.com>
Message-Id: <20231210220712.491494-3-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
2024-01-21 22:01:59 -08:00
..
alpha target/alpha: Only build sys_helper.c on system emulation 2024-01-19 12:28:59 +01:00
arm target/arm: Ensure icount is enabled when emulating INST_RETIRED 2024-01-19 12:28:59 +01:00
avr target/avr: Use generic cpu_list() 2024-01-05 16:20:14 +01:00
cris target/cris: Use generic cpu_list() 2024-01-05 16:20:14 +01:00
hexagon Hexagon (target/hexagon) Make generators object oriented - gen_tcg_funcs 2024-01-21 22:01:59 -08:00
hppa target/hppa qemu v8.2 regression fixes 2024-01-16 14:24:42 +00:00
i386 HW core patch queue 2024-01-19 11:39:38 +00:00
loongarch hw/loongarch/virt: Set iocsr address space per-board rather than percpu 2024-01-11 19:22:47 +08:00
m68k target/m68k: Use generic cpu_list() 2024-01-05 16:20:14 +01:00
microblaze target/microblaze: Constify VMState in machine.c 2023-12-29 11:17:30 +11:00
mips system/cpus: rename qemu_mutex_lock_iothread() to bql_lock() 2024-01-08 10:45:43 -05:00
nios2
openrisc system/cpus: rename qemu_mutex_lock_iothread() to bql_lock() 2024-01-08 10:45:43 -05:00
ppc qemu/main-loop: rename QEMU_IOTHREAD_LOCK_GUARD to BQL_LOCK_GUARD 2024-01-08 10:45:43 -05:00
riscv target/riscv: Rename tcg_cpu_FOO() to include 'riscv' 2024-01-19 12:28:59 +01:00
rx target/rx: Use generic cpu_list() 2024-01-05 16:20:14 +01:00
s390x target/s390x: Fix LAE setting a wrong access register 2024-01-11 14:13:07 +01:00
sh4 target/sh4: Use generic cpu_list() 2024-01-05 16:20:14 +01:00
sparc system/cpus: rename qemu_mutex_lock_iothread() to bql_lock() 2024-01-08 10:45:43 -05:00
tricore target/tricore: Use generic cpu_list() 2024-01-05 16:20:14 +01:00
xtensa target/xtensa: use generic instruction breakpoint infrastructure 2024-01-19 12:28:59 +01:00
Kconfig
meson.build