Hi.
My colleague has fixed this problem.
Here is a small patch to fix IRQ problem. We have only tested on
ProLiant 6500. It may not work on other machines. This patch does
not fix problem for old PCI device driver that gets IRQ directly from
PCI configration register.
Thank you.
linux-2.2.5-ac7/arch/i386/kernel/smp.c
=====================================
*** smp.c.org Tue Apr 6 14:37:29 1999
--- smp.c Thu Apr 15 17:21:13 1999
***************
*** 348,354 ****
mp_bus_id_to_type[m->mpc_busid] =
MP_BUS_PCI;
mp_bus_id_to_pci_bus[m->mpc_busid] =
! mp_current_pci_id;
mp_current_pci_id++;
}
mpt+=sizeof(*m);
--- 348,354 ----
mp_bus_id_to_type[m->mpc_busid] =
MP_BUS_PCI;
mp_bus_id_to_pci_bus[m->mpc_busid] =
! m->mpc_busid;
mp_current_pci_id++;
}
mpt+=sizeof(*m);
=====================================
Here are boot LOG with some debug print.
=======================================
Linux version 2.2.5-ac7 ([EMAIL PROTECTED]) (gcc version 2.7.2.3) #31 SMP
Thu Apr 15 16:52:45 JST 1999
Intel MultiProcessor Specification v1.4
Virtual Wire compatibility mode.
OEM ID: COMPAQ Product ID: PROLIANT APIC at: 0xFEE00000
Processor #3 Pentium(tm) Pro APIC version 16
Processor #0 Pentium(tm) Pro APIC version 16
Processor #1 Pentium(tm) Pro APIC version 16
Processor #2 Pentium(tm) Pro APIC version 16
mp_bus 0 -> pci_bus 0
mp_bus 4 -> pci_bus 1
I/O APIC #8 Version 17 at 0xFEC00000.
Processors: 4
mapped APIC to ffffe000 (fee00000)
mapped IOAPIC to ffffd000 (fec00000)
Detected 449868672 Hz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 448.92 BogoMIPS
Memory: 1036320k/1048576k available (1084k kernel code, 420k reserved, 10684k data,
68k init)
Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.26 (19981001) Richard Gooch ([EMAIL PROTECTED])
per-CPU timeslice cutoff: 200.38 usecs.
CPU3: Intel Pentium II (Deschutes) stepping 03
calibrating APIC timer ...
..... CPU clock speed is 449.8742 MHz.
..... system bus clock speed is 99.9718 MHz.
Booting processor 0 eip 2000
Calibrating delay loop... 448.92 BogoMIPS
OK.
CPU0: Intel Pentium II (Deschutes) stepping 03
Booting processor 1 eip 2000
Calibrating delay loop... 448.92 BogoMIPS
OK.
CPU1: Intel Pentium II (Deschutes) stepping 03
Booting processor 2 eip 2000
Calibrating delay loop... 448.92 BogoMIPS
OK.
CPU2: Intel Pentium II (Deschutes) stepping 03
Total of 4 processors activated (1795.69 BogoMIPS).
enabling symmetric IO mode... ...done.
ENABLING IO-APIC IRQs
init IO_APIC IRQs
linuxconf/tcp: unknown service
IO-APIC pin 0, 5, 9, 10, 11, 15, 24WARNING: ASSIGN_IRQ_VECTOR wrapped back to 52
, 32, 33, 34 not connected.
number of MP IRQ sources: 38.
number of IO-APIC registers: 35.
testing the IO APIC.......................
.... register #00: 00000000
....... : physical APIC id: 00
.... register #01: 00220011
....... : max redirection entries: 0022
WARNING: unexpected IO-APIC, please mail
to [EMAIL PROTECTED]
....... : IO APIC version: 0011
.... register #02: 00000000
....... : arbitration: 00
.... IRQ redirection table:
NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
00 000 00 1 0 0 0 0 0 0 00
01 000 00 0 0 0 0 0 1 1 59
02 0FF 0F 0 0 0 0 0 1 1 51
03 000 00 0 0 0 0 0 1 1 61
04 000 00 0 0 0 0 0 1 1 69
05 000 00 1 0 0 0 0 0 0 00
06 000 00 0 0 0 0 0 1 1 71
07 000 00 0 0 0 0 0 1 1 79
08 000 00 0 0 0 0 0 1 1 81
09 000 00 1 0 0 0 0 0 0 00
0a 000 00 1 0 0 0 0 0 0 00
0b 000 00 1 0 0 0 0 0 0 00
0c 000 00 0 0 0 0 0 1 1 89
0d 000 00 1 0 0 0 0 0 0 00
0e 000 00 0 0 0 0 0 1 1 91
0f 000 00 1 0 0 0 0 0 0 00
10 0FF 0F 1 1 0 1 0 1 1 99
11 0FF 0F 1 1 0 1 0 1 1 A1
12 0FF 0F 1 1 0 1 0 1 1 A9
13 0FF 0F 1 1 0 1 0 1 1 B1
14 0FF 0F 1 1 0 1 0 1 1 B9
15 0FF 0F 1 1 0 1 0 1 1 C1
16 0FF 0F 1 1 0 1 0 1 1 C9
17 0FF 0F 1 1 0 1 0 1 1 D1
18 000 00 1 0 0 0 0 0 0 00
19 0FF 0F 1 1 0 1 0 1 1 D9
1a 0FF 0F 1 1 0 1 0 1 1 E1
1b 0FF 0F 1 1 0 1 0 1 1 E9
1c 0FF 0F 1 1 0 1 0 1 1 F1
1d 0FF 0F 1 1 0 1 0 1 1 F9
1e 0FF 0F 1 1 0 1 0 1 1 52
1f 0FF 0F 1 1 0 1 0 1 1 5A
20 000 00 1 0 0 0 0 0 0 00
21 000 00 1 0 0 0 0 0 0 00
22 000 00 1 0 0 0 0 0 0 00
.................................... done.
mtrr: your CPUs had inconsistent fixed MTRR settings
mtrr: probably your BIOS does not setup all CPUs
PCI: BIOS32 Service Directory structure at 0x800ffee0
PCI: BIOS32 Service Directory entry at 0xf0000
PCI: BIOS probe returned s=00 hw=11 ver=02.10 l=09
PCI: PCI BIOS revision 2.10 entry at 0xf0084
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Scanning for ghost devices on bus 0
PCI: 00:80 [8086/84ca]: Scanning peer host bridges
i450NX PXB 0: 00/03/03
i450NX PXB 1: 04/ff/ff
PCI: Scanning for ghost devices on bus 4
PCI: Scanning for ghost devices on bus 5
PCI->APIC IRQ transform: (B0,I11,P0) -> 27
PCI->APIC IRQ transform: (B0,I13,P0) -> 26
PCI->APIC IRQ transform: (B0,I13,P1) -> 25
PCI->APIC IRQ transform: (B4,I4,P0) -> 17
PCI->APIC IRQ transform: (B4,I11,P0) -> 27
PCI: using PPB(B4,I3,P0) to get irq 19
PCI->APIC IRQ transform: (B5,I4,P0) -> 19
PCI: using PPB(B4,I3,P1) to get irq 18
PCI->APIC IRQ transform: (B5,I5,P1) -> 18
PCI: Sorting device list...
PCI: Device 00:78 not found by BIOS
PCI: Device 00:80 not found by BIOS
PCI: Device 00:90 not found by BIOS
PCI: Device 00:a0 not found by BIOS
Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
Starting kswapd v 1.5
Detected PS/2 Mouse Port.
Serial driver version 4.27 with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
pty: 256 Unix98 ptys configured
PIIX4: IDE controller on PCI bus 00 dev 79
PIIX4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x2c00-0x2c07, BIOS settings: hda:pio, hdb:pio
hda: CD-ROM CDU701-Q, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: ATAPI 14X CD-ROM drive, 128kB Cache
Uniform CDROM driver Revision: 2.54
Floppy drive(s): fd0 is 1.44M
FDC 0 is a National Semiconductor PC87306
ncr53c8xx: at PCI bus 0, device 13, function 0
ncr53c8xx: 53c876 detected
ncr53c8xx: at PCI bus 0, device 13, function 1
ncr53c8xx: 53c876 detected
ncr53c876-0: rev=0x14, base=0xc69d0000, io_port=0x2000, irq=26
ncr53c876-0: ID 7, Fast-20, Parity Checking
ncr53c876-0: on-chip RAM at 0xc69c0000
ncr53c876-0: restart (scsi reset).
ncr53c876-0: Downloading SCSI SCRIPTS.
ncr53c876-1: rev=0x14, base=0xc69b0000, io_port=0x2400, irq=25
ncr53c876-1: NCR clock is 40218KHz, 40218KHz
ncr53c876-1: ID 7, Fast-20, Parity Checking
ncr53c876-1: on-chip RAM at 0xc69a0000
ncr53c876-1: restart (scsi reset).
ncr53c876-1: Downloading SCSI SCRIPTS.
scsi0 : ncr53c8xx - revision 3.1h
scsi1 : ncr53c8xx - revision 3.1h
scsi : 2 hosts.
ncr53c876-0-<0,*>: FAST-20 WIDE SCSI 40.0 MB/s (50 ns, offset 15)
Vendor: COMPAQ Model: DGHS09Y Rev: 01C0
Type: Direct-Access ANSI SCSI revision: 03
Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
ncr53c876-0-<0,0>: tagged command queue depth set to 4
scsi : detected 1 SCSI disk total.
SCSI device sda: hdwr sector= 512 bytes. Sectors= 17773500 [8678 MB] [8.7 GB]
eth0: OEM i82557/i82558 10/100 Ethernet at 0x3000, 00:08:C7:91:74:86, IRQ 19.
Board assembly 009542-001, Physical connectors present: RJ45
Primary interface chip i82555 PHY #1.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0x24c9f043).
Receiver lock-up workaround activated.
eth1: OEM i82557/i82558 10/100 Ethernet at 0x3020, 00:08:C7:91:74:87, IRQ 18.
Board assembly 009542-001, Physical connectors present: RJ45
Primary interface chip i82555 PHY #1.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0x24c9f043).
Receiver lock-up workaround activated.
Partition check:
sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 sda9 >
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 68k freed
Adding Swap: 130748k swap-space (priority -1)
=======================================
-----
Shinji Sumimoto E-Mail: [EMAIL PROTECTED]
Real World Computing Partnership, Japan.
-
Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/mentre/smp-faq/
To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]