Re: io_apic changes trashes partition table

Harald Hoyer (HarryH@Royal.Net)
Sun, 04 Oct 1998 13:50:31 +0200


This is a multi-part message in MIME format.
--------------97A400273C29D834437FF839
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

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:HarryH@Royal.Net ««»» http://hot.spotline.de ««««
···············································································
PURGE COMPLETE.
--------------97A400273C29D834437FF839
Content-Type: text/plain; charset=us-ascii; name="mp.out"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="mp.out"

===============================================================================

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

===============================================================================

--------------97A400273C29D834437FF839--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/