case PCI_VENDOR_ID_ATI: /* All timer interrupts on atiixp are doubled. Disable one. */ if (disable_timer_pin_1 == 0) { disable_timer_pin_1 = 1; printk(KERN_INFO "ATI board detected. Disabling timer pin 1.\n"); } return; 
void __init check_ioapic(void) { 	int num,slot,func; 	if (ioapic_force) 		return; 	/* Poor man's PCI discovery */	for (num = 0; num < 32; num++) { 		for (slot = 0; slot < 32; slot++) { 			for (func = 0; func < 8; func++) { 				u32 class;				u32 vendor;				u8 type;				class = read_pci_config(num,slot,func,							PCI_CLASS_REVISION);				if (class == 0xffffffff)					break; 		       		if ((class >> 16) != PCI_CLASS_BRIDGE_PCI)					continue; 				vendor = read_pci_config(num, slot, func, 							 PCI_VENDOR_ID);				vendor &= 0xffff;				switch (vendor) { 				case PCI_VENDOR_ID_VIA:#ifdef CONFIG_GART_IOMMU					if ((end_pfn >= (0xffffffff>>PAGE_SHIFT) ||					     force_iommu) &&					    !iommu_aperture_allowed) {						printk(KERN_INFO    "Looks like a VIA chipset. Disabling IOMMU. Overwrite with \"iommu=allowed\"\n");						iommu_aperture_disabled = 1;					}#endif					return;				case PCI_VENDOR_ID_NVIDIA:#ifdef CONFIG_ACPI					/* All timer overrides on Nvidia				           seem to be wrong. Skip them. */					acpi_skip_timer_override = 1;					printk(KERN_INFO 	     "Nvidia board detected. Ignoring ACPI timer override.\n");#endif					/* RED-PEN skip them on mptables too? */					return;				case PCI_VENDOR_ID_ATI:					/* All timer interrupts on atiixp				           are doubled. Disable one. */					if (disable_timer_pin_1 == 0) {						disable_timer_pin_1 = 1;						printk(KERN_INFO		"ATI board detected. Disabling timer pin 1.\n");					}					return;				} 				/* No multi-function device? */				type = read_pci_config_byte(num,slot,func,							    PCI_HEADER_TYPE);				if (!(type & 0x80))					break;			} 		}	}} 
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/1619cca2921f6927f4240e03f413d4165c7002fc/io_apic.c/buggy/arch/x86_64/kernel/io_apic.c