Re: calibrate_delay function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Can you check to see if you are getting timer interrupts

thanks,
Manish Lachwani

Ashlesha Shintre wrote:
start_kernel() calls calibrate_delay() which can be found in init/calibrate.c

Thanks, I did find it and put in a few printk s to debug the problem.

i have pasted part of the calibrate_delay function where the kernel gets stuck..
It is getting stuck at the second while loop where it goes into an infinite loop!
the value of ash_count keeps incrementing and thats all i see in the log buffer!

i can see why the kernel is stuck -- its because ticks=jiffies is the command just before infinitely looping based on the condition that ticks==jiffies!
Am I not looking in the right place?

Regards,
Ashlesha.
 printk(KERN_DEBUG "Calibrating delay loop... ");
                while ((loops_per_jiffy <<= 1) != 0) {
                        printk("within the while loop\n");
                        /* wait for "start of" clock tick */
                        ticks = jiffies;
                        while (ticks == jiffies)
                                printk("%d\n",++ash_count);
                                /* nothing ; infinite loop, control never comes out of here*/
                        /* Go .. */

On Tue, 2006-10-10 at 15:38 -0700, mlachwani wrote:
Ashlesha Shintre wrote:
Hi,
I m working on the Encore M3 board that has the AU1500 MIPS processor on
it.  I aim to port the 2.6 linux kernel to the board which is already
supported in the 2.4 kernel.

The start_kernel function in linux/init/main.c file, calls a function
calibrate_delay found in the arch/frv/kernel/setup.c file.  Why does the
kernel call this function which is a part of the Fujitsu FR-V
architecture?
When I build the image, this is the point where the kernel is stuck and
the last contents of the log buffer show the following printk message
from the calibrate_delay function:


Calibrating delay loop...
Thanks,
Ashlesha.





start_kernel() calls calibrate_delay() which can be found in init/calibrate.c

thanks,
Manish Lachwani




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux