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)