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-ayl...@ilande.co.uk>

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 | 99 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 99 insertions(+)

-- 
2.11.0


Reply via email to