Bernd,
The problem is that the lca gives totally bogus intline values that
aren't 255; so the MI code thinks they are valid & never calls the
platform specific inter_route code to correct them.
Please try the appended fix, which is basically what we do on x86 SMP.
Matt Dodd said he had a better idea, but it doesn't look like he had
time to implement it. Mike Smith suggested it, and if it works for you,
I'll commit it.
Drew
------------------------------------------------------------------------------
Andrew Gallatin, Sr Systems Programmer http://www.cs.duke.edu/~gallatin
Duke University Email: [EMAIL PROTECTED]
Department of Computer Science Phone: (919) 660-6590
Index: alpha/pci//lca_pci.c
===================================================================
RCS file: /home/ncvs/src/sys/alpha/pci/lca_pci.c,v
retrieving revision 1.9
diff -u -r1.9 lca_pci.c
--- alpha/pci//lca_pci.c 2000/12/08 22:11:23 1.9
+++ alpha/pci//lca_pci.c 2001/03/16 21:38:02
@@ -34,6 +34,8 @@
#include <machine/bus.h>
#include <sys/rman.h>
#include <pci/pcivar.h>
+#include <pci/pcireg.h>
+#include <machine/cpuconf.h>
#include <machine/swiz.h>
#include <machine/md_var.h>
@@ -134,6 +136,12 @@
lca_pcib_read_config(device_t dev, u_int b, u_int s, u_int f,
u_int reg, int width)
{
+ if ((reg == PCIR_INTLINE) && (width == 1)) {
+ int pin;
+
+ pin = lca_pcib_read_config(dev, b, s, f, PCIR_INTPIN, 1);
+ return (platform.pci_intr_route(NULL, dev, pin));
+ }
switch (width) {
case 1:
CFGREAD(b, s, f, reg, BYTE, u_int8_t);
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message