On 02/03/2018 07:37 AM, Mark Cave-Ayland wrote: > This allows us to more easily differentiate between the timebase frequency used > to calibrate the MacOS timers and the actual frequency of the hardware clock as > indicated by CUDA_TIMER_FREQ. > > Signed-off-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daudé > --- > hw/misc/macio/cuda.c | 10 +++++----- > hw/misc/macio/macio.c | 2 +- > hw/ppc/mac.h | 2 +- > 3 files changed, 7 insertions(+), 7 deletions(-) > > diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c > index f036e8d7e1..a200320e7d 100644 > --- a/hw/misc/macio/cuda.c > +++ b/hw/misc/macio/cuda.c > @@ -158,8 +158,8 @@ static unsigned int get_counter(CUDAState *s, CUDATimer *ti) > uint64_t current_time = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); > > /* Reverse of the tb calculation algorithm that Mac OS X uses on bootup. */ > - tb_diff = get_tb(current_time, ti->frequency) - ti->load_time; > - d = (tb_diff * 0xBF401675E5DULL) / (ti->frequency << 24); > + tb_diff = get_tb(current_time, ti->tb_frequency) - ti->load_time; > + d = (tb_diff * 0xBF401675E5DULL) / (ti->tb_frequency << 24); > > if (ti->index == 0) { > /* the timer goes down from latch to -1 (period of latch + 2) */ > @@ -179,7 +179,7 @@ static void set_counter(CUDAState *s, CUDATimer *ti, unsigned int val) > { > CUDA_DPRINTF("T%d.counter=%d\n", 1 + ti->index, val); > ti->load_time = get_tb(qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL), > - s->frequency); > + s->tb_frequency); > ti->counter_value = val; > cuda_timer_update(s, ti, ti->load_time); > } > @@ -878,7 +878,7 @@ static void cuda_realizefn(DeviceState *dev, Error **errp) > struct tm tm; > > s->timers[0].timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, cuda_timer1, s); > - s->timers[0].frequency = s->frequency; > + s->timers[0].frequency = s->tb_frequency; > s->timers[1].timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, cuda_timer2, s); > s->timers[1].frequency = (SCALE_US * 6000) / 4700; > > @@ -909,7 +909,7 @@ static void cuda_initfn(Object *obj) > } > > static Property cuda_properties[] = { > - DEFINE_PROP_UINT64("frequency", CUDAState, frequency, 0), > + DEFINE_PROP_UINT64("timebase-frequency", CUDAState, tb_frequency, 0), > DEFINE_PROP_END_OF_LIST() > }; > > diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c > index 44f91d1e7f..a639b09e00 100644 > --- a/hw/misc/macio/macio.c > +++ b/hw/misc/macio/macio.c > @@ -451,7 +451,7 @@ void macio_init(PCIDevice *d, > macio_state->escc_mem = escc_mem; > /* Note: this code is strongly inspirated from the corresponding code > in PearPC */ > - qdev_prop_set_uint64(DEVICE(&macio_state->cuda), "frequency", > + qdev_prop_set_uint64(DEVICE(&macio_state->cuda), "timebase-frequency", > macio_state->frequency); > > qdev_init_nofail(DEVICE(d)); > diff --git a/hw/ppc/mac.h b/hw/ppc/mac.h > index b501af1653..fa78115c95 100644 > --- a/hw/ppc/mac.h > +++ b/hw/ppc/mac.h > @@ -99,7 +99,7 @@ typedef struct CUDAState { > CUDATimer timers[2]; > > uint32_t tick_offset; > - uint64_t frequency; > + uint64_t tb_frequency; > > uint8_t last_b; > uint8_t last_acr; >