[issue1268] need interrupt routing fallback/heuristic for broken MPtable

Simon 'corecode' Schubert (via DragonFly issue tracker) sinknull at crater.dragonflybsd.org
Wed Feb 4 07:28:35 PST 2009


New submission from Simon 'corecode' Schubert <corecode at fs.ei.tum.de>:

It seems that many systems come with a broken MPtable.  For instance my machine
at work misses an entry for bus 4 (where my NIC is on), but instead contains an
entry for the non-existing bus 253.

One possible heuristic would be to assume that if there is one bus not mentioned
in the MPtable, but also one bus of the MPtable not existing in the system, that
this bus entry in the MPtable actually corresponds to the missing entry.  I am
not sure how good this might work though.

Alternatively, pci-pci bridges to buses which are not mentioned in the MPtable
could be treated as pci-pci bridges on physical slots, i.e. we could assume
intline round-robin.

----------
files: mptable.txt
messages: 6096
nosy: corecode
status: unread
title: need interrupt routing fallback/heuristic for broken MPtable

_____________________________________________________
DragonFly issue tracker <bugs at lists.dragonflybsd.org>
<http://bugs.dragonflybsd.org/issue1268>
_____________________________________________________
===============================================================================

MPTable, version 2.0.15

-------------------------------------------------------------------------------

MP Floating Pointer Structure:

  location:			BIOS
  physical address:		0x000fe710
  signature:			'_MP_'
  length:			16 bytes
  version:			1.4
  checksum:			0x91
  mode:				Virtual Wire

-------------------------------------------------------------------------------

MP Config Table Header:

  physical address:		0x000f0000
  signature:			'PCMP'
  base table length:		772
  version:			1.4
  checksum:			0xbf
  OEM ID:			'DELL    '
  Product ID:			'WS T3400    '
  OEM table pointer:		0x00000000
  OEM table size:		0
  entry count:			85
  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	 0x14	 BSP, usable	 6	 7	 10	 0xbfebfbff
		 1	 0x14	 AP, usable	 6	 7	 10	 0xbfebfbff
		 2	 0x14	 AP, usable	 6	 7	 10	 0xbfebfbff
		 3	 0x14	 AP, usable	 6	 7	 10	 0xbfebfbff
--
Bus:		Bus ID	Type
		 0	 PCI   
		 1	 PCI   
		 2	 PCI   
		 3	 PCI   
		 4	 PCI   
		 5	 PCI   
		 6	 ISA   
--
I/O APICs:	APIC ID	Version	State		Address
		 8	 0x20	 usable		 0xfec00000
--
I/O Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#
		ExtINT	active-hi        edge	     6	   0	      8	   0
		INT	 conforms    conforms	     6	   1	      8	   1
		INT	 conforms    conforms	     6	   0	      8	   2
		INT	 conforms    conforms	     6	   3	      8	   3
		INT	 conforms    conforms	     6	   4	      8	   4
		INT	 conforms    conforms	     6	   5	      8	   5
		INT	 conforms    conforms	     6	   6	      8	   6
		INT	 conforms    conforms	     6	   7	      8	   7
		INT	 conforms    conforms	     6	   8	      8	   8
		INT	 conforms    conforms	     6	   9	      8	   9
		INT	 conforms    conforms	     6	  10	      8	  10
		INT	 conforms    conforms	     6	  11	      8	  11
		INT	 conforms    conforms	     6	  12	      8	  12
		INT	 conforms    conforms	     6	  14	      8	  14
		INT	 conforms    conforms	     6	  15	      8	  15
		INT	 conforms    conforms	     0	 1:A	      8	  16
		INT	 conforms    conforms	     0	 1:B	      8	  17
		INT	 conforms    conforms	     0	 1:C	      8	  18
		INT	 conforms    conforms	     0	 1:D	      8	  19
		INT	 conforms    conforms	     0	 6:A	      8	  16
		INT	 conforms    conforms	     0	 6:B	      8	  17
		INT	 conforms    conforms	     0	 6:C	      8	  18
		INT	 conforms    conforms	     0	 6:D	      8	  19
		INT	 conforms    conforms	     3	 0:A	      8	  16
		INT	 conforms    conforms	     3	 0:B	      8	  17
		INT	 conforms    conforms	     3	 0:C	      8	  18
		INT	 conforms    conforms	     3	 0:D	      8	  19
		INT	 conforms    conforms	     0	26:A	      8	  16
		INT	 conforms    conforms	     0	26:B	      8	  17
		INT	 conforms    conforms	     0	26:C	      8	  22
		INT	 conforms    conforms	     0	26:D	      8	  19
		INT	 conforms    conforms	     0	27:A	      8	  16
		INT	 conforms    conforms	     0	28:A	      8	  16
		INT	 conforms    conforms	     0	28:B	      8	  17
		INT	 conforms    conforms	     0	28:C	      8	  18
		INT	 conforms    conforms	     0	28:D	      8	  19
		INT	 conforms    conforms	     0	29:A	      8	  23
		INT	 conforms    conforms	     0	29:B	      8	  17
		INT	 conforms    conforms	     0	29:C	      8	  18
		INT	 conforms    conforms	     0	29:D	      8	  19
		INT	 conforms    conforms	     0	31:A	      8	  16
		INT	 conforms    conforms	     0	31:B	      8	  17
		INT	 conforms    conforms	     0	31:C	      8	  20
		INT	 conforms    conforms	     1	 0:A	      8	  16
		INT	 conforms    conforms	     1	 0:B	      8	  17
		INT	 conforms    conforms	     1	 0:C	      8	  18
		INT	 conforms    conforms	     1	 0:D	      8	  19
		INT	 conforms    conforms	   253	   0	      8	  17
		INT	 conforms    conforms	   253	   1	      8	  18
		INT	 conforms    conforms	   253	   2	      8	  19
		INT	 conforms    conforms	   253	   3	      8	  16
		INT	 conforms    conforms	     3	 0:A	      8	  16
		INT	 conforms    conforms	     3	 0:B	      8	  17
		INT	 conforms    conforms	     3	 0:C	      8	  18
		INT	 conforms    conforms	     3	 0:D	      8	  19
		INT	 conforms    conforms	     5	 3:A	      8	  19
		INT	 conforms    conforms	     5	 3:B	      8	  16
		INT	 conforms    conforms	     5	 3:C	      8	  17
		INT	 conforms    conforms	     5	 3:D	      8	  18
		INT	 conforms    conforms	     5	 0:A	      8	  16
		INT	 conforms    conforms	     5	 0:B	      8	  17
		INT	 conforms    conforms	     5	 0:C	      8	  18
		INT	 conforms    conforms	     5	 0:D	      8	  19
		INT	 conforms    conforms	     5	 4:A	      8	  16
		INT	 conforms    conforms	     5	 4:B	      8	  17
		INT	 conforms    conforms	     5	 4:C	      8	  18
		INT	 conforms    conforms	     5	 4:D	      8	  19
		INT	 conforms    conforms	     5	 5:A	      8	  17
		INT	 conforms    conforms	     5	 5:B	      8	  18
		INT	 conforms    conforms	     5	 5:C	      8	  19
		INT	 conforms    conforms	     5	 5:D	      8	  16
--
Local Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#
		ExtINT	active-hi        edge	     6	   0	    255	   0
		NMI	active-hi        edge	     6	   0	    255	   1

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





More information about the Bugs mailing list