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

Re: [microblaze-uclinux] uclinux port to Multimedia board



Hi,

Christopher John Comis wrote:
> Hi Didier,
> 
> You can look at the interrupt controller status register and verify that
> when the timer calls an interrupt, this interrupt is passed through the
> interrupt controller to the microblaze.  The files microblaze_intc.c and
> microblaze_intc.h give some examples on how to access the interrupt
> controller.
> 

I modified /linux-2.4.x/init/main.c for reading the active irqs.

/linux-2.4.x/init/main.c :

  printk("Calibrating delay loop... ");
         while (loops_per_jiffy <<= 1) {
                  /* wait for "start of" clock tick */
         /*modif ddz*/
         printk("DDZ boucle while 0\n");
                 ticks = jiffies;
 
 

/*modif ddz*/
printk("DDZ main.c active irq : %li\n",microblaze_intc_get_active_irq());
if(microblaze_intc_irq_enabled (0))
         printk("DDZ main.c irq 0 enabled\n");
 
 

if(microblaze_intc_irq_enabled (1))
         printk("DDZ main.c irq 1 enabled\n");
 
 

if(microblaze_intc_irq_enabled (2))
         printk("DDZ main.c irq 2 enabled\n");
 
 

 
 

         /*modif ddz*/
         printk("valeur de ticks : %li\n", ticks);
                 while (ticks == jiffies)
                         /* nothing*/ ;
                  /*Go .. */

and here's what i get in my bootlog :

Calibrating delay loop... DDZ boucle while 0
DDZ INtc has IVR             (comes from microblaze_intc.c)
DDZ microblaze_intc_get_active_irq irq returned : 0
DDZ main.c active irq : 0    (the timer interrupt is active)
DDZ microblaze_intc_irq_enabled (comes from microblaze_intc.c)
DDZ irq_mask & (1 << irq) : 1   (")
DDZ main.c irq 0 enabled        (the if on main.c)
DDZ microblaze_intc_irq_enabled
DDZ irq_mask & (1 << irq) : 0
DDZ microblaze_intc_irq_enabled
DDZ irq_mask & (1 << irq) : 0
valeur de ticks : 0             (ticks is allways 0)


in the microblaze_timer.c file i tested the timer, the funciton 
microblaze_intc_irq_pending is called when the timer has made an interrupt.

Thanks,
Didier

___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/