Hi, I remember there is some race condition before calling set_dec(..) in time.c Basically, what happens is that the external decrementer is set way before the interrupt gets enabled. When we get to enable the interrupt, the decrementer value already reached 0 and wrapped arround (at least in our case). The fix was to comment the line in: arch/ppc/kernel/time.c:330: set_dec(tb_ticks_per_jiffy);
And move it to: arch/ppc/syslib/m8xx_setup.c inside m8xx_calibrate_decr() just before setting up the interrupt for the decrementer. In time.c, you may also need to initialize stamp = get_native_tbl(); as this variable may not have been initialized since you are using an external decrementer. Try that... Guillaume.