mbox series

[0/5] Renesas RX target fixes

Message ID 20250215021654.1786679-1-keithp@keithp.com (mailing list archive)
Headers show
Series Renesas RX target fixes | expand

Message

Keith Packard Feb. 15, 2025, 2:16 a.m. UTC
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(-)