mbox series

[RFC,v4,0/1] SPARC64: add icount support

Message ID 20180615073303.502-1-mark.cave-ayland@ilande.co.uk
Headers show
Series SPARC64: add icount support | expand

Message

Mark Cave-Ayland June 15, 2018, 7:33 a.m. UTC
This is a patch I've had in an earlier form for a while but never really developed
due to experiencing random hangs when writing to the SPARC64 CPU timers.

Fortunately it seems the recent icount timer fixes have resolved the underlying
issues and with this patch I am able to boot all my qemu-system-sparc64 OpenBIOS
test images.

I've marked this as an RFC for two reasons: firstly I'm not sure I've fully covered
all the cases where we need to exit the TB in order to allow the timer interrupt to
fire, and secondly I do occasionally see messages booting Milax in the form of
"WARNING: Time of Day clock error: reason [Jumped by 0x134]".

Hopefully more sets of eyes will be able to point me in the right direction related
to the Time of Day (m48t59) error and the TB exits in order to get this ready for
commit.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>

v4:
- Convert sparc_tr_tb_stop() to use switch for DisasJumpType as suggested by Richard

v3:
- Implement feedback from Richard: use tb_cflags() for icount flag access,
  unconditionally exit the TB when setting the timer registers, introduce DISAS_EXIT
  to avoid repeating TB exit code pattern

v2:
- Rebase onto master

Mark Cave-Ayland (1):
  SPARC64: add icount support

 target/sparc/translate.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 110 insertions(+), 1 deletion(-)