[SeaBIOS] [PATCH] tsc: use kvmclock for calibration

Marcelo Tosatti mtosatti at redhat.com
Fri Aug 10 23:26:05 CEST 2012


On Fri, Aug 10, 2012 at 10:10:27AM +0200, Gerd Hoffmann wrote:
>   Hi,
> 
> >>>   (1) Use this patch (with alignment issue fixed of course).
> >>>   (2) Do a full kvmclock implementation.  Feels a bit like overkill.
> >>>   (3) SeaBIOS can fallback to the PIT for timing on machines which
> >>>       have no TSC.  We could do that too in case we detect kvm ...
> >>
> >> What sort of timeouts are these?  If seconds, maybe the rtc would be best.
> > 
> > I vote for 3 so nobody has to maintain kvmclock code in SeaBIOS and Gerd
> > can fix the in-kernel PIT issues with GRUB (see Michaels message) while testing.
> 
> (2) turned out to be not too bad when taking a shortcut: Go through an
> enable/disable cycle each time we read the clock, then just grab
> system_time.  Not that efficient, but should be ok for seabios.  Usually
> it checks the clock when sitting around idle, waiting for something to
> happen.  And it simplifies the implementation alot as we can just skip
> all the tsc frequency & delta calculations.
> 
> Draft patch attached.  Comments?

Given the history of problems with kvmclock, would rather see it not
being used for delays, if possible. Your shortcut gets rid of a class of
problems, but there might be others (...).

Isnt pmtimer ioport usable? 14MHz.

Error handling in kvmclock_init is awkward.

Thanks




More information about the SeaBIOS mailing list