On Mon, Apr 15, 2013 at 11:38:45AM +0200, Igor Mammedov wrote: [...] > > > > > > If you insist into making the mc146818rtc device take care of > > > maintaining the 0x5f value by itself, why not doing: > > > > > > s->cmos_data[0x5f] = smp_cpus - 1; > > > > > > inside rtc_initfn() instead of pc_cmos_init() as well? > > Device is used not only by target-i386. > > Right way would be to redesign rtc_init() and rtc_initfn() and it would be > > quite an intrusive patch. > > > > That said it looks like current patch is incorrect if other targets > > are considered, where s->cmos_data[0x5f] doesn't mean smp_cpus - 1. That > > looks like a good reason to place notifier into pc.c and make it board > > specific. I'll redo it for the next respin. > > > On the other hand, it probably would be better to make it a method and > override it in pc.c
I don't see it as a feature of the mc146818rtc chip itself, but just something that the PC board does with the chip when stuff happens. So I wouldn't try to make it a method of mc146818rtc, but just something handled externally from the chip, entirely in the PC code. -- Eduardo