Module mp14.inc - Intel multiprocessor specification 1.4 definitions

Intel multiprocessor specification 1.4 definitions.

Index

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:71Variable type

BYTE

Entry type (see MP14.ENTRY).

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...).