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 */ +#endifCould 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 onuser stack, between user/kernel state. And if the the fast path has to fallbackto 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-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |