mpdump

Firmware Test Suite - mpdump utility

This utility will annotate any existing Multi Processor tables where possible. The MultiProcessor Specification describes enhancements to both operating systems and firmware allowing them to work with x86 processors in a multi-processor system.

An example of the annotated dump is as follows:

Dump MultiProcessor Data.
--------------------------------------------------------------------------------
Test 1 of 1: Dump Multi Processor Data.
MultiProcessor Header: (@0x000e0940)
  Signature:          PCMP
  Table Length:       0x2bc bytes
  Spec Revision:      4 (1.4)
  OEM ID:             INTEL   
  Product ID:         CHIEFRIVER  
  Entry Count:        0x4c
  LAPIC Address:      0xfee00000
  Extended Length:    0x54 bytes

CPU Entry: (@0x000e096c)
  Local APIC ID:      0x00
  Local APIC Version: 0x15
  CPU Flags:          0x03
    Usable:           1 (Yes)
    Bootstrap CPU:    1 (Yes)
  CPU Signature:
    Stepping:         0x09
    Model:            0x0a
    Family:           0x06
  Feature Flags:
    FPU present:      1 (Yes)
    MCE:              1 (Yes)
    CPMPXCHG8B:       1 (Yes)
    APIC enabled:     1 (Yes)

CPU Entry: (@0x000e0980)
  Local APIC ID:      0x01
  Local APIC Version: 0x15
  CPU Flags:          0x01
    Usable:           1 (Yes)
    Bootstrap CPU:    0 (No)
  CPU Signature:
    Stepping:         0x09
    Model:            0x0a
    Family:           0x06
  Feature Flags:
    FPU present:      1 (Yes)
    MCE:              1 (Yes)
    CPMPXCHG8B:       1 (Yes)
    APIC enabled:     1 (Yes)

CPU Entry: (@0x000e0994)
  Local APIC ID:      0x02
  Local APIC Version: 0x15
  CPU Flags:          0x01
    Usable:           1 (Yes)
    Bootstrap CPU:    0 (No)
  CPU Signature:
    Stepping:         0x09
    Model:            0x0a
    Family:           0x06
  Feature Flags:
    FPU present:      1 (Yes)
    MCE:              1 (Yes)
    CPMPXCHG8B:       1 (Yes)
    APIC enabled:     1 (Yes)

CPU Entry: (@0x000e09a8)
  Local APIC ID:      0x03
  Local APIC Version: 0x15
  CPU Flags:          0x01
    Usable:           1 (Yes)
    Bootstrap CPU:    0 (No)
  CPU Signature:
    Stepping:         0x09
    Model:            0x0a
    Family:           0x06
  Feature Flags:
    FPU present:      1 (Yes)
    MCE:              1 (Yes)
    CPMPXCHG8B:       1 (Yes)
    APIC enabled:     1 (Yes)

Bus Entry: (@0x000e09bc)
  Bus ID:             0x00
  Bus Type:           PCI   

Bus Entry: (@0x000e09c4)
  Bus ID:             0x01
  Bus Type:           PCI   

Bus Entry: (@0x000e09cc)
  Bus ID:             0x02
  Bus Type:           PCI   

Bus Entry: (@0x000e09d4)
  Bus ID:             0x03
  Bus Type:           ISA   

IO APIC Entry: (@0x000e09dc)
  IO APIC ID:         0x02
  IO APIC Version:    0x20
  Flags:              0x01
  Address:            0xfec00000

...

Local Interrupt Assignement Entry: (@0x000e0bf4)
  Interrupt Type:     0x01 (NMI)
  Flags:              0x0005
     PO (Polarity)    0 (Conforms to bus specification)
     EL (Trigger)     0 (Conforms to bus specification)
  Src Bus ID:         0x03
  Src Bus IRQ         0x00
  Dst I/O APIC:       0xff
  Dst I/O APIC INTIN: 0x01

System Address Space Mapping Entry: (@0x000e0bfc)
  Bus ID:             0x00
  Address Type:       0x00 (I/O)
  Address Start:      0x0000000000000000
  Address End:        0x0000000000010000
  Address Length      0x0000000000010000

System Address Space Mapping Entry: (@0x000e0c10)
  Bus ID:             0x00
  Address Type:       0x01 (Memory)
  Address Start:      0x00000000000a0000
  Address End:        0x00000000000c0000
  Address Length      0x0000000000020000

System Address Space Mapping Entry: (@0x000e0c24)
  Bus ID:             0x00
  Address Type:       0x01 (Memory)
  Address Start:      0x00000000e0000000
  Address End:        0x00000000f1600000
  Address Length      0x0000000011600000

Bus Hierarchy Descriptor Entry: (@0x000e0c38)
  Bus ID:             0x03
  Bus Information:    0x1
  Parent Bus:         0x00000000

Compatible Bus Hierarchy Descriptor Entry: (@0x000e0c40)
  Bus ID:             0x00
  Address Mod:        0x00
  Predefine Range:    0x00000000

Compatible Bus Hierarchy Descriptor Entry: (@0x000e0c48)
  Bus ID:             0x00
  Address Mod:        0x00
  Predefine Range:    0x00000001

--------------------------------------------------------------------------------
Collated Data:

Bus:
   ID  Type
    0  PCI   
    1  PCI   
    2  PCI   
    3  ISA   

APIC IDs:
   ID  Type
    0  CPU Local APIC
    1  CPU Local APIC
    2  I/O APIC
    2  CPU Local APIC
    3  CPU Local APIC

IO Interrupts:
  Src Bus  Src Bus  Src Bus  Dst I/O   Dst I/O     Type   Polarity   Trigger
    ID      Type      IRQ     APIC    APIC INTIN
     0      PCI         0        2        16      INT       Rsv        Rsv    
     0      PCI         1        2        17      INT       Rsv        Rsv    
     0      PCI         2        2        18      INT       Rsv        Rsv    
     0      PCI         3        2        19      INT       Rsv        Rsv    
     0      PCI         4        2        16      INT       Rsv        Rsv    
     0      PCI         5        2        17      INT       Rsv        Rsv    
     0      PCI         6        2        18      INT       Rsv        Rsv    
     0      PCI         7        2        19      INT       Rsv        Rsv    
     0      PCI         8        2        16      INT       Rsv        Rsv    
     0      PCI        16        2        16      INT       Rsv        Rsv    
     0      PCI        17        2        17      INT       Rsv        Rsv    
     0      PCI        18        2        18      INT       Rsv        Rsv    
     0      PCI        19        2        19      INT       Rsv        Rsv    
     0      PCI        24        2        19      INT       Rsv        Rsv    
     0      PCI        25        2        16      INT       Rsv        Rsv    
     0      PCI        26        2        17      INT       Rsv        Rsv    
     0      PCI        27        2        18      INT       Rsv        Rsv    
     0      PCI        28        2        16      INT       Rsv        Rsv    
     0      PCI        80        2        16      INT       Rsv        Rsv    
     0      PCI        88        2        16      INT       Rsv        Rsv    
     0      PCI        89        2        19      INT       Rsv        Rsv    
     0      PCI        90        2        18      INT       Rsv        Rsv    
     0      PCI        91        2        17      INT       Rsv        Rsv    
     0      PCI       100        2        20      INT       Rsv        Rsv    
     0      PCI       104        2        16      INT       Rsv        Rsv    
     0      PCI       105        2        21      INT       Rsv        Rsv    
     0      PCI       106        2        18      INT       Rsv        Rsv    
     0      PCI       107        2        19      INT       Rsv        Rsv    
     0      PCI       108        2        22      INT       Rsv        Rsv    
     0      PCI       112        2        16      INT       Rsv        Rsv    
     0      PCI       113        2        17      INT       Rsv        Rsv    
     0      PCI       114        2        18      INT       Rsv        Rsv    
     0      PCI       115        2        19      INT       Rsv        Rsv    
     0      PCI       116        2        23      INT       Rsv        Rsv    
     0      PCI       117        2        19      INT       Rsv        Rsv    
     0      PCI       118        2        16      INT       Rsv        Rsv    
     0      PCI       119        2        18      INT       Rsv        Rsv    
     0      PCI       124        2        21      INT       Rsv        Rsv    
     0      PCI       125        2        19      INT       Rsv        Rsv    
     0      PCI       126        2        18      INT       Rsv        Rsv    
     0      PCI       127        2        16      INT       Rsv        Rsv    
     1      PCI         0        2        16      INT       Rsv        Rsv    
     1      PCI         1        2        17      INT       Rsv        Rsv    
     1      PCI         2        2        18      INT       Rsv        Rsv    
     1      PCI         3        2        19      INT       Rsv        Rsv    
     2      PCI         0        2        17      INT       Rsv        Rsv    
     2      PCI         1        2        18      INT       Rsv        Rsv    
     2      PCI         2        2        19      INT       Rsv        Rsv    
     2      PCI         3        2        16      INT       Rsv        Rsv    
     3      ISA         0        2         2      INT       Con        Con    
     3      ISA         0        2         0      ExtInt    Con        Con    
     3      ISA         1        2         1      INT       Con        Con    
     3      ISA         3        2         3      INT       Con        Con    
     3      ISA         4        2         4      INT       Con        Con    
     3      ISA         5        2         5      INT       Con        Con    
     3      ISA         6        2         6      INT       Con        Con    
     3      ISA         7        2         7      INT       Con        Con    
     3      ISA         8        2         8      INT       Con        Con    
     3      ISA         9        2         9      INT       Rsv        Rsv    
     3      ISA        10        2        10      INT       Rsv        Rsv    
     3      ISA        11        2        11      INT       Rsv        Rsv    
     3      ISA        12        2        12      INT       Con        Con    
     3      ISA        13        2        13      INT       Con        Con    
     3      ISA        14        2        14      INT       Con        Con    
     3      ISA        15        2        15      INT       Con        Con    

Local Interrupts:
  Src Bus  Src Bus  Src Bus  Dst I/O   Dst I/O     Type   Polarity   Trigger
    ID      Type      IRQ     APIC    APIC INTIN
     3      ISA         0      all         1      NMI       Con        Con    
     3      ISA         0      all         0      ExtInt    Con        Con    

Key: Con - Conforms to bus spec, Hi - Active High, Lo - Active Lo
     Rsv - Reserved, Lvl - Level Triggered, Edg - Edge Triggered

System Address Table:
  Start Address      End Address      Bus ID  Type
  0000000000000000 - 0000000000010000    0    I/O
  00000000000a0000 - 00000000000c0000    0    Memory
  00000000e0000000 - 00000000f1600000    0    Memory

Example:

sudo fwts mpdump - 

..runs mpdump on your machine and dumps the output to stdout.

FirmwareTestSuite/Reference/mpdump (last edited 2016-01-11 07:23:59 by anthonywong)