Linus Torvalds wrote:
>
> I don't want to revert them outright, because they definitely work better
> on several machines (not plain 2.1.123 - which is bad - but 2.1.124-2 is
> definitely a step in the right direction). In particular, the new IO-APIC
> code allows us to remove a test for broken MP-tables, because it appears
> that the tables weren't broken after all, it was us that did the wrong
> thing and thus thought they were broken.
OK.. then maybe my boards is now on the blacklist :( I think the problem is that
TYAN did not correctly implement the MP table, cause they map all PCI interrupts
to the ISA bus.
You can choose in the BIOS what type of IRQ you want to use for the internal IDE
controller (edge or level, #A, #B ..), but this does not affect the MP table.
I know the tyan bios is a crap...
>
> Could you send me the output of "mptable.c" (attached) on you machine?
Attached !
>
> Linus
Thx for fixing correct code to work with buggy bioses...
Harald
--
���� Harald Hoyer ���� mailto:[EMAIL PROTECTED] ���� http://hot.spotline.de ����
�������������������������������������������������������������������������������
PURGE COMPLETE.
===============================================================================
MPTable, version 2.0.12
-------------------------------------------------------------------------------
MP Floating Pointer Structure:
location: BIOS
physical address: 0x000f5bd0
signature: '_MP_'
length: 16 bytes
version: 1.1
checksum: 0x80
mode: Virtual Wire
-------------------------------------------------------------------------------
MP Config Table Header:
physical address: 0x000f1400
signature: 'PCMP'
base table length: 252
version: 1.1
checksum: 0x90
OEM ID: 'OEM00000'
Product ID: 'PROD00000000'
OEM table pointer: 0x00000000
OEM table size: 0
entry count: 23
local APIC address: 0xfee00000
extended table length: 0
extended table checksum: 0
-------------------------------------------------------------------------------
MP Config Base Table Entries:
--
Processors: APIC ID Version State Family Model Step Flags
0 0x11 BSP, usable 5 2 1 0x07bf
1 0x11 AP, usable 5 2 1 0x07bf
--
Bus: Bus ID Type
0 PCI
1 ISA
--
I/O APICs: APIC ID Version State Address
2 0x11 usable 0xfec00000
--
I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID I
NT#
ExtINT conforms conforms 1 0 2 0
INT conforms conforms 1 1 2 1
INT conforms conforms 1 0 2 2
INT conforms conforms 1 3 2 3
INT conforms conforms 1 4 2 4
INT conforms conforms 1 5 2 5
INT conforms conforms 1 6 2 6
INT conforms conforms 1 7 2 7
INT active-hi edge 1 8 2 8
INT conforms conforms 1 9 2 9
INT conforms conforms 1 10 2 10
INT conforms conforms 1 12 2 12
INT conforms conforms 1 13 2 13
INT conforms conforms 1 14 2 14
INT conforms conforms 1 15 2 15
INT active-lo level 1 11 2 18
--
Local Ints: Type Polarity Trigger Bus ID IRQ APIC IDtINT#
ExtINT conforms conforms 1 0 255 0
NMI conforms conforms 1 0 255 1
-------------------------------------------------------------------------------
dmesg output:
Linux version 2.1.124 (root@HarryH) (gcc version pgcc-2.90.27 980315 (egcs-1.0.2
release)) #5 SMP Sat Oct 3 16:24:12 MET DST 1998
Intel MultiProcessor Specification v1.1
Virtual Wire compatibility mode.
OEM ID: OEM00000 Product ID: PROD00000000 APIC at: 0xFEE00000
Processor #0 Pentium(tm) APIC version 17
Processor #1 Pentium(tm) APIC version 17
I/O APIC #2 Version 17 at 0xFEC00000.
Processors: 2
mapped APIC to ffffe000 (fee00000)
mapped IOAPIC to ffffd000 (fec00000)
Console: colour VGA+ 80x50
Calibrating delay loop... 298.19 BogoMIPS
Memory: 95708k/98304k available (752k kernel code, 416k reserved, 1376k data, 52k
init)
VFS: Diskquotas version dquot_6.4.0 initialized
Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
Checking 'hlt' instruction... OK.
Intel Pentium with F0 0F bug - workaround enabled.
POSIX conformance testing by UNIFIX
CPU0: Intel Pentium MMX stepping 03
calibrating APIC timer ...
..... CPU clock speed is 199.3276 MHz.
..... APIC bus clock speed is 66.4424 MHz.
Booting processor 1 eip 2000
Calibrating delay loop... 298.19 BogoMIPS
OK.
CPU1: Intel Pentium MMX stepping 03
Total of 2 processors activated (596.38 BogoMIPS).
enabling symmetric IO mode... ...done.
ENABLING IO-APIC IRQs
init IO_APIC IRQs
IO-APIC pin 0, 11, 16, 17, 19, 20, 21, 22, 23 not connected.
number of MP IRQ sources: 16.
number of IO-APIC registers: 24.
testing the IO APIC.......................
.... register #00: 02000000
....... : physical APIC id: 02
.... register #01: 00170011
....... : max redirection entries: 0017
....... : 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 0FF 0F 0 0 0 0 0 1 1 59
02 0FF 0F 0 0 0 0 0 1 1 51
03 0FF 0F 0 0 0 0 0 1 1 61
04 0FF 0F 0 0 0 0 0 1 1 69
05 0FF 0F 0 0 0 0 0 1 1 71
06 0FF 0F 0 0 0 0 0 1 1 79
07 0FF 0F 0 0 0 0 0 1 1 81
08 0FF 0F 0 0 0 0 0 1 1 89
09 0FF 0F 0 0 0 0 0 1 1 91
0a 0FF 0F 0 0 0 0 0 1 1 99
0b 000 00 1 0 0 0 0 0 0 00
0c 0FF 0F 0 0 0 0 0 1 1 A1
0d 000 00 1 0 0 0 0 0 0 00
0e 0FF 0F 0 0 0 0 0 1 1 A9
0f 0FF 0F 0 0 0 0 0 1 1 B1
10 000 00 1 0 0 0 0 0 0 00
11 000 00 1 0 0 0 0 0 0 00
12 0FF 0F 0 1 0 1 0 1 1 B9
13 000 00 1 0 0 0 0 0 0 00
14 000 00 1 0 0 0 0 0 0 00
15 000 00 1 0 0 0 0 0 0 00
16 000 00 1 0 0 0 0 0 0 00
17 000 00 1 0 0 0 0 0 0 00
IRQ to pin mappings:
0->2 1->1 2->-1 3->3 4->4 5->5 6->6 7->7 8->8 9->9 10->10 11->18 12->12 13->13 14->14
15->15 16->-1 17->-1 18->-1 19->-1 20->-1 21->-1 22->-1 23->-1 24->-1 25->-1 26->-1
27->-1 28->-1 29->-1 30->-1 31->-1 32->-1 33->-1 34->-1 35->-1 36->-1 37->-1 38->-1
39->-1 40->-1 41->-1 42->-1 43->-1 44->-1 45->-1 46->-1 47->-1 48->-1 49->-1 50->-1
51->-1 52->-1 53->-1 54->-1 55->-1 56->-1 57->-1 58->-1 59->-1 60->-1 61->-1 62->-1
63->-1
.................................... done.
PCI: PCI BIOS revision 2.10 entry at 0xfb360
PCI: Using configuration type 1
PCI: Probing PCI hardware
Swansea University Computer Society NET3.039 for Linux 2.1
Swansea University Computer Society TCP/IP for NET3.037
IP Protocols: ICMP, UDP, TCP
Initializing RT netlink socket
Starting kswapd v 1.5
pty: 256 Unix98 ptys configured
PIIX3: IDE controller on PCI bus 00 dev 39
PIIX3: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio
hda: IBM-DHEA-36481, ATA DISK drive
hdb: WDC AC21000H, ATA DISK drive
hdc: IBM-DHEA-34331, ATA DISK drive
hdd: QUANTUM FIREBALL_TM2110A, ATA DISK drive
hdg: FX400E, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
ide3 at 0x168-0x16f,0x36e on irq 10
hda: IBM-DHEA-36481, 6197MB w/472kB Cache, CHS=790/255/63, (U)DMA
hdb: WDC AC21000H, 1033MB w/128kB Cache, CHS=525/64/63, DMA
hdc: IBM-DHEA-34331, 4134MB w/472kB Cache, CHS=8400/16/63, (U)DMA
hdd: QUANTUM FIREBALL_TM2110A, 2014MB w/76kB Cache, CHS=4092/16/63
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
md driver 0.36.6 MAX_MD_DEV=4, MAX_REAL=8
raid0 personality registered
ne2k-pci.c:v0.99L 2/7/98 D. Becker/P. Gortmaker
http://cesdis.gsfc.nasa.gov/linux/drivers/ne2k-pci.html
ne2k-pci.c: PCI NE2000 clone 'RealTek RTL-8029' at I/O 0x6400, IRQ 11.
eth0: PCI NE2000 found at 0x6400, IRQ 11, 00:80:AD:C9:01:C7.
Partition check:
hda: hda1 hda2 hda3 hda4
hdb: hdb1 hdb2
hdc: [PTBL] [527/255/63] hdc1 hdc2 hdc3 hdc4
hdd: [PTBL] [1023/64/63] hdd1 hdd2 hdd3
md: Setting up md0 as a striped device.
REGISTER_DEV hda3 to md0 done
REGISTER_DEV hdc2 to md0 done
raid0 : Allocating 8 bytes for hash.
md: Loading md0.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 52k freed
NET3: Unix domain sockets 0.16 for Linux NET3.038.
Adding Swap: 130748k swap-space (priority -1)
Swansea University Computer Society IPX 0.38 for NET3.037
IPX Portions Copyright (c) 1995 Caldera, Inc.
Soundblaster audio driver Copyright (C) by Hannu Savolainen 1993-1996
SB 4.13 detected OK (220)
Serial driver version 4.26 with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
---------------
scanpci output:
PCI says configuration type 1
PCI probing configuration type 1
Probing for devices on PCI bus 0:
pci bus 0x0 cardnum 0x00 function 0x0000: vendor 0x8086 device 0x1250
Intel 82439
pci bus 0x0 cardnum 0x07 function 0x0000: vendor 0x8086 device 0x7000
Intel 82371 pci-isa bridge
pci bus 0x0 cardnum 0x07 function 0x0001: vendor 0x8086 device 0x7010
Intel 82371 bus-master IDE controller
pci bus 0x0 cardnum 0x12 function 0x0000: vendor 0x10ec device 0x8029
Realtek 8029
pci bus 0x0 cardnum 0x13 function 0x0000: vendor 0x12d2 device 0x0018
NVidia/SGS-Thomson Riva128
pci bus 0x0 cardnum 0x14 function 0x0000: vendor 0x121a device 0x0001
3Dfx Interactive Voodoo Graphics
-----------------
/proc/pci output:
I did not enable /proc/pci .... I think you scanpci says all.
------------------------
/proc/interrupts output:
CPU0 CPU1
0: 78415 47906 IO-APIC-edge timer
1: 1405 1915 IO-APIC-edge keyboard
2: 0 0 XT-PIC cascade
4: 2252 1235 IO-APIC-edge serial
5: 0 0 IO-APIC-edge soundblaster
10: 3 2 IO-APIC-edge ide3
11: 47 47 IO-APIC-level eth0
13: 1 0 XT-PIC fpu
14: 9676 6890 IO-APIC-edge ide0
15: 8182 6174 IO-APIC-edge ide1
NMI: 0
IPI: 0
===============================================================================