RE: [PATCH][2.6][2/5]Support for HPET based timer

From: Mikael Pettersson
Date: Tue Aug 26 2003 - 16:51:29 EST


On Tue, 26 Aug 2003 11:31:16 -0700, "Pallipadi, Venkatesh" wrote:
> This is an update on the option of using some sort of early_ioremap in
>place of fixmap for
>HPET timers.
>
>Problem Description:
> The requirement from HPET side is, we need to map HPET physical
>address during timer_init()
>routine and also during any read/write HPET addresses. We need to have
>this mapping kind of
>permanently, as we will do HPET reads/writes during every timer
>interrupt and also during
>every gettimeofday (if we don't use tsc timer).
> And the timer_init() happens before mem_init() (but after paging
>init()), so we cannot
>directly use ioremap(). Current implementation is using a separate
>fixmap region for HPET.
...
>The question I have is,
>- Is it really worth to move from the current fixmap implementation to
>bt_ioremap/ioremap
>combination, given all the changes that is required?
>- Isn't current implementation (using own fixmap) a cleaner way to do
>it? Only drawback
>I see is it consumes one page in virtual memory when HPET is configured,
>irrespective of
>HPET is used at run time or not.

As long as you _must_ map the HPET before ioremap() is working,
and you also must have a permanent mapping, then grabbing a fixmap
page is IMO the cleanest solution. This is for example how the
local APIC mapping is handled. boot/bt ioremap are as you noticed
for temporary mappings only.

However, dynamically migrating the timer to HPET after mem_init()
would be even better, since that avoids the problem altogether.

/Mikael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/