kernels/linux-2.4.0/arch/ia64/kernel/mca.c
/*
 * ia64_mca_wakeup_ipi_wait
 *	Wait for the inter-cpu interrupt to be sent by the
 * 	monarch processor once it is done with handling the
 *	MCA.
 * Inputs 
 *	None
 * Outputs
 *	None
 */
ia64_mca_wakeup_ipi_wait
Wait for the inter-cpu interrupt to be sent by the
monarch processor once it is done with handling the
MCA.
Inputs
None
Outputs
None
ia64_mca_wakeup_ipi_wait Wait for the inter - cpu interrupt to be sent by the monarch processor once it is done with handling the MCA . Inputs None Outputs None
void
ia64_mca_wakeup_ipi_wait(void)
{
	int	irr_num = (IA64_MCA_WAKEUP_INT_VECTOR >> 6);
	int	irr_bit = (IA64_MCA_WAKEUP_INT_VECTOR & 0x3f);
	u64	irr = 0;
	do {
		switch(irr_num) {
		case 0:
			irr = ia64_get_irr0();
			break;
		case 1:
			irr = ia64_get_irr1();
			break;
		case 2:
			irr = ia64_get_irr2();
			break;
		case 3:
			irr = ia64_get_irr3();
			break;
		}
	} while (!(irr & (1 << irr_bit))) ;
}
void ia64_mca_wakeup_ipi_wait ( void ) { int irr_num = ( IA64_MCA_WAKEUP_INT_VECTOR >> 6 ) ; int irr_bit = ( IA64_MCA_WAKEUP_INT_VECTOR & 0x3f ) ; u64 irr = 0 ; do { switch ( irr_num ) { case 0 : irr = ia64_get_irr0 ( ) ; break ; case 1 : irr = ia64_get_irr1 ( ) ; break ; case 2 : irr = ia64_get_irr2 ( ) ; break ; case 3 : irr = ia64_get_irr3 ( ) ; break ; } } while ( ! ( irr & ( 1 << irr_bit ) ) ) ; }
ia64_mca_wakeup_ipi_wait
      Wait for the inter-cpu interrupt to be sent by the
      monarch processor once it is done with handling the
      MCA.
ia64_mca_wakeup_ipi_wait Wait for the inter - cpu interrupt to be sent by the monarch processor once it is done with handling the MCA .