All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marco Gerards <mgerards@xs4all.nl>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: Higher resolution timers
Date: Fri, 23 May 2008 13:48:27 +0200	[thread overview]
Message-ID: <87fxs98cms.fsf@xs4all.nl> (raw)
In-Reply-To: <20080512093354.2770e1cf@gibibit.com> (Colin D. Bennett's message of "Mon, 12 May 2008 09:33:54 -0700")

Hi Colin,

Colin D Bennett <colin@gibibit.com> writes:

> To implement a nice GUI with some animations, it will be important to
> have a timer with a better resolution than 1/18 second (which appears
> to be the current GRUB timer resolution on the PC).

Such patch will me more than welcome.  We actually need this to get
the ATA driver working on Coreboot.  Furthermore, there are many other
things we will need this for.  I hope you can, when you have such a
thing, can send in a patch for this?  This will avoid duplicate work
because we really need this soon.

I expect I will need this for USB as well.

> What would be the best way to do this? Possibilities that I am aware of
> are: 
>  * RDTSC instruction (must calibrate with RTC at startup?)
>  * HPET (complex to use?)
>  * RTC (can we set the timer interrupt rate to >18 Hz?)
>
> Does anyone have any thoughts on these options?
>
> I think that using the TSC (w/ RDTSC instruction) and calibrating it
> with a quick 2-3 RTC tick loop at startup might be the easiest option.

Only something that really returns a time seems like a good choise to
me.  AFAIK RDTSC returns clock cycles that passed since the system was
switched on.  This means that code will run faster on a processor with
a higher clock speed.  Am I mistaken?

So I prefer something that can be used to wait a microsecond and not a
certain amount of clock cycles.  Using the RTC seems a good choice,
but we have to keep in mind the BIOS uses it as well.

Isn't HPET only available on newer processors?

--
Marco




  parent reply	other threads:[~2008-05-23 11:45 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-12 16:33 Higher resolution timers Colin D Bennett
2008-05-14 16:26 ` Vesa Jääskeläinen
2008-05-18 16:27 ` Vesa Jääskeläinen
2008-05-20 17:20   ` Colin D Bennett
2008-05-20 17:46 ` Colin D Bennett
2008-05-23 11:55   ` Marco Gerards
2008-05-23 14:28     ` Colin D Bennett
2008-05-24  9:23       ` Marco Gerards
2008-05-28 13:43         ` Robert Millan
2008-05-23 11:48 ` Marco Gerards [this message]
2008-05-24 15:25   ` Vesa Jääskeläinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fxs98cms.fsf@xs4all.nl \
    --to=mgerards@xs4all.nl \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.