Hi Guillaume, I have tried with your suggestions. But I did not find arch/ppc/syslib/m8xx_setup.c as you said, instead I found arch/ppc/kernel/m8xx_setup.c. I have modified as you showed me, but the result was always the same. It means that boot hangs after printing "Calibrating delay loop...".
You can find what I have modified in the attached files (time.c in arch/ppc/kernel, m8xx_setup.c in arch/ppc/kernel). Do you have any idea? Thank you very much. Binh Nguyen --- "Autran, Guillaume" <gautran at mrv.com> wrote: > 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. > ___________________________________________________________ WIN ONE OF THREE YAHOO! VESPAS - Enter now! - http://uk.cars.yahoo.com/features/competitions/vespa.html -------------- next part -------------- A non-text attachment was scrubbed... Name: time.c Type: text/x-c Size: 16570 bytes Desc: 2251979003-time.c Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20051129/6c11b6ef/attachment.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: m8xx_setup.c Type: text/x-c Size: 13503 bytes Desc: 980338913-m8xx_setup.c Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20051129/6c11b6ef/attachment-0001.bin