Module mp14.inc - Intel multiprocessor specification 1.4 definitions
Intel multiprocessor specification 1.4 definitions.
Index
-
Record
MP14.ASMAPENTRY- MP extended table address range structure-
Variable
atype- Address type (MP14.ASMAPTYPE...) -
Variable
busid- Bus ID where this space is mapped -
Variable
haddr- High address word -
Variable
hlength- High length word (in bytes) -
Variable
laddr- Low address word -
Variable
length- Length in bytes (always 20) -
Variable
llength- Low length word (in bytes) -
Variable
type- MP14.ENTRY.ASMAP
-
Variable
-
Group
MP14.ASMAPTYPE- MP address range type constants-
Constant
MP14.ASMAPTYPE.IO- I/O addresses -
Constant
MP14.ASMAPTYPE.MEM- Memory addresses -
Constant
MP14.ASMAPTYPE.PF- Prefetch addresses
-
Constant
-
Record
MP14.ASMODENTRY- MP extended table address range modifier structure-
Variable
amod- Address modifier flags (MP14.ASMODFLAG...) -
Variable
busid- Bus ID where address space mappings are modified -
Variable
length- Length in bytes (always 8) -
Variable
prlist- Predefined address-range selector (MP14.ASMODRANGE...) -
Variable
type- MP14.ENTRY.ASMOD
-
Variable
-
Group
MP14.ASMODFLAG- MP address range modifier flags-
Constant
MP14.ASMODFLAG.SUB- Subtract pre-defined addresses, else add
-
Constant
-
Group
MP14.ASMODRANGE- MP address range modifier-
Constant
MP14.ASMODRANGE.ISA- ISA ranges -
Constant
MP14.ASMODRANGE.VGA- VGA ranges
-
Constant
-
Record
MP14.BHDENTRY- MP extended table bus hierarchy descriptor structure-
Variable
busid- Bus ID -
Variable
businfo- Bus information flags (MP14.BHDINFO...) -
Variable
length- Length in bytes (always 8) -
Variable
parbusid- Parent bus ID -
Variable
type- MP14.ENTRY.BHD
-
Variable
-
Group
MP14.BHDINFO- MP bus hierarchy flag bits-
Constant
MP14.BHDINFO.SD- Subtractive decode bus
-
Constant
-
Record
MP14.BUSENTRY- MP table bus entry structure-
Variable
busid- Bus ID, assigned starting from zero -
Variable
bustype- String defining the bus type -
Variable
type- MP14.ENTRY.BUS
-
Variable
-
Record
MP14.CFGTABLEHDR- MP configuration table header-
Variable
btlength- Bytes in base configuration table -
Variable
checksum- Sum of all bytes = 0 -
Variable
entries- Number of entries in variable portion of base config -
Variable
etchecksum- Extended configuration table checksum (sum = 0) -
Variable
etlength- Extended configuration table length in bytes (or zero) -
Variable
lcapic- Local APIC address -
Variable
oemid- OEM identifier -
Variable
oemlength- OEM configuration table length in bytes (or zero) -
Variable
oempa- OEM configuration table physical address (or zero) -
Variable
prodid- Product family identifier -
Variable
rsvd- Reserved -
Variable
sig- "PCMP" -
Variable
specrev- Revision (1 = 1.1, 4 = 1.4)
-
Variable
-
Record
MP14.CPUENTRY- MP table CPU entry structure-
Variable
apicid- Local APIC id -
Variable
apicver- Local APIC version register -
Variable
cflags- CPU flag bits (MP14.CPUFLAG...) -
Variable
cpusig- CPU signature bits (0-3: stepping, 4-7: model, 8-11: family) -
Variable
features- CPUID feature word -
Variable
reserved- Reserved -
Variable
type- MP14.ENTRY.CPU
-
Variable
-
Group
MP14.CPUFLAG- MP CPU flags (for )-
Constant
MP14.CPUFLAG.BOOTSTRAP- CPU is bootstrap CPU -
Constant
MP14.CPUFLAG.ENABLE- CPU is enabled, otherwise don't attempt to use
-
Constant
-
Group
MP14.ENTRY- MP base configuration entry types-
Constant
MP14.ENTRY.BUS- 8 bytes, per bus -
Constant
MP14.ENTRY.BUSINT- 8 bytes, per bus interrupt source -
Constant
MP14.ENTRY.CPU- 20 bytes, per processor -
Constant
MP14.ENTRY.IOAPIC- 8 bytes, per IO-APIC -
Constant
MP14.ENTRY.LCLINT- 8 bytes per system (local) interrupt source
-
Constant
-
Group
MP14.ENTRY- MP extended configuration entry types-
Constant
MP14.ENTRY.ASMAP- 20 bytes, system address-space mapping -
Constant
MP14.ENTRY.ASMOD- 8 bytes, compatibility bus address space modifier -
Constant
MP14.ENTRY.BHD- 8 bytes, bus hierarchy descriptor
-
Constant
-
Record
MP14.EXTMINENTRY- MP extended table minimum entry (used to determine the type)-
Variable
length- Length in bytes -
Variable
type- MP14.ENTRY.
-
Variable
-
Record
MP14.FLOAT- MP floating structure-
Variable
checksum- Sum of all bytes = 0 -
Variable
length- Always 1 (paragraphs) -
Variable
mpfeat- MP feature bytes: -
Variable
pa- Physical address -
Variable
sig- MP signature "_MP_" -
Variable
specrev- Revision (1 = 1.1, 4 = 1.4)
-
Variable
-
Record
MP14.INTENTRY- MP table interrupt entry structure-
Variable
apicid- Destination local APIC ID (0xff = all APICs) -
Variable
apicint- Destination local APIC interrupt pin (0 or 1) -
Variable
busid- Source bus ID -
Variable
busirq- Source bus IRQ -
Variable
ioflags- Interrupt flags (MP14.INTFLAG...) -
Variable
itype- Interrupt type (MP14.INTTYPE...) -
Variable
type- MP14.ENTRY.BUSINT or MP14.ENTRY.LCLINT
-
Variable
-
Group
MP14.INTFLAG.EL- MP interrupt flags-
Constant
MP14.INTFLAG.EL.CON- Conforms to bus specification -
Constant
MP14.INTFLAG.EL.EDGE- Edge triggered -
Constant
MP14.INTFLAG.EL.LEVEL- Level triggered -
Constant
MP14.INTFLAG.EL.MASK- Mask for interrupt flags
-
Constant
-
Group
MP14.INTFLAG.PO- MP interrupt flags-
Constant
MP14.INTFLAG.PO.AHIGH- Active high -
Constant
MP14.INTFLAG.PO.ALOW- Active low -
Constant
MP14.INTFLAG.PO.CON- Conforms to bus specification -
Constant
MP14.INTFLAG.PO.MASK- Mask for interrupt flags
-
Constant
-
Group
MP14.INTTYPE- MP interrupt types-
Constant
MP14.INTTYPE.EXTINT- Vec-int from external PIC -
Constant
MP14.INTTYPE.INT- Vec-int from APIC redirection table -
Constant
MP14.INTTYPE.NMI- Non-maskable interrupt -
Constant
MP14.INTTYPE.SMI- System management interrupt
-
Constant
-
Record
MP14.IOAPICENTRY- MP table IO-APIC entry structure-
Variable
aflags- IO-APIC flag bits (MP14.IOAPICFLAG...) -
Variable
apicid- IO-APIC ID -
Variable
apicpa- IO-APIC physical address -
Variable
apicver- Bits 0:7 of IO-APIC version register -
Variable
type- MP14.ENTRY.IOAPIC
-
Variable
-
Group
MP14.IOAPICFLAG- MP IO-APIC flags-
Constant
MP14.IOAPICFLAG.ENABLE- IO-APIC is enabled, otherwise don't attempt to use
-
Constant
-
Record
MP14.MINENTRY- This is the minimum entry, used to extract the 'type' byte-
Variable
reserved- Padding -
Variable
type- Entry type (see )
-
Variable
Declarations
mp14.inc:27Record MP14.FLOAT
DATA TYPE MP14.FLOAT
MP floating structure. This is located in: (aligned on 16-byte boundary)
- first kb of the EBDA (addr located through BIOS data-area at 40:0E - 40:0F)
- last kb of system memory (639k or 511k), (det through BDA at 40:13 - 40:14)
- ROM BIOS area somewhere in 0xF0000 - 0xFFFFF
mp14.inc:29Variable sig
[4]BYTE
MP signature "_MP_".
mp14.inc:30Variable pa
INT32
Physical address.
mp14.inc:31Variable length
BYTE
Always 1 (paragraphs).
mp14.inc:32Variable specrev
BYTE
Revision (1 = 1.1, 4 = 1.4).
mp14.inc:33Variable checksum
BYTE
Sum of all bytes = 0.
mp14.inc:34Variable mpfeat
[5]BYTE
MP feature bytes:
mp14.inc:42Record MP14.CFGTABLEHDR
DATA TYPE MP14.CFGTABLEHDR
MP configuration table header.
mp14.inc:44Variable sig
[4]BYTE
"PCMP".
mp14.inc:45Variable btlength
INT16
Bytes in base configuration table.
mp14.inc:46Variable specrev
BYTE
Revision (1 = 1.1, 4 = 1.4).
mp14.inc:47Variable checksum
BYTE
Sum of all bytes = 0.
mp14.inc:48Variable oemid
[8]BYTE
OEM identifier.
mp14.inc:49Variable prodid
[12]BYTE
Product family identifier.
mp14.inc:50Variable oempa
INT32
OEM configuration table physical address (or zero).
mp14.inc:51Variable oemlength
INT16
OEM configuration table length in bytes (or zero).
mp14.inc:52Variable entries
INT16
Number of entries in variable portion of base config.
mp14.inc:53Variable lcapic
INT32
Local APIC address.
mp14.inc:54Variable etlength
INT16
Extended configuration table length in bytes (or zero).
mp14.inc:55Variable etchecksum
BYTE
Extended configuration table checksum (sum = 0).
mp14.inc:56Variable rsvd
[1]BYTE
Reserved.
mp14.inc:59Group MP14.ENTRY
MP base configuration entry types.
mp14.inc:60Constant MP14.ENTRY.CPU
VAL BYTE MP14.ENTRY.CPU
20 bytes, per processor.
mp14.inc:61Constant MP14.ENTRY.BUS
VAL BYTE MP14.ENTRY.BUS
8 bytes, per bus.
mp14.inc:62Constant MP14.ENTRY.IOAPIC
VAL BYTE MP14.ENTRY.IOAPIC
8 bytes, per IO-APIC.
mp14.inc:63Constant MP14.ENTRY.BUSINT
VAL BYTE MP14.ENTRY.BUSINT
8 bytes, per bus interrupt source.
mp14.inc:64Constant MP14.ENTRY.LCLINT
VAL BYTE MP14.ENTRY.LCLINT
8 bytes per system (local) interrupt source.
mp14.inc:69Record MP14.MINENTRY
DATA TYPE MP14.MINENTRY
This is the minimum entry, used to extract the 'type' byte.
mp14.inc:72Variable reserved
[3]BYTE
Padding.
mp14.inc:75Group MP14.CPUFLAG
MP CPU flags (for MP14.ENTRY.CPU)
mp14.inc:76Constant MP14.CPUFLAG.ENABLE
VAL BYTE MP14.CPUFLAG.ENABLE
CPU is enabled, otherwise don't attempt to use.
mp14.inc:77Constant MP14.CPUFLAG.BOOTSTRAP
VAL BYTE MP14.CPUFLAG.BOOTSTRAP
CPU is bootstrap CPU.
mp14.inc:80Record MP14.CPUENTRY
DATA TYPE MP14.CPUENTRY
MP table CPU entry structure.
mp14.inc:82Variable type
BYTE
MP14.ENTRY.CPU.
mp14.inc:83Variable apicid
BYTE
Local APIC id.
mp14.inc:84Variable apicver
BYTE
Local APIC version register.
mp14.inc:85Variable cflags
BYTE
CPU flag bits (MP14.CPUFLAG...).
mp14.inc:86Variable cpusig
INT32
CPU signature bits (0-3: stepping, 4-7: model, 8-11: family).
mp14.inc:87Variable features
INT32
CPUID feature word.
mp14.inc:88Variable reserved
[8]BYTE
Reserved.
mp14.inc:92Record MP14.BUSENTRY
DATA TYPE MP14.BUSENTRY
MP table bus entry structure.
mp14.inc:94Variable type
BYTE
MP14.ENTRY.BUS.
mp14.inc:95Variable busid
BYTE
Bus ID, assigned starting from zero.
mp14.inc:96Variable bustype
[6]BYTE
String defining the bus type.
mp14.inc:99Group MP14.IOAPICFLAG
MP IO-APIC flags.
mp14.inc:100Constant MP14.IOAPICFLAG.ENABLE
VAL BYTE MP14.IOAPICFLAG.ENABLE
IO-APIC is enabled, otherwise don't attempt to use.
mp14.inc:104Record MP14.IOAPICENTRY
DATA TYPE MP14.IOAPICENTRY
MP table IO-APIC entry structure.
mp14.inc:106Variable type
BYTE
MP14.ENTRY.IOAPIC.
mp14.inc:107Variable apicid
BYTE
IO-APIC ID.
mp14.inc:108Variable apicver
BYTE
Bits 0:7 of IO-APIC version register.
mp14.inc:109Variable aflags
BYTE
IO-APIC flag bits (MP14.IOAPICFLAG...).
mp14.inc:110Variable apicpa
INT32
IO-APIC physical address.
mp14.inc:113Group MP14.INTTYPE
MP interrupt types.
mp14.inc:114Constant MP14.INTTYPE.INT
VAL BYTE MP14.INTTYPE.INT
Vec-int from APIC redirection table.
mp14.inc:115Constant MP14.INTTYPE.NMI
VAL BYTE MP14.INTTYPE.NMI
Non-maskable interrupt.
mp14.inc:116Constant MP14.INTTYPE.SMI
VAL BYTE MP14.INTTYPE.SMI
System management interrupt.
mp14.inc:117Constant MP14.INTTYPE.EXTINT
VAL BYTE MP14.INTTYPE.EXTINT
Vec-int from external PIC.
mp14.inc:119Group MP14.INTFLAG.PO
MP interrupt flags.
mp14.inc:120Constant MP14.INTFLAG.PO.MASK
VAL INT16 MP14.INTFLAG.PO.MASK
Mask for interrupt flags.
mp14.inc:121Constant MP14.INTFLAG.PO.CON
VAL INT16 MP14.INTFLAG.PO.CON
Conforms to bus specification.
mp14.inc:122Constant MP14.INTFLAG.PO.AHIGH
VAL INT16 MP14.INTFLAG.PO.AHIGH
Active high.
mp14.inc:124Constant MP14.INTFLAG.PO.ALOW
VAL INT16 MP14.INTFLAG.PO.ALOW
Active low.
mp14.inc:126Group MP14.INTFLAG.EL
MP interrupt flags.
mp14.inc:127Constant MP14.INTFLAG.EL.MASK
VAL INT16 MP14.INTFLAG.EL.MASK
Mask for interrupt flags.
mp14.inc:128Constant MP14.INTFLAG.EL.CON
VAL INT16 MP14.INTFLAG.EL.CON
Conforms to bus specification.
mp14.inc:129Constant MP14.INTFLAG.EL.EDGE
VAL INT16 MP14.INTFLAG.EL.EDGE
Edge triggered.
mp14.inc:131Constant MP14.INTFLAG.EL.LEVEL
VAL INT16 MP14.INTFLAG.EL.LEVEL
Level triggered.
mp14.inc:135Record MP14.INTENTRY
DATA TYPE MP14.INTENTRY
MP table interrupt entry structure.
mp14.inc:137Variable type
BYTE
MP14.ENTRY.BUSINT or MP14.ENTRY.LCLINT.
mp14.inc:138Variable itype
BYTE
Interrupt type (MP14.INTTYPE...).
mp14.inc:139Variable ioflags
INT16
Interrupt flags (MP14.INTFLAG...).
mp14.inc:140Variable busid
BYTE
Source bus ID.
mp14.inc:141Variable busirq
BYTE
Source bus IRQ.
mp14.inc:142Variable apicid
BYTE
Destination local APIC ID (0xff = all APICs).
mp14.inc:143Variable apicint
BYTE
Destination local APIC interrupt pin (0 or 1).
mp14.inc:148Group MP14.ENTRY
MP extended configuration entry types.
mp14.inc:149Constant MP14.ENTRY.ASMAP
VAL BYTE MP14.ENTRY.ASMAP
20 bytes, system address-space mapping.
mp14.inc:150Constant MP14.ENTRY.BHD
VAL BYTE MP14.ENTRY.BHD
8 bytes, bus hierarchy descriptor.
mp14.inc:151Constant MP14.ENTRY.ASMOD
VAL BYTE MP14.ENTRY.ASMOD
8 bytes, compatibility bus address space modifier.
mp14.inc:157Record MP14.EXTMINENTRY
DATA TYPE MP14.EXTMINENTRY
MP extended table minimum entry (used to determine the type).
mp14.inc:159Variable type
BYTE
MP14.ENTRY.. type.
mp14.inc:160Variable length
BYTE
Length in bytes.
mp14.inc:164Group MP14.ASMAPTYPE
MP address range type constants.
mp14.inc:165Constant MP14.ASMAPTYPE.IO
VAL BYTE MP14.ASMAPTYPE.IO
I/O addresses.
mp14.inc:166Constant MP14.ASMAPTYPE.MEM
VAL BYTE MP14.ASMAPTYPE.MEM
Memory addresses.
mp14.inc:167Constant MP14.ASMAPTYPE.PF
VAL BYTE MP14.ASMAPTYPE.PF
Prefetch addresses.
mp14.inc:171Record MP14.ASMAPENTRY
DATA TYPE MP14.ASMAPENTRY
MP extended table address range structure.
mp14.inc:173Variable type
BYTE
MP14.ENTRY.ASMAP.
mp14.inc:174Variable length
BYTE
Length in bytes (always 20).
mp14.inc:175Variable busid
BYTE
Bus ID where this space is mapped.
mp14.inc:176Variable atype
BYTE
Address type (MP14.ASMAPTYPE...).
mp14.inc:177Variable laddr
INT32
Low address word.
mp14.inc:178Variable haddr
INT32
High address word.
mp14.inc:179Variable llength
INT32
Low length word (in bytes).
mp14.inc:180Variable hlength
INT32
High length word (in bytes).
mp14.inc:183Group MP14.BHDINFO
MP bus hierarchy flag bits.
mp14.inc:184Constant MP14.BHDINFO.SD
VAL BYTE MP14.BHDINFO.SD
Subtractive decode bus.
mp14.inc:188Record MP14.BHDENTRY
DATA TYPE MP14.BHDENTRY
MP extended table bus hierarchy descriptor structure.
mp14.inc:190Variable type
BYTE
MP14.ENTRY.BHD.
mp14.inc:191Variable length
BYTE
Length in bytes (always 8).
mp14.inc:192Variable busid
BYTE
Bus ID.
mp14.inc:193Variable businfo
BYTE
Bus information flags (MP14.BHDINFO...).
mp14.inc:194Variable parbusid
BYTE
Parent bus ID.
mp14.inc:198Group MP14.ASMODFLAG
MP address range modifier flags.
mp14.inc:199Constant MP14.ASMODFLAG.SUB
VAL BYTE MP14.ASMODFLAG.SUB
Subtract pre-defined addresses, else add.
mp14.inc:201Group MP14.ASMODRANGE
MP address range modifier.
mp14.inc:202Constant MP14.ASMODRANGE.ISA
VAL INT32 MP14.ASMODRANGE.ISA
ISA ranges.
mp14.inc:203Constant MP14.ASMODRANGE.VGA
VAL INT32 MP14.ASMODRANGE.VGA
VGA ranges.
mp14.inc:207Record MP14.ASMODENTRY
DATA TYPE MP14.ASMODENTRY
MP extended table address range modifier structure.
mp14.inc:209Variable type
BYTE
MP14.ENTRY.ASMOD.
mp14.inc:210Variable length
BYTE
Length in bytes (always 8).
mp14.inc:211Variable busid
BYTE
Bus ID where address space mappings are modified.
mp14.inc:212Variable amod
BYTE
Address modifier flags (MP14.ASMODFLAG...).
mp14.inc:213Variable prlist
INT32
Predefined address-range selector (MP14.ASMODRANGE...).