Message ID | 20170510083259.3900-5-xiaoguangrong@tencent.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 05/10/2017 05:32 AM, guangrong.xiao@gmail.com wrote: > From: Xiao Guangrong <xiaoguangrong@tencent.com> > > If the code purely depends on LOST_TICK_POLICY_SLEW, we can simply > drop '#ifdef TARGET_I386' as only x86 can enable this tick policy > > Signed-off-by: Xiao Guangrong <xiaoguangrong@tencent.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > hw/timer/mc146818rtc.c | 16 +++------------- > 1 file changed, 3 insertions(+), 13 deletions(-) > > diff --git a/hw/timer/mc146818rtc.c b/hw/timer/mc146818rtc.c > index 9810bd5..104a26d 100644 > --- a/hw/timer/mc146818rtc.c > +++ b/hw/timer/mc146818rtc.c > @@ -112,7 +112,6 @@ static uint64_t get_guest_rtc_ns(RTCState *s) > guest_clock - s->last_update + s->offset; > } > > -#ifdef TARGET_I386 > static void rtc_coalesced_timer_update(RTCState *s) > { > if (s->irq_coalesced == 0) { > @@ -126,6 +125,7 @@ static void rtc_coalesced_timer_update(RTCState *s) > } > } > > +#ifdef TARGET_I386 > static void rtc_coalesced_timer(void *opaque) > { > RTCState *s = opaque; > @@ -198,7 +198,6 @@ periodic_timer_update(RTCState *s, int64_t current_time, uint32_t old_period) > assert(lost_clock >= 0); > } > > -#ifdef TARGET_I386 > /* > * recalculate the coalesced irqs for two reasons: > * a) the lost_clock is more that a period, i,e. the timer > @@ -233,9 +232,7 @@ periodic_timer_update(RTCState *s, int64_t current_time, uint32_t old_period) > s->irq_coalesced, old_period, s->period); > rtc_coalesced_timer_update(s); > } > - } else > -#endif > - { > + } else { > /* > * no way to compensate the interrupt if LOST_TICK_POLICY_SLEW > * is not used, we should make the time progress anyway. > @@ -250,9 +247,7 @@ periodic_timer_update(RTCState *s, int64_t current_time, uint32_t old_period) > RTC_CLOCK_RATE) + 1; > timer_mod(s->periodic_timer, s->next_periodic_time); > } else { > -#ifdef TARGET_I386 > s->irq_coalesced = 0; > -#endif > timer_del(s->periodic_timer); > } > } > @@ -841,13 +836,11 @@ static int rtc_post_load(void *opaque, int version_id) > } > } > > -#ifdef TARGET_I386 > if (version_id >= 2) { > if (s->lost_tick_policy == LOST_TICK_POLICY_SLEW) { > rtc_coalesced_timer_update(s); > } > } > -#endif > return 0; > } > > @@ -904,11 +897,10 @@ static void rtc_notify_clock_reset(Notifier *notifier, void *data) > rtc_set_date_from_host(ISA_DEVICE(s)); > periodic_timer_update(s, now, 0); > check_update_timer(s); > -#ifdef TARGET_I386 > + > if (s->lost_tick_policy == LOST_TICK_POLICY_SLEW) { > rtc_coalesced_timer_update(s); > } > -#endif > } > > /* set CMOS shutdown status register (index 0xF) as S3_resume(0xFE) > @@ -929,12 +921,10 @@ static void rtc_reset(void *opaque) > > qemu_irq_lower(s->irq); > > -#ifdef TARGET_I386 > if (s->lost_tick_policy == LOST_TICK_POLICY_SLEW) { > s->irq_coalesced = 0; > s->irq_reinject_on_ack_count = 0; > } > -#endif > } > > static const MemoryRegionOps cmos_ops = { >
diff --git a/hw/timer/mc146818rtc.c b/hw/timer/mc146818rtc.c index 9810bd5..104a26d 100644 --- a/hw/timer/mc146818rtc.c +++ b/hw/timer/mc146818rtc.c @@ -112,7 +112,6 @@ static uint64_t get_guest_rtc_ns(RTCState *s) guest_clock - s->last_update + s->offset; } -#ifdef TARGET_I386 static void rtc_coalesced_timer_update(RTCState *s) { if (s->irq_coalesced == 0) { @@ -126,6 +125,7 @@ static void rtc_coalesced_timer_update(RTCState *s) } } +#ifdef TARGET_I386 static void rtc_coalesced_timer(void *opaque) { RTCState *s = opaque; @@ -198,7 +198,6 @@ periodic_timer_update(RTCState *s, int64_t current_time, uint32_t old_period) assert(lost_clock >= 0); } -#ifdef TARGET_I386 /* * recalculate the coalesced irqs for two reasons: * a) the lost_clock is more that a period, i,e. the timer @@ -233,9 +232,7 @@ periodic_timer_update(RTCState *s, int64_t current_time, uint32_t old_period) s->irq_coalesced, old_period, s->period); rtc_coalesced_timer_update(s); } - } else -#endif - { + } else { /* * no way to compensate the interrupt if LOST_TICK_POLICY_SLEW * is not used, we should make the time progress anyway. @@ -250,9 +247,7 @@ periodic_timer_update(RTCState *s, int64_t current_time, uint32_t old_period) RTC_CLOCK_RATE) + 1; timer_mod(s->periodic_timer, s->next_periodic_time); } else { -#ifdef TARGET_I386 s->irq_coalesced = 0; -#endif timer_del(s->periodic_timer); } } @@ -841,13 +836,11 @@ static int rtc_post_load(void *opaque, int version_id) } } -#ifdef TARGET_I386 if (version_id >= 2) { if (s->lost_tick_policy == LOST_TICK_POLICY_SLEW) { rtc_coalesced_timer_update(s); } } -#endif return 0; } @@ -904,11 +897,10 @@ static void rtc_notify_clock_reset(Notifier *notifier, void *data) rtc_set_date_from_host(ISA_DEVICE(s)); periodic_timer_update(s, now, 0); check_update_timer(s); -#ifdef TARGET_I386 + if (s->lost_tick_policy == LOST_TICK_POLICY_SLEW) { rtc_coalesced_timer_update(s); } -#endif } /* set CMOS shutdown status register (index 0xF) as S3_resume(0xFE) @@ -929,12 +921,10 @@ static void rtc_reset(void *opaque) qemu_irq_lower(s->irq); -#ifdef TARGET_I386 if (s->lost_tick_policy == LOST_TICK_POLICY_SLEW) { s->irq_coalesced = 0; s->irq_reinject_on_ack_count = 0; } -#endif } static const MemoryRegionOps cmos_ops = {