Hi Tony - thanks for the response... appreciate this. If you follow register_percpu_irq you will discover it does not operate on CPU0 and the line ' ia64_mca_cmc_vector_setup()' operates on the current cpu which is typically not CPU0. It took some hacks in my kernel to prove this and ultimately show CPU CMCV is always 0x0. smp_callin looks like the routine to iniatialize the vector table and the CMCI vector as well when the cpu goes online. However smp_callin is not called for the BP. Thanks - Fred -----Original Message----- From: Tony Luck [mailto:tony.luck@xxxxxxxxx] Sent: Monday, March 11, 2013 5:30 PM To: Hartnett, Fred Cc: linux-ia64@xxxxxxxxxxxxxxx Subject: Re: CMCI vector not initialized on BP On Tue, Mar 5, 2013 at 3:05 PM, Hartnett, Fred <fred.hartnett@xxxxxx> wrote: > but the BP vector is not initialized since the BP is already online ... > Is this by design or an oops? Looks like we handle BSP in ia64_mca_late_init() [see below]. Are you seeing something that indicates that this isn't doing what the comment says it is doing? -Tony static int __init ia64_mca_late_init(void) { if (!mca_init) return 0; /* * Configure the CMCI/P vector and handler. Interrupts for CMC are * per-processor, so AP CMC interrupts are setup in smp_callin() (smpboot.c). */ register_percpu_irq(IA64_CMC_VECTOR, &cmci_irqaction); register_percpu_irq(IA64_CMCP_VECTOR, &cmcp_irqaction); ia64_mca_cmc_vector_setup(); /* Setup vector on BSP */ -- To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html