Hi Dave

 

I tried the irq command on an ARM vmcore file with a fairly new kernel (3.4.0) and it did not work.

 

crash> irq

irq: cannot determine number of IRQs

 

The problem is in arm.c

 

                   if (symbol_exists("irq_desc"))

                             ARRAY_LENGTH_INIT(machdep->nr_irqs, irq_desc,

                                                  "irq_desc", NULL, 0);

 

as the symbol irq_desc does not exist any longer. Looking at x86_64.c I changed this to

 

                   if (symbol_exists("irq_desc"))

                             ARRAY_LENGTH_INIT(machdep->nr_irqs, irq_desc,

                                                  "irq_desc", NULL, 0);

                   else if (kernel_symbol_exists("nr_irqs"))

                             get_symbol_data("nr_irqs", sizeof(unsigned int),

                                       &machdep->nr_irqs);

 

and then the command worked as it should again.

 

Jan

 

Jan Karlsson

Senior Software Engineer

MIB

 

Sony Mobile Communications

Tel: +46703062174

sonymobile.com

 

SONY make.believe