New submission from Simon 'corecode' Schubert <corec...@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 <b...@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

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

Reply via email to