| Message ID | 20260923230452.3765-5-kirill@korins.ky |
|---|---|
| State | New |
| Headers | show |
| Series | mac99: Boot OpenBSD/macppc | expand |
On 24/09/2026 00:03, Kirill A. Korinsky wrote: > From: "Kirill A. Korinsky" <kirill@korins.ky> > > The CUDA model assumes a 20 microsecond delay before each shift > register interrupt. OpenBSD times out during device discovery with that > timing, so retain the existing default but allow an override. > > Signed-off-by: Kirill A. Korinsky <kirill@korins.ky> > Tested-by: Anushree Mathur <anushree.mathur@linux.ibm.com> > Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > --- > hw/misc/macio/cuda.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c > index ccb3e1d74b..f06583377a 100644 > --- a/hw/misc/macio/cuda.c > +++ b/hw/misc/macio/cuda.c > @@ -535,7 +535,6 @@ static void cuda_realize(DeviceState *dev, Error **errp) > s->tick_offset = (uint32_t)mktimegm(&tm) + RTC_OFFSET; > > s->sr_delay_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, cuda_set_sr_int, s); > - s->sr_delay_ns = 20 * SCALE_US; > > adb_register_autopoll_callback(adb_bus, cuda_adb_poll, s); > } > @@ -557,6 +556,8 @@ static void cuda_init(Object *obj) > > static const Property cuda_properties[] = { > DEFINE_PROP_UINT64("timebase-frequency", CUDAState, tb_frequency, 0), > + DEFINE_PROP_UINT64("x-sr-delay-ns", CUDAState, sr_delay_ns, > + 20 * SCALE_US), > }; > > static void cuda_class_init(ObjectClass *oc, const void *data) Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> ATB, Mark.
diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c index ccb3e1d74b..f06583377a 100644 --- a/hw/misc/macio/cuda.c +++ b/hw/misc/macio/cuda.c @@ -535,7 +535,6 @@ static void cuda_realize(DeviceState *dev, Error **errp) s->tick_offset = (uint32_t)mktimegm(&tm) + RTC_OFFSET; s->sr_delay_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, cuda_set_sr_int, s); - s->sr_delay_ns = 20 * SCALE_US; adb_register_autopoll_callback(adb_bus, cuda_adb_poll, s); } @@ -557,6 +556,8 @@ static void cuda_init(Object *obj) static const Property cuda_properties[] = { DEFINE_PROP_UINT64("timebase-frequency", CUDAState, tb_frequency, 0), + DEFINE_PROP_UINT64("x-sr-delay-ns", CUDAState, sr_delay_ns, + 20 * SCALE_US), }; static void cuda_class_init(ObjectClass *oc, const void *data)