I'm getting a Renesas toolchain working and found a couple of bugs
and a few fixes in the qemu target code for this device.
The two critical bugs which are fixed:
1. Exception vector base address is incorrect. The
right value is 0xffffff80.
2. A bunch of opcode helper functions are incorrectly labeled as
TCG_CALL_NO_WG. These helpers read and write virtual registers out
of the global environment and so must not be marked with this flag.
The other changes included are sufficient to use qemu without needing
to start gdb as well, starting the machine using the reset vector
found in the exception table and then re-loading that vector during
subsequent reset operations.
With these fixes, the picolibc CI tests are now passing.
Keith Packard (5):
hw/rx: Allow execution without either bios or kernel
target/rx: Set exception vector base to 0xffffff80
target/rx: Reset the CPU at qemu reset time
target/rx: Load reset vector from memory after first run
target/rx: Remove TCG_CALL_NO_WG from helpers which write env
hw/rx/rx-gdbsim.c | 3 ---
target/rx/cpu.c | 35 +++++++++++++++++++++++++++++------
target/rx/helper.c | 2 +-
target/rx/helper.h | 14 +++++++-------
4 files changed, 37 insertions(+), 17 deletions(-)
--
2.47.2