void do_IPI(struct pt_regs *regs) 
asmlinkage void do_IPI(struct pt_regs *regs) 
void do_IPI(struct pt_regs *regs){	unsigned int cpu = smp_processor_id();	struct ipi_data *ipi = &per_cpu(ipi_data, cpu);	ipi->ipi_count++;	for (;;) {		unsigned long msgs;		spin_lock(&ipi->lock);		msgs = ipi->bits;		ipi->bits = 0;		spin_unlock(&ipi->lock);		if (!msgs)			break;		do {			unsigned nextmsg;			nextmsg = msgs & -msgs;			msgs &= ~nextmsg;			nextmsg = ffz(~nextmsg);			switch (nextmsg) {			case IPI_TIMER:				ipi_timer(regs);				break;			case IPI_RESCHEDULE:				/*				 * nothing more to do - eveything is				 * done on the interrupt return path				 */				break;			case IPI_CALL_FUNC:				ipi_call_function(cpu);				break;			case IPI_CPU_STOP:				ipi_cpu_stop(cpu);				break;			default:				printk(KERN_CRIT "CPU%u: Unknown IPI message 0x%x\n",				       cpu, nextmsg);				break;			}		} while (msgs);	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/2c250134952aac06edbdce5e61f0bd8737dcf3ad/smp.c/clean/arch/arm/kernel/smp.c