if (vector < 0) panic("%s: out of interrupt vectors!\n", __FUNCTION__); 
iosapic_register_platform_intr (u32 int_type, unsigned int gsi,				int iosapic_vector, u16 eid, u16 id,				unsigned long polarity, unsigned long trigger){	static const char * const name[] = {"unknown", "PMI", "INIT", "CPEI"};	unsigned char delivery;	int vector, mask = 0;	unsigned int dest = ((id << 8) | eid) & 0xffff;	switch (int_type) {	      case ACPI_INTERRUPT_PMI:		vector = iosapic_vector;		/*		 * since PMI vector is alloc'd by FW(ACPI) not by kernel,		 * we need to make sure the vector is available		 */		iosapic_reassign_vector(vector);		delivery = IOSAPIC_PMI;		break;	      case ACPI_INTERRUPT_INIT:		vector = assign_irq_vector(AUTO_ASSIGN);		delivery = IOSAPIC_INIT;		break;	      case ACPI_INTERRUPT_CPEI:		vector = IA64_CPE_VECTOR;		delivery = IOSAPIC_LOWEST_PRIORITY;		mask = 1;		break;	      default:		printk(KERN_ERR "iosapic_register_platform_irq(): invalid int type 0x%x\n", int_type);		return -1;	}	register_intr(gsi, vector, delivery, polarity, trigger);	printk(KERN_INFO "PLATFORM int %s (0x%x): GSI %u (%s, %s) -> CPU %d (0x%04x) vector %d\n",	       int_type < ARRAY_SIZE(name) ? name[int_type] : "unknown",	       int_type, gsi, (trigger == IOSAPIC_EDGE ? "edge" : "level"),	       (polarity == IOSAPIC_POL_HIGH ? "high" : "low"),	       cpu_logical_id(dest), dest, vector);	set_rte(gsi, vector, dest, mask);	return vector;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3b5cc09033f49d004006acf44e5b05036bd46a85/iosapic.c/clean/arch/ia64/kernel/iosapic.c