Re: [PATCH 1/3] ia64: convert to use clocksource code

From: Peter Keilty
Date: Fri Apr 27 2007 - 10:42:28 EST

Daniel Walker wrote:

On Thu, 2007-04-26 at 16:26 -0400, Peter Keilty wrote:

+ .mask = (1LL << 40) - 1,
+ .mult = 0, /*to be caluclated*/
+ .shift = 16,
+ .is_continuous = 1,

You should use CLOCKSOURCE_MASK() here ..

It is correct in patch 3, I believe.

diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index daa4940..a20b4d6 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -61,6 +61,9 @@ struct clocksource {
u32 shift;
unsigned long flags;
cycle_t (*vread)(void);
+#ifdef CONFIG_IA64
+ void *fsys_mmio_ptr; /* used by fsyscall asm code */

Could you explain in detail why this is needed?

This ptr is needed to hold the mmio address to read the cycle value.
The fast ia64 path utilizies a special gate page which can allow user
code to execute small amount of kernel code, normal calling a function
not done and so the address is need. The fast syscall path executes on
user stack, between user/kernel state. And if the the fast path has to fallback
to the slow syscall code the vread will be needed and used.
Hope this helps.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at