Re: [PATCH 05/10] hw/timer/hpet: Remove HPETState::hpet_offset_saved field
Thomas Huth <[email protected]> Thu, 5 Mar 2026 08:42:13 +0100
| Newsgroups | org.nongnu.qemu-rust,org.nongnu.qemu-devel |
|---|---|
| Message-ID | <[email protected]> |
On 02/05/2025 01.01, Philippe Mathieu-Daudé wrote: > The HPETState::hpet_offset_saved boolean was only set in the > hw_compat_2_11[] array, via the 'hpet-offset-saved=false' > property. We removed all machines using that array, lets remove > that property and all the code around it. > > Signed-off-by: Philippe Mathieu-Daudé <[email protected]> > --- > hw/timer/hpet.c | 9 +-------- > rust/hw/timer/hpet/src/hpet.rs | 9 --------- > 2 files changed, 1 insertion(+), 17 deletions(-) > > diff --git a/hw/timer/hpet.c b/hw/timer/hpet.c > index d1b7bc52b7b..47b8fc0d880 100644 > --- a/hw/timer/hpet.c > +++ b/hw/timer/hpet.c > @@ -71,7 +71,6 @@ struct HPETState { > > MemoryRegion iomem; > uint64_t hpet_offset; > - bool hpet_offset_saved; > qemu_irq irqs[HPET_NUM_IRQ_ROUTES]; > uint32_t flags; > uint8_t rtc_irq_level; > @@ -264,11 +263,6 @@ static int hpet_post_load(void *opaque, int version_id) > t->cmp64 = hpet_calculate_cmp64(t, s->hpet_counter, t->cmp); > t->last = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) - NANOSECONDS_PER_SECOND; > } > - /* Recalculate the offset between the main counter and guest time */ > - if (!s->hpet_offset_saved) { > - s->hpet_offset = ticks_to_ns(s->hpet_counter) > - - qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); > - } > > return 0; > } > @@ -277,7 +271,7 @@ static bool hpet_offset_needed(void *opaque) > { > HPETState *s = opaque; > > - return hpet_enabled(s) && s->hpet_offset_saved; > + return hpet_enabled(s); > } > > static bool hpet_rtc_irq_level_needed(void *opaque) > @@ -733,7 +727,6 @@ static const Property hpet_device_properties[] = { > DEFINE_PROP_UINT8("timers", HPETState, num_timers, HPET_MIN_TIMERS), > DEFINE_PROP_BIT("msi", HPETState, flags, HPET_MSI_SUPPORT, false), > DEFINE_PROP_UINT32(HPET_INTCAP, HPETState, intcap, 0), > - DEFINE_PROP_BOOL("hpet-offset-saved", HPETState, hpet_offset_saved, true), > }; > > static void hpet_device_class_init(ObjectClass *klass, const void *data) > diff --git a/rust/hw/timer/hpet/src/hpet.rs b/rust/hw/timer/hpet/src/hpet.rs > index cbd2ed4f6bf..9e681391176 100644 > --- a/rust/hw/timer/hpet/src/hpet.rs > +++ b/rust/hw/timer/hpet/src/hpet.rs > @@ -544,7 +544,6 @@ pub struct HPETState { > > /// Offset of main counter relative to qemu clock. > hpet_offset: BqlCell<u64>, > - hpet_offset_saved: bool, > > irqs: [InterruptSource; HPET_NUM_IRQ_ROUTES], > rtc_irq_level: BqlCell<u32>, > @@ -885,14 +884,6 @@ impl ObjectImpl for HPETState { > u32, > default = 0 > ), > - qemu_api::define_property!( > - c_str!("hpet-offset-saved"), > - HPETState, > - hpet_offset_saved, > - unsafe { &qdev_prop_bool }, > - bool, > - default = true > - ), > } > > impl DeviceImpl for HPETState { Reviewed-by: Thomas Huth <[email protected]>