# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/04/16 20:13:39-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# MAINTAINERS
#   2004/04/16 20:13:37-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/04/16 22:07:00-04:00 len.brown@intel.com 
#   Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.5
#   into intel.com:/home/lenb/src/linux-acpi-test-2.6.6
# 
# arch/i386/pci/irq.c
#   2004/04/16 22:06:57-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/dmi_scan.c
#   2004/04/16 22:06:57-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/04/16 22:03:45-04:00 len.brown@intel.com 
#   [ACPI] enable 440GX PIRQ router workaround
# 
# arch/i386/pci/irq.c
#   2004/04/16 22:03:06-04:00 len.brown@intel.com +1 -4
#   enable 440GX PIRQ workaround
# 
# arch/i386/kernel/dmi_scan.c
#   2004/04/16 22:03:06-04:00 len.brown@intel.com +0 -70
#   delete broken_pirq() -- it is now handled in pirq router code.
# 
# ChangeSet
#   2004/04/14 13:15:03-04:00 len.brown@intel.com 
#   [ACPI] fix x86_64 mis-merge
# 
# arch/x86_64/kernel/Makefile
#   2004/04/14 13:08:40-04:00 len.brown@intel.com +1 -1
#   fix mis-merge
# 
# ChangeSet
#   2004/04/13 23:21:22-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# arch/x86_64/kernel/setup.c
#   2004/04/13 23:21:20-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/04/13 17:01:02-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# MAINTAINERS
#   2004/04/13 17:00:59-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/04/12 16:55:52-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# arch/x86_64/kernel/setup.c
#   2004/04/12 16:55:49-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/mpparse.c
#   2004/04/12 16:55:49-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/setup.c
#   2004/04/12 16:55:49-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# MAINTAINERS
#   2004/04/12 16:55:49-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/04/02 11:16:37-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# arch/i386/kernel/setup.c
#   2004/04/02 11:16:34-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/29 17:50:22-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# MAINTAINERS
#   2004/03/29 17:50:19-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/23 02:57:13-08:00 akpm@bix.(none) 
#   Merge http://linux-acpi.bkbits.net/linux-acpi-test-2.6.5
#   into bix.(none):/usr/src/bk-acpi
# 
# arch/x86_64/kernel/setup.c
#   2004/03/23 02:57:10-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/mpparse.c
#   2004/03/23 02:57:10-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/setup.c
#   2004/03/23 02:57:10-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/20 23:31:09-08:00 akpm@bix.(none) 
#   Merge http://linux-acpi.bkbits.net/linux-acpi-test-2.6.5
#   into bix.(none):/usr/src/bk-acpi
# 
# arch/x86_64/kernel/setup.c
#   2004/03/20 23:31:06-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/mpparse.c
#   2004/03/20 23:31:06-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/setup.c
#   2004/03/20 23:31:06-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/20 13:11:13-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# arch/x86_64/kernel/setup.c
#   2004/03/20 13:11:10-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/mpparse.c
#   2004/03/20 13:11:10-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/19 09:57:54-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# arch/i386/kernel/setup.c
#   2004/03/19 09:57:51-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/17 10:56:26-08:00 akpm@bix.(none) 
#   Merge http://linux-acpi.bkbits.net/linux-acpi-test-2.6.5
#   into bix.(none):/usr/src/bk-acpi
# 
# arch/x86_64/kernel/setup.c
#   2004/03/17 10:56:23-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/16 20:07:13-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# MAINTAINERS
#   2004/03/16 20:07:06-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/14 02:35:58-08:00 akpm@bix.(none) 
#   Merge http://linux-acpi.bkbits.net/linux-acpi-test-2.6.5
#   into bix.(none):/usr/src/bk-acpi
# 
# MAINTAINERS
#   2004/03/14 02:35:43-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/12 10:33:53-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# MAINTAINERS
#   2004/03/12 10:33:46-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/12 00:33:17-08:00 akpm@bix.(none) 
#   Merge http://linux-acpi.bkbits.net/linux-acpi-test-2.6.4
#   into bix.(none):/usr/src/bk-acpi
# 
# MAINTAINERS
#   2004/03/12 00:33:04-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/06 12:42:53-08:00 akpm@mnm.(none) 
#   Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-acpi
# 
# MAINTAINERS
#   2004/03/06 12:42:46-08:00 akpm@mnm.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/05 15:03:13-08:00 akpm@mnm.(none) 
#   Merge http://linux-acpi.bkbits.net/linux-acpi-test-2.6.4
#   into mnm.(none):/usr/src/bk-acpi
# 
# MAINTAINERS
#   2004/03/05 15:03:06-08:00 akpm@mnm.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/02 12:01:50-08:00 akpm@mnm.(none) 
#   Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-acpi
# 
# MAINTAINERS
#   2004/03/02 12:01:43-08:00 akpm@mnm.(none) +0 -0
#   Auto merged
# 
diff -Nru a/arch/i386/kernel/dmi_scan.c b/arch/i386/kernel/dmi_scan.c
--- a/arch/i386/kernel/dmi_scan.c	Fri Apr 16 21:01:57 2004
+++ b/arch/i386/kernel/dmi_scan.c	Fri Apr 16 21:01:57 2004
@@ -413,30 +413,6 @@
 }
 
 /*
- * The Intel 440GX hall of shame. 
- *
- * On many (all we have checked) of these boxes the $PIRQ table is wrong.
- * The MP1.4 table is right however and so SMP kernels tend to work. 
- */
- 
-static __init int broken_pirq(struct dmi_blacklist *d)
-{
-
-	printk(KERN_INFO " *** Possibly defective BIOS detected (irqtable)\n");
-	printk(KERN_INFO " *** Many BIOSes matching this signature have incorrect IRQ routing tables.\n");
-	printk(KERN_INFO " *** If you see IRQ problems, in particular SCSI resets and hangs at boot\n");
-	printk(KERN_INFO " *** contact your hardware vendor and ask about updates.\n");
-	printk(KERN_INFO " *** Building an SMP kernel may evade the bug some of the time.\n");
-#ifdef CONFIG_X86_IO_APIC
-	{
-		extern int skip_ioapic_setup;
-		skip_ioapic_setup = 0;
-	}
-#endif
-	return 0;
-}
-
-/*
  * ASUS K7V-RM has broken ACPI table defining sleep modes
  */
 
@@ -815,52 +791,6 @@
 			NO_MATCH, NO_MATCH
 			} },
 
-	/* Problem Intel 440GX bioses */
-
-	{ broken_pirq, "SABR1 Bios", {			/* Bad $PIR */
-			MATCH(DMI_BIOS_VENDOR, "Intel Corporation"),
-			MATCH(DMI_BIOS_VERSION,"SABR1"),
-			NO_MATCH, NO_MATCH
-			} },
-	{ broken_pirq, "l44GX Bios", {        		/* Bad $PIR */
-			MATCH(DMI_BIOS_VENDOR, "Intel Corporation"),
-			MATCH(DMI_BIOS_VERSION,"L440GX0.86B.0094.P10"),
-			NO_MATCH, NO_MATCH
-                        } },
-	{ broken_pirq, "l44GX Bios", {        		/* Bad $PIR */
-			MATCH(DMI_BIOS_VENDOR, "Intel Corporation"),
-			MATCH(DMI_BIOS_VERSION,"L440GX0.86B.0115.P12"),
-			NO_MATCH, NO_MATCH
-                        } },
-	{ broken_pirq, "l44GX Bios", {        		/* Bad $PIR */
-			MATCH(DMI_BIOS_VENDOR, "Intel Corporation"),
-			MATCH(DMI_BIOS_VERSION,"L440GX0.86B.0120.P12"),
-			NO_MATCH, NO_MATCH
-                        } },
-	{ broken_pirq, "l44GX Bios", {		/* Bad $PIR */
-			MATCH(DMI_BIOS_VENDOR, "Intel Corporation"),
-			MATCH(DMI_BIOS_VERSION,"L440GX0.86B.0125.P13"),
-			NO_MATCH, NO_MATCH
-			} },
-	{ broken_pirq, "l44GX Bios", {		/* Bad $PIR */
-			MATCH(DMI_BIOS_VENDOR, "Intel Corporation"),
-			MATCH(DMI_BIOS_VERSION,"L440GX0.86B.0066.P07.9906041405"),
-			NO_MATCH, NO_MATCH
-			} },
-
-	{ broken_pirq, "IBM xseries 370", {		/* Bad $PIR */
-			MATCH(DMI_BIOS_VENDOR, "IBM"),
-			MATCH(DMI_BIOS_VERSION,"MMKT33AUS"),
-			NO_MATCH, NO_MATCH
-			} },
-                        
-	/* Intel in disguise - In this case they can't hide and they don't run
-	   too well either... */
-	{ broken_pirq, "Dell PowerEdge 8450", {		/* Bad $PIR */
-			MATCH(DMI_PRODUCT_NAME, "Dell PowerEdge 8450"),
-			NO_MATCH, NO_MATCH, NO_MATCH
-			} },
-			
 	{ broken_acpi_Sx, "ASUS K7V-RM", {		/* Bad ACPI Sx table */
 			MATCH(DMI_BIOS_VERSION,"ASUS K7V-RM ACPI BIOS Revision 1003A"),
 			MATCH(DMI_BOARD_NAME, "<K7V-RM>"),
diff -Nru a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c
--- a/arch/i386/pci/irq.c	Fri Apr 16 21:01:57 2004
+++ b/arch/i386/pci/irq.c	Fri Apr 16 21:01:57 2004
@@ -453,15 +453,12 @@
 
 static __init int intel_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
 {
-#if 0 /* Let's see what chip this is supposed to be ... */
-	/* We must not touch 440GX even if we have tables. 440GX has
-	   different IRQ routing weirdness */
+	/* 440GX has a proprietary PIRQ router -- don't use it */
 	if (	pci_find_device(PCI_VENDOR_ID_INTEL,
 				PCI_DEVICE_ID_INTEL_82443GX_0, NULL) ||
 		pci_find_device(PCI_VENDOR_ID_INTEL,
 				PCI_DEVICE_ID_INTEL_82443GX_2, NULL))
 		return 0;
-#endif
 
 	switch(device)
 	{
diff -Nru a/arch/x86_64/kernel/Makefile b/arch/x86_64/kernel/Makefile
--- a/arch/x86_64/kernel/Makefile	Fri Apr 16 21:01:57 2004
+++ b/arch/x86_64/kernel/Makefile	Fri Apr 16 21:01:57 2004
@@ -8,7 +8,7 @@
 		ptrace.o i8259.o ioport.o ldt.o setup.o time.o sys_x86_64.o \
 		x8664_ksyms.o i387.o syscall.o vsyscall.o \
 		setup64.o bootflag.o e820.o reboot.o warmreboot.o
-obj-y += mce.o acpi/
+obj-y += mce.o
 
 obj-$(CONFIG_MTRR)		+= ../../i386/kernel/cpu/mtrr/
 obj-$(CONFIG_ACPI_BOOT)		+= acpi/
