On Mon, 19 Mar 2012, Zhang, Yang Z wrote: > Change DM(date mode) and 24/12 control bit don't affect the internal > registers. It only indicates what format is using for those registers. So we > don't need to update time format when it is modified.
That might be true, but if the user changes format, then issues a read RTC_SECONDS, isn't he going to get the old format, unless we call rtc_copy_date here? > Signed-off-by: Yang Zhang <yang.z.zh...@intel.com> > --- > hw/mc146818rtc.c | 10 +--------- > 1 files changed, 1 insertions(+), 9 deletions(-) > > diff --git a/hw/mc146818rtc.c b/hw/mc146818rtc.c > index a46fdfc..9b49cbc 100644 > --- a/hw/mc146818rtc.c > +++ b/hw/mc146818rtc.c > @@ -252,15 +252,7 @@ static void cmos_ioport_write(void *opaque, uint32_t > addr, uint32_t data) > rtc_set_time(s); > } > } > - if (((s->cmos_data[RTC_REG_B] ^ data) & (REG_B_DM | REG_B_24H)) > && > - !(data & REG_B_SET)) { > - /* If the time format has changed and not in set mode, > - update the registers immediately. */ > - s->cmos_data[RTC_REG_B] = data; > - rtc_copy_date(s); > - } else { > - s->cmos_data[RTC_REG_B] = data; > - } > + s->cmos_data[RTC_REG_B] = data; > rtc_timer_update(s, qemu_get_clock_ns(rtc_clock)); > break; > case RTC_REG_C: > -- > 1.7.1 >