From 9f7519b8863f9b8cdc42cf9e011717c1017f57ae Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Tue, 1 Aug 2017 06:49:59 -0700 Subject: [PATCH] VAX: Added detail to interval timer debug output --- VAX/vax_sysdev.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/VAX/vax_sysdev.c b/VAX/vax_sysdev.c index 2f20cd46..55daf95a 100644 --- a/VAX/vax_sysdev.c +++ b/VAX/vax_sysdev.c @@ -214,7 +214,7 @@ static BITFIELD tmr_csr_bits[] = { /* SSC timer intervals */ -#define TMR_INC 10000 /* usec/interval */ +#define TMR_INC 10000U /* usec/interval */ /* SSC timer vector */ @@ -1485,14 +1485,19 @@ int32 tmr_tir_rd (int32 tmr) { if (tmr_csr[tmr] & TMR_CSR_RUN) { /* running? then interpolate */ uint32 usecs_remaining, cur_tir; + const char *tmr_units = NULL; if ((ADDR_IS_ROM(fault_PC)) && /* running from ROM and */ - (tmr_inst[tmr])) /* waiting instructions? */ + (tmr_inst[tmr])) { /* waiting instructions? */ usecs_remaining = sim_activate_time (&sysd_dev.units[tmr]) - 1; - else - usecs_remaining = (uint32)sim_activate_time_usecs (&sysd_dev.units[tmr]); + tmr_units = "Instructions"; + } + else { + usecs_remaining = (uint32)(0xFFFFFFFFLL & (t_uint64)sim_activate_time_usecs (&sysd_dev.units[tmr])); + tmr_units = "Microseconds"; + } cur_tir = ~usecs_remaining + 1; - sim_debug (DBG_REGR, &sysd_dev, "tmr_tir_rd(tmr=%d) - 0x%X, Interpolated while running\n", tmr, cur_tir); + sim_debug (DBG_REGR, &sysd_dev, "tmr_tir_rd(tmr=%d) - 0x%X %s - %u usecs, Interpolated while running\n", tmr, cur_tir, tmr_units, usecs_remaining); return cur_tir; }