On 02/23/2012 02:49 AM, Zhang, Yang Z wrote: >> Currently they hang very early because UF is not set. I >> attempted to fix that, but ran into other problems. UIP seems >> not to be really in sync with the update interrupt, because the >> 500 ms update tests pass when testing UIP, but not when testing >> UF. (Another reason why I wanted to have the 500 ms rule: it >> improves reliability of tests!) > > The current logic is not correct: It check the UIP with rtc clock and > use a timer to set UF bit. Since the delay of the timer, those two do > not in sync in some cases. Now, I separate UF logic from update > interrupt. And base it on UIP. With this changed, it works. I'm not sure I understand, UIP and UF are indeed the same logic (UIP is 1 between the rising and falling edge; UF becomes 1 on the falling edge), but they are also the same thing as the interrupt. UIE only says whether an interrupt is raised on the rising edge of UF. So, merging the handling of UF and UIP makes sense, but separating the two from the interrupt seems wrong. Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html