Skip to contentSkip to conversation

PCI reorg changes for 2.5.14

PATCH In review Greg KH 6 participants 10 messages May 6, 2002 – May 8, 2002

Subsystems (2)
lore
Share & tools
lore

Greg KH

author
#0 lore raw

PATCH 1/1 PCI reorg changes for 2.5.14

Linus,

Here is a series of changesets that reorganize the core and i386 PCI files. It splits the current big files up into smaller pieces, according to the different function and platform type (removing lots of #ifdefs in the process.) Pat Mochel did 99.9% of this work, and I've tested it out and forward ported it to your most recent kernel version.

Due to there not being a active PCI maintainer (Martin Mares has abdicated the maintainership for 2.5 work), would you please apply these to your tree?

Pull from: bk://ldm.bkbits.net/linux-2.5-pci

For the non-bitkeeper users, this patch is available against 2.5.14 at:
kernel.org/pub/linux/kernel/people/gregkh/misc/pci-reorg-2.5.14.patch

thanks,

greg k-h

 arch/i386/kernel/pci-dma.c     |   37 
 arch/i386/kernel/pci-i386.c    |  384 ----------
 arch/i386/kernel/pci-i386.h    |   73 -
 arch/i386/kernel/pci-irq.c     |  866 -----------------------
 arch/i386/kernel/pci-pc.c      | 1423 --------------------------------------
 arch/i386/kernel/pci-visws.c   |  141 ---
 arch/i386/kernel/Makefile      |   18 
 arch/i386/kernel/pci/Makefile  |   29 
 arch/i386/kernel/pci/acpi.c    |   70 +
 arch/i386/kernel/pci/changelog |   62 +
 arch/i386/kernel/pci/common.c  |  206 +++++
 arch/i386/kernel/pci/direct.c  |  366 +++++++++
 arch/i386/kernel/pci/dma.c     |   37 
 arch/i386/kernel/pci/fixup.c   |  163 ++++
 arch/i386/kernel/pci/i386.c    |  323 ++++++++
 arch/i386/kernel/pci/irq.c     |  810 +++++++++++++++++++++
 arch/i386/kernel/pci/legacy.c  |   53 +
 arch/i386/kernel/pci/numa.c    |  119 +++
 arch/i386/kernel/pci/pcbios.c  |  559 +++++++++++++++
 arch/i386/kernel/pci/pci.h     |   75 ++
 arch/i386/kernel/pci/visws.c   |  141 +++
 drivers/acpi/acpi_osl.c        |    3 
 drivers/hotplug/cpqphp_core.c  |    2 
 drivers/hotplug/cpqphp_pci.c   |    2 
 drivers/hotplug/ibmphp_core.c  |    2 
 drivers/pci/Makefile           |    8 
 drivers/pci/access.c           |   46 +
 drivers/pci/hotplug.c          |  132 +++
 drivers/pci/pci-driver.c       |  136 +++
 drivers/pci/pci.c              | 1522 -----------------------------------------
 drivers/pci/pool.c             |  335 +++++++++
 drivers/pci/power.c            |  164 ++++
 drivers/pci/probe.c            |  603 ++++++++++++++++
 drivers/pci/proc.c             |   12 
 drivers/pci/search.c           |  110 ++
 include/linux/pci.h            |    1 
 36 files changed, 4565 insertions(+), 4468 deletions(-)

------

[email protected], 2002-05-06 15:43:42-07:00, [email protected]
PCI hotplug update

include file location changed due to pci changes

 drivers/hotplug/cpqphp_core.c |    2 +-
 drivers/hotplug/cpqphp_pci.c  |    2 +-
 drivers/hotplug/ibmphp_core.c |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

------

[email protected], 2002-05-06 14:37:30-07:00, [email protected]
hand merge of davej's x86 pci-pc janitor work

 arch/i386/kernel/pci/direct.c |   10 ++++++----
 arch/i386/kernel/pci/fixup.c  |    2 +-
 arch/i386/kernel/pci/legacy.c |    2 +-
 arch/i386/kernel/pci/pcbios.c |   12 ++++++------
 4 files changed, 14 insertions(+), 12 deletions(-)

------

[email protected], 2002-05-06 14:24:45-07:00, [email protected]
add back NCR53c810 PCI quirk code from davej that was lost in the merge

 arch/i386/kernel/pci/fixup.c |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

------

[email protected], 2002-05-06 14:15:27-07:00, [email protected]
merge

 arch/i386/kernel/pci-pc.c     | 1423 ------------------------------------------
 arch/i386/kernel/pci/common.c |  206 ++++++
 2 files changed, 206 insertions(+), 1423 deletions(-)

------

[email protected], 2002-04-16 16:52:54-07:00, [email protected]
Fix NUMA compile after PCI cleanup

 arch/i386/kernel/pci/Makefile |    6 ++++--
 arch/i386/kernel/pci/numa.c   |    7 ++++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

------

[email protected], 2002-04-16 16:11:33-07:00, [email protected]
don't enable debug in arch/i386/kernel/pci/

 arch/i386/kernel/pci/pci.h |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

------

[email protected], 2002-04-16 13:26:35-07:00, [email protected]
Further break-up-age
Make ACPI PCI IRQ routing work a bit better...

 arch/i386/kernel/pci/Makefile |   11 ++++-
 arch/i386/kernel/pci/acpi.c   |   70 +++++++++++++++++++++++++++++++++++
 arch/i386/kernel/pci/common.c |   44 ----------------------
 arch/i386/kernel/pci/irq.c    |   82 ++++++------------------------------------
 arch/i386/kernel/pci/legacy.c |   53 +++++++++++++++++++++++++++
 arch/i386/kernel/pci/numa.c   |    4 +-
 arch/i386/kernel/pci/pci.h    |    5 +-
 drivers/acpi/acpi_osl.c       |    3 +
 8 files changed, 152 insertions(+), 120 deletions(-)

------

[email protected], 2002-04-16 09:03:57-07:00, [email protected]
Further split/cleanup of x86 PCI code

 arch/i386/kernel/pci/Makefile  |   18 
 arch/i386/kernel/pci/changelog |   62 ++
 arch/i386/kernel/pci/common.c  | 1170 -----------------------------------------
 arch/i386/kernel/pci/direct.c  |  364 ++++++++++++
 arch/i386/kernel/pci/fixup.c   |  150 +++++
 arch/i386/kernel/pci/i386.c    |   61 --
 arch/i386/kernel/pci/numa.c    |  114 +++
 arch/i386/kernel/pci/pcbios.c  |  559 +++++++++++++++++++
 arch/i386/kernel/pci/pci.h     |    1 
 drivers/pci/pci.c              |    2 
 include/linux/pci.h            |    1 
 11 files changed, 1271 insertions(+), 1231 deletions(-)

------

[email protected], 2002-04-15 15:25:54-07:00, [email protected]
Move arch/i386/kernel/pci-*.c to arch/i386/kernel/pci/; prepare for further cleanups

 arch/i386/kernel/pci-dma.c    |   37 -
 arch/i386/kernel/pci-i386.c   |  384 -----------
 arch/i386/kernel/pci-i386.h   |   73 --
 arch/i386/kernel/pci-irq.c    |  866 -------------------------
 arch/i386/kernel/pci-pc.c     | 1400 ------------------------------------------
 arch/i386/kernel/pci-visws.c  |  141 ----
 arch/i386/kernel/Makefile     |   18 
 arch/i386/kernel/pci/Makefile |   16 
 arch/i386/kernel/pci/common.c | 1400 ++++++++++++++++++++++++++++++++++++++++++
 arch/i386/kernel/pci/dma.c    |   37 +
 arch/i386/kernel/pci/i386.c   |  384 +++++++++++
 arch/i386/kernel/pci/irq.c    |  866 +++++++++++++++++++++++++
 arch/i386/kernel/pci/pci.h    |   73 ++
 arch/i386/kernel/pci/visws.c  |  141 ++++
 14 files changed, 2923 insertions(+), 2913 deletions(-)

------

#1 lore raw
Quoted 8 lines · Greg KH

Linus,

Here is a series of changesets that reorganize the core and i386 PCI files. It splits the current big files up into smaller pieces, according to the different function and platform type (removing lots of #ifdefs in the process.) Pat Mochel did 99.9% of this work, and I've tested it out and forward ported it to your most recent kernel version.

Quoted 5 lines

Due to there not being a active PCI maintainer (Martin Mares has abdicated the maintainership for 2.5 work), would you please apply these to your tree?

Pull from: bk://ldm.bkbits.net/linux-2.5-pci

I think arch/i386/pci would be more appropinquate than arch/i386/kernel/pci.

#2 lore raw
In reply to Greg KH
Quoted 5 lines · Greg KH

Here is a series of changesets that reorganize the core and i386 PCI files. It splits the current big files up into smaller pieces, according to the different function and platform type (removing lots of #ifdefs in the process.) Pat Mochel did 99.9% of this work, and I've tested it out and forward ported it to your most recent kernel version.

There are missing #includes which will break compilation on some non-x86 platforms. With following patch this compiles and works on alpha.

Ivan.

arch/alpha/kernel/pci.c +3 -1
@@ -193,13 +193,15 @@ pcibios_align_resource(void *data, struc
 #undef MB
 #undef GB
 
-void __init
+static void __init
 pcibios_init(void)
 {
 	if (!alpha_mv.init_pci)
 		return;
 	alpha_mv.init_pci();
 }
+
+subsys_initcall(pcibios_init);
 
 char * __init
 pcibios_setup(char *str)
drivers/pci/probe.c +2 -0
@@ -2,7 +2,9 @@
  * probe.c - PCI detection and setup code
  */
 
+#include <linux/init.h>
 #include <linux/pci.h>
+#include <linux/slab.h>
 #include <linux/module.h>
 
 #undef DEBUG
drivers/pci/pci.c +2 -0
@@ -9,6 +9,8 @@
  *	Copyright 1997 -- 2000 Martin Mares <[email protected]>
  */
 
+#include <linux/delay.h>
+#include <linux/init.h>
 #include <linux/pci.h>
 #include <linux/module.h>
 #include <linux/spinlock.h>
drivers/pci/pool.c +1 -0
@@ -1,4 +1,5 @@
 #include <linux/pci.h>
+#include <linux/slab.h>
 #include <linux/module.h>
 
 /*
drivers/pci/proc.c +1 -0
@@ -6,6 +6,7 @@
  *	Copyright (c) 1997--1999 Martin Mares <[email protected]>
  */
 
+#include <linux/init.h>
 #include <linux/pci.h>
 #include <linux/module.h>
 #include <linux/proc_fs.h>
author
#3 lore raw
In reply to Greg KH
Quoted 9 lines · Ivan Kokshaysky
Quoted 5 lines · Greg KH

Here is a series of changesets that reorganize the core and i386 PCI files. It splits the current big files up into smaller pieces, according to the different function and platform type (removing lots of #ifdefs in the process.) Pat Mochel did 99.9% of this work, and I've tested it out and forward ported it to your most recent kernel version.

There are missing #includes which will break compilation on some non-x86 platforms. With following patch this compiles and works on alpha.

I've added this patch, and both Pat and I moved the files into the different directory name. I'll test this all out and send an updated patch later today.

thanks,

greg k-h

#4 lore raw
Quoted 4 lines · Greg KH

I've added this patch, and both Pat and I moved the files into the different directory name. I'll test this all out and send an updated patch later today.

Greg, Pat - this changeset seems to completely break ACPI interrupt routing.

I suspect it's an ordering issue, with the new "pci_lookup_irq" getting assigned the wrong value (or the ACPI irq init not being done or whatever).

Please give this a good look.

Linus

author
#5 lore raw
Quoted 8 lines

Greg, Pat - this changeset seems to completely break ACPI interrupt routing.

I suspect it's an ordering issue, with the new "pci_lookup_irq" getting assigned the wrong value (or the ACPI irq init not being done or whatever).

Please give this a good look.

Pat found the problem, it was due to the startup ordering issue (he could give a better explanation than I could), and the update is checked in.

Pull from: bk://ldm.bkbits.net/linux-2.5-pci

For the non-bitkeeper users, this patch is available against 2.5.14 at:

        kernel.org/pub/linux/kernel/people/gregkh/misc/pci-reorg-2-2.5.14.patch
 arch/i386/kernel/pci-dma.c    |   37 -
 arch/i386/kernel/pci-i386.c   |  384 ----------
 arch/i386/kernel/pci-i386.h   |   73 --
 arch/i386/kernel/pci-irq.c    |  866 -----------------------
 arch/i386/kernel/pci-pc.c     | 1423 ---------------------------------------
 arch/i386/kernel/pci-visws.c  |  141 ---
 Makefile                      |    2 
 arch/alpha/kernel/pci.c       |    4 
 arch/i386/Makefile            |    5 
 arch/i386/kernel/Makefile     |   12 
 arch/i386/pci/Makefile        |   29 
 arch/i386/pci/acpi.c          |   70 +
 arch/i386/pci/changelog       |   62 +
 arch/i386/pci/common.c        |  206 +++++
 arch/i386/pci/direct.c        |  366 ++++++++++
 arch/i386/pci/dma.c           |   37 +
 arch/i386/pci/fixup.c         |  163 ++++
 arch/i386/pci/i386.c          |  323 ++++++++
 arch/i386/pci/irq.c           |  810 ++++++++++++++++++++++
 arch/i386/pci/legacy.c        |   53 +
 arch/i386/pci/numa.c          |  119 +++
 arch/i386/pci/pcbios.c        |  559 +++++++++++++++
 arch/i386/pci/pci.h           |   75 ++
 arch/i386/pci/visws.c         |  141 +++
 drivers/acpi/acpi_osl.c       |    3 
 drivers/hotplug/cpqphp_core.c |    2 
 drivers/hotplug/cpqphp_pci.c  |    2 
 drivers/hotplug/ibmphp_core.c |    2 
 drivers/pci/Makefile          |    8 
 drivers/pci/access.c          |   46 +
 drivers/pci/hotplug.c         |  132 +++
 drivers/pci/pci-driver.c      |  136 +++
 drivers/pci/pci.c             | 1526 ------------------------------------------
 drivers/pci/pool.c            |  336 +++++++++
 drivers/pci/power.c           |  164 ++++
 drivers/pci/probe.c           |  605 ++++++++++++++++
 drivers/pci/proc.c            |   13 
 drivers/pci/search.c          |  110 +++
 include/linux/pci.h           |    1 
 39 files changed, 4576 insertions(+), 4470 deletions(-)

------

[email protected], 2002-05-07 10:58:20-07:00, [email protected]
PCI hotplug drivers

change due to moved location of i386's pci.h

 drivers/hotplug/cpqphp_core.c |    2 +-
 drivers/hotplug/cpqphp_pci.c  |    2 +-
 drivers/hotplug/ibmphp_core.c |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

------

[email protected], 2002-05-07 10:27:30-07:00, [email protected]
Merge bk://[email protected]/linux-2.5-pci
into segfault.osdl.org:/home/mochel/src/kernel/devel/linux-2.5-pci

 drivers/pci/pci.c |    2 ++
 1 files changed, 2 insertions(+)

------

[email protected], 2002-05-07 10:27:12-07:00, [email protected]
PCI Update: Fix oops on boot w/ ACPI enabled

 Makefile               |    2 +-
 arch/i386/pci/Makefile |    4 ++--
 arch/i386/pci/acpi.c   |    2 +-
 arch/i386/pci/direct.c |    2 +-
 arch/i386/pci/pcbios.c |    2 +-
 drivers/pci/pci.c      |    2 +-
 6 files changed, 7 insertions(+), 7 deletions(-)

------

[email protected], 2002-05-07 10:19:42-07:00, [email protected]
merge

 arch/i386/Makefile        |    4 ++--
 arch/i386/kernel/Makefile |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

------

[email protected], 2002-05-07 09:54:45-07:00, [email protected]
[PATCH] Fix missing #includes

There are missing #includes which will break compilation on some non-x86 platforms. With following patch this compiles and works on alpha.

Ivan.

 arch/alpha/kernel/pci.c |    4 +++-
 drivers/pci/pci.c       |    2 ++
 drivers/pci/pool.c      |    1 +
 drivers/pci/probe.c     |    2 ++
 drivers/pci/proc.c      |    1 +
 5 files changed, 9 insertions(+), 1 deletion(-)

------

[email protected], 2002-05-06 15:43:42-07:00, [email protected]
PCI hotplug update

include file location changed due to pci changes

 drivers/hotplug/cpqphp_core.c |    2 +-
 drivers/hotplug/cpqphp_pci.c  |    2 +-
 drivers/hotplug/ibmphp_core.c |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

------

[email protected], 2002-05-06 14:37:30-07:00, [email protected]
hand merge of davej's x86 pci-pc janitor work

 arch/i386/kernel/pci/direct.c |   10 ++++++----
 arch/i386/kernel/pci/fixup.c  |    2 +-
 arch/i386/kernel/pci/legacy.c |    2 +-
 arch/i386/kernel/pci/pcbios.c |   12 ++++++------
 4 files changed, 14 insertions(+), 12 deletions(-)

------

[email protected], 2002-05-06 14:24:45-07:00, [email protected]
add back NCR53c810 PCI quirk code from davej that was lost in the merge

 arch/i386/kernel/pci/fixup.c |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

------

[email protected], 2002-05-06 14:15:27-07:00, [email protected]
merge

 arch/i386/kernel/pci-pc.c     | 1423 ------------------------------------------
 arch/i386/kernel/pci/common.c |  206 ++++++
 2 files changed, 206 insertions(+), 1423 deletions(-)

------

[email protected], 2002-04-16 16:52:54-07:00, [email protected]
Fix NUMA compile after PCI cleanup

 arch/i386/kernel/pci/Makefile |    6 ++++--
 arch/i386/kernel/pci/numa.c   |    7 ++++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

------

[email protected], 2002-04-16 16:11:33-07:00, [email protected]
don't enable debug in arch/i386/kernel/pci/

 arch/i386/kernel/pci/pci.h |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

------

[email protected], 2002-04-16 13:26:35-07:00, [email protected]
Further break-up-age
Make ACPI PCI IRQ routing work a bit better...

 arch/i386/kernel/pci/Makefile |   11 ++++-
 arch/i386/kernel/pci/acpi.c   |   70 +++++++++++++++++++++++++++++++++++
 arch/i386/kernel/pci/common.c |   44 ----------------------
 arch/i386/kernel/pci/irq.c    |   82 ++++++------------------------------------
 arch/i386/kernel/pci/legacy.c |   53 +++++++++++++++++++++++++++
 arch/i386/kernel/pci/numa.c   |    4 +-
 arch/i386/kernel/pci/pci.h    |    5 +-
 drivers/acpi/acpi_osl.c       |    3 +
 8 files changed, 152 insertions(+), 120 deletions(-)

------

[email protected], 2002-04-16 09:03:57-07:00, [email protected]
Further split/cleanup of x86 PCI code

 arch/i386/kernel/pci/Makefile  |   18 
 arch/i386/kernel/pci/changelog |   62 ++
 arch/i386/kernel/pci/common.c  | 1170 -----------------------------------------
 arch/i386/kernel/pci/direct.c  |  364 ++++++++++++
 arch/i386/kernel/pci/fixup.c   |  150 +++++
 arch/i386/kernel/pci/i386.c    |   61 --
 arch/i386/kernel/pci/numa.c    |  114 +++
 arch/i386/kernel/pci/pcbios.c  |  559 +++++++++++++++++++
 arch/i386/kernel/pci/pci.h     |    1 
 drivers/pci/pci.c              |    2 
 include/linux/pci.h            |    1 
 11 files changed, 1271 insertions(+), 1231 deletions(-)

------

[email protected], 2002-04-15 15:25:54-07:00, [email protected]
Move arch/i386/kernel/pci-*.c to arch/i386/kernel/pci/; prepare for further cleanups

 arch/i386/kernel/pci-dma.c    |   37 -
 arch/i386/kernel/pci-i386.c   |  384 -----------
 arch/i386/kernel/pci-i386.h   |   73 --
 arch/i386/kernel/pci-irq.c    |  866 -------------------------
 arch/i386/kernel/pci-pc.c     | 1400 ------------------------------------------
 arch/i386/kernel/pci-visws.c  |  141 ----
 arch/i386/kernel/Makefile     |   18 
 arch/i386/kernel/pci/Makefile |   16 
 arch/i386/kernel/pci/common.c | 1400 ++++++++++++++++++++++++++++++++++++++++++
 arch/i386/kernel/pci/dma.c    |   37 +
 arch/i386/kernel/pci/i386.c   |  384 +++++++++++
 arch/i386/kernel/pci/irq.c    |  866 +++++++++++++++++++++++++
 arch/i386/kernel/pci/pci.h    |   73 ++
 arch/i386/kernel/pci/visws.c  |  141 ++++
 14 files changed, 2923 insertions(+), 2913 deletions(-)

------

#6 lore raw
Quoted 7 lines · Greg KH
Quoted 7 lines

Greg, Pat - this changeset seems to completely break ACPI interrupt routing.

I suspect it's an ordering issue, with the new "pci_lookup_irq" getting assigned the wrong value (or the ACPI irq init not being done or whatever).

Quoted 5 lines
Quoted 1 line

Please give this a good look.

Pat found the problem, it was due to the startup ordering issue (he could give a better explanation than I could), and the update is checked in.

Actually, there was an ordering problem, which was causing an oops on boot. But, that doesn't help with IRQ routing.

The problem is that ACPI IRQ routing doesn't work at all in 2.5.14 if you have support for APICs enabled in any way.

I've tried .14-virgin, .14-dj1 and .14-pci, each with and without ACPI enabled, and with and without APIC support enabled on UP, and with and without SMP enabled. The results are consistent:

acpi apic irq?
--------------------
yes yes no
yes no yes
no yes yes

The ACPI people are working on this problem. Their latest patch (20020503) plus Dominik Brodowski's latest patch applied to .14-virgin allow me to get IRQs assigned. However, the relevant ACPI changes are are wrapped up in many other changes to the subsystem...

-pat

#7 lore raw
Quoted 6 lines · Patrick Mochel

Actually, there was an ordering problem, which was causing an oops on boot. But, that doesn't help with IRQ routing.

The problem is that ACPI IRQ routing doesn't work at all in 2.5.14 if you have support for APICs enabled in any way.

Hmm.. That may be true, but at least 2.5.14 gets the interrupt routing right.

Which may be because it knows to fall back on the MP table parsing if it can't work out the ACPI stuff, and you probably broke that part.

The whole notion of having just _one_ PCI interrupt routing function is definitely _broken_. The rule in 2.5.14 is "try ACPI if it's enabled, and if that works, we're fine. If it doesn't work, let's try the legacy stuff".

In contrast, your PCI irq changes seem to say "if we found ACPI tables, we use ACPI routing", which is just stupid.

Please fix it to work at _least_ as well as 2.5.14 does (and yes, my home machine works fine with APIC and ACPI enabled on 2.5.14, and since it's a dual P4 HT machine it _cannot_ work any other way - and the PCI BK changes break it to the point of not booting).

Linus

#8 lore raw
Quoted 15 lines · Linus Torvalds
Quoted 6 lines · Patrick Mochel

Actually, there was an ordering problem, which was causing an oops on boot. But, that doesn't help with IRQ routing.

The problem is that ACPI IRQ routing doesn't work at all in 2.5.14 if you have support for APICs enabled in any way.

Hmm.. That may be true, but at least 2.5.14 gets the interrupt routing right.

Which may be because it knows to fall back on the MP table parsing if it can't work out the ACPI stuff, and you probably broke that part.

Quoted 7 lines

The whole notion of having just _one_ PCI interrupt routing function is definitely _broken_. The rule in 2.5.14 is "try ACPI if it's enabled, and if that works, we're fine. If it doesn't work, let's try the legacy stuff".

In contrast, your PCI irq changes seem to say "if we found ACPI tables, we use ACPI routing", which is just stupid.

Oh right, the check for valid ACPI routing tables is _supposed_ to be there...

Quoted 4 lines

Please fix it to work at _least_ as well as 2.5.14 does (and yes, my home machine works fine with APIC and ACPI enabled on 2.5.14, and since it's a dual P4 HT machine it _cannot_ work any other way - and the PCI BK changes break it to the point of not booting).

The check is back in there now, and it works here, so IRQ routing works on 2.5.14 with an SMP kernel. Greg has verified that it also works on a P-IV SMP system.

You can pull from bk://ldm.bkbits.net/linux-2.5-pci/

-pat

#9 lore raw
In reply to Linus Torvalds
Quoted 2 lines · Linus Torvalds

The whole notion of having just _one_ PCI interrupt routing function is definitely _broken_.

Yeah -- having a per-device interrupt router would be quite useful for those Via devices we had so much interrupt routing trouble with...

Jeff