[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC] High resolution time support using x86 TSC
From: |
Marco Gerards |
Subject: |
Re: [RFC] High resolution time support using x86 TSC |
Date: |
Sun, 20 Jul 2008 20:21:28 +0200 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) |
Colin D Bennett <address@hidden> writes:
> Hi Marco,
>
> On Thu, 03 Jul 2008 20:52:53 +0200
> Marco Gerards <address@hidden> wrote:
>
>> Hi Colin,
>>
>> Colin D Bennett <address@hidden> writes:
>>
>> > I have implemented high resolution time support (through the
>> > new grub_get_time_ms() function) using the RDTSC instruction
>> > available on Pentium and higher x86 CPUs. The TSC value is simply
>> > a 64-bit block cycle counter that is zeroed at bootup, so
>> > grub_main() calls grub_time_init(), which is defined by each
>> > platform. If a platform links to kern/i386/tsc.c, then the
>> > grub_time_init() function from tsc.c is used, which calibrates the
>> > TSC rate and absolute zero reference using the RTC.
>> What if TSC is not available?
>
> I updated the changelog entry to indicate that running on a 386 or 486
> will fail, since TSC is provided in Pentium+. Do we support running on
> 386 or 386? Should I check for this? If so, the code will have to
> change a bit, and be able to select between the generic implementation
> and the TSC implementation at runtime.
>
> I think this would be best done letting the "grub_get_time_ms"
> implementation be selected by setting a function pointer in
> grub_machine_init() depending on the machine's capabilities. I would
> have to significantly re-structure my patch, but it might be
> necessary (and could lead to more understandable code?).
> What do you think?
That would be great. I do not want to drop 486 support just because
of this. You could even drop back to a lower granularity of the timer
or better: submit code that does the trick for the 486 as well.
--
Marco
- Re: [RFC] High resolution time support using x86 TSC, Marco Gerards, 2008/07/03
- Re: [RFC] High resolution time support using x86 TSC, Colin D Bennett, 2008/07/04
- Re: [RFC] High resolution time support using x86 TSC, Colin D Bennett, 2008/07/04
- Re: [RFC] High resolution time support using x86 TSC,
Marco Gerards <=
- Re: [RFC] TSC patch v2, Colin D Bennett, 2008/07/04
- Re: [RFC] TSC patch v2, Marco Gerards, 2008/07/20
- [PATCH] High resolution time/TSC patch v3, Colin D Bennett, 2008/07/28
- Re: [PATCH] High resolution time/TSC patch v3, Robert Millan, 2008/07/28
- Re: [PATCH] High resolution time/TSC patch v3, Marco Gerards, 2008/07/31
- Re: [PATCH] High resolution time/TSC patch v3, Robert Millan, 2008/07/31
- Re: [PATCH] High resolution time/TSC patch v3, Marco Gerards, 2008/07/31