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

From: Peter Keilty
Date: Fri Apr 27 2007 - 11:46:37 EST


Daniel Walker wrote:

On Fri, 2007-04-27 at 10:38 -0400, Peter Keilty wrote:


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.



There's another spot that should use CLOCKSOURE_MASK() in the hpet I
think .


Correct that was change in patch 3 also.







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 */
+#endif




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.



There is a read(), and a vread() did you modify the slow syscall path to
use the vread()?


I miss type, read().

Daniel



-
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/