|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Qemu-devel] [PATCH 1/4] xen: introduce mc146818rtcxen
On 11/18/2011 05:46 AM, Stefano Stabellini wrote: On Tue, 15 Nov 2011, Stefano Stabellini wrote:On Tue, 15 Nov 2011, Anthony Liguori wrote:On 11/15/2011 08:51 AM, stefano.stabellini@xxxxxxxxxxxxx wrote:From: Stefano Stabellini<stefano.stabellini@xxxxxxxxxxxxx> Xen doesn't need full RTC emulation in Qemu because the RTC is already emulated by the hypervisor. In particular we want to avoid the timers initialization so that Qemu doesn't need to wake up needlessly. Signed-off-by: Stefano Stabellini<stefano.stabellini@xxxxxxxxxxxxx>Yuck. There's got to be a better way to do this.Yeah, it is pretty ugly, I was hoping in some good suggestions to improve this patch :)I think it would be better to name timers and then in Xen specific machine code, disable the RTC timers.Good idea! I was thinking that I could implement an rtc_stop function in mc146818rtc.c that stops and frees the timers. Now the problem is that from xen-all.c I cannot easily find the ISADevice instance to pass to rtc_stop. Do you think it would be reasonable to call rtc_stop from pc_basic_device_init, inside the same if (!xen_available()) introduce by the next patch? Otherwise I could implement functions to walk the isa bus, similarly to pci_for_each_device.ping? Thinking more about it, I think this entire line of thinking is wrong (including mine) :-) The problem you're trying to solve is that the RTC fires two 1 second timers regardless of whether the guest is reading the wall clock time, right? And since wall clock time is never read from the QEMU RTC in Xen, it's a huge waste? The Right Solution would be to modify the RTC emulation such that it did a qemu_get_clock() during read of the CMOS registers in order to ensure the time was up to date (instead of using 1 second timers). Then the timers wouldn't even exist anymore. Regards, Anthony Liguori
_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |