Intel MultiProcessor manual MP Floating Pointer Structure, MP Configuration Table

Page 39

MP Configuration Table

4.1MP Floating Pointer Structure

An MP-compliant system must implement the MP floating pointer structure, which is a variable length data structure in multiples of 16 bytes. Currently, only one 16-byte data structure is defined. It must span a minimum of 16 contiguous bytes, beginning on a 16-byte boundary, and it must be located within the physical address as specified in the previous section. To determine whether the system conforms to the MP specification, the operating system must search for the MP floating pointer structure in the order specified in the previous section. Figure 4-2 shows the format of this structure, and Table 4-1 explains each of the fields. See also Appendix E, for more information.

31

24 23

16 15

8

 

7

 

0

 

 

 

 

 

 

 

MP FEATURE

 

 

 

0CH

 

 

 

 

 

 

BYTES 2-5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MP FEATURE

 

CHECKSUM

 

SPEC_REV

 

 

LENGTH

 

08H

 

 

 

BYTE 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PHYSICAL ADDRESS POINTER

 

 

 

04H

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SIGNATURE

 

 

 

00H

 

 

 

_ (5Fh)

 

P (50h)

 

M (4Dh)

 

 

_ (5Fh)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

24 23

16 15

8

 

7

 

0

 

 

 

 

 

 

 

 

 

 

Figure 4-2. MP Floating Pointer Structure

 

 

 

Table 4-1. MP Floating Pointer Structure Fields

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Offset

Length

 

 

 

 

 

 

 

Field

(in bytes:bits) (in bits)

Description

 

 

 

 

 

 

 

 

 

 

 

 

SIGNATURE

0

 

 

32

 

The ASCII string represented by “_MP_” which

 

 

 

 

 

 

 

 

serves as a search key for locating the pointer

 

 

 

 

 

 

 

 

structure.

 

 

 

 

 

 

 

 

 

 

 

 

 

PHYSICAL ADDRESS

4

 

 

32

 

The address of the beginning of the MP

 

POINTER

 

 

 

 

 

configuration table. All zeros if the MP

 

 

 

 

 

 

 

 

configuration table does not exist.

 

 

 

 

 

 

 

 

 

LENGTH

8

 

 

8

 

The length of the floating pointer structure table

 

 

 

 

 

 

 

 

in paragraph (16-byte) units. The structure is

 

 

 

 

 

 

 

 

16 bytes or 1 paragraph long; so this field

 

 

 

 

 

 

 

 

contains 01h.

 

 

 

 

 

 

 

 

 

 

 

 

SPEC_REV

9

 

 

8

 

The version number of the MP specification

 

 

 

 

 

 

 

 

supported. A value of 01h indicates Version 1.1.

 

 

 

 

 

 

 

 

A value of 04h indicates Version 1.4.

 

 

 

 

 

 

 

 

 

CHECKSUM

10

 

 

8

 

A checksum of the complete pointer structure.

 

 

 

 

 

 

 

 

All bytes specified by the length field, including

CHECKSUM and reserved bytes, must add up to zero.

Version 1.4

4-3

Image 39
Contents MultiProcessor Specification Copyright 1993-1997. Intel Corporation, All Rights Reserved Revision Revision History Date Revision HistoryPage Table of Contents MP Configuration Table Default ConfigurationsContents Appendix a System Bios Programming Guidelines Appendix B Operating System Programming GuidelinesAppendix E Errata Glossary Tables FiguresExamples Page Conceptual Overview GoalsFeatures of the Specification MultiProcessor SpecificationScope Introduction Target AudienceOrganization of This Document Document OrganizationFor More Information Conventions Used in This DocumentSystem Overview System Processors Hardware OverviewSystem Overview Advanced Programmable Interrupt Controller4 I/O Expansion Bus System MemoryOperating System Overview Bios OverviewPage System Memory Configuration Hardware SpecificationSystem Memory Address Map System Memory Cacheability and ShareabilityMemory Cacheability Map Hardware SpecificationLocking External Cache SubsystemPosted Memory Write Multiprocessor Interrupt ControlApic Architecture Apic Versions Interrupt ModesPIC Mode PIC Mode Virtual Wire Mode via Local Apic Virtual Wire ModeVirtual Wire Mode via I/O Apic Symmetric I/O Mode Symmetric I/O ModeAssignment of System Interrupts to the Apic Local Unit Floating Point Exception InterruptApic Memory Mapping Apic Identification Apic Interval TimersSystem-wide Reset Reset SupportProcessor-specific Init System-wide InitSystem Initial State Support for Fault-resilient BootingMP Configuration Table MultiProcessor Specification MP Configuration Table MP Floating Pointer StructureOffset Length Field Bytesbits in bits Description Information Bytes MP FeatureOffset Length Field Bytesbits Bits Description Information ByteMP Configuration Table Header MP Configuration Table HeaderBase MP Configuration Table Entries MP Configuration Table Header FieldsOffset Length Field Bytes Bits Description Apic Base MP Configuration Table Entry TypesProcessor Entries Length Entry Description Entry Type Code Bytes CommentsProcessor Entry Fields Bit Name Description Comments Feature Flags from Cpuid InstructionIntel486 and Pentium Processor Signatures Family Model Stepping a DescriptionString Bus EntriesBUS ID BUS TypeBus Type String Description Bus Type String ValuesI/O Apic Entry Fields 3 I/O Apic Entries4 I/O Interrupt Assignment Entries Apic EntryI/O Interrupt Entry 10. I/O Interrupt Entry Fields Local Interrupt Assignment Entries 11. Interrupt Type ValuesInterrupt Type Description Comments LINTIN# 12. Local Interrupt Entry FieldsDestination Local Apic ID Destination Local ApicExtended MP Configuration Table Entries System Address Space Mapping Entries 14. System Address Space Mapping Entry Fields 10. Example System with Multiple Bus Types and Bridge Types Bus Hierarchy Descriptor Entry Compatibility Bus Address Space Modifier Entry 12. Compatibility Bus Address Space Modifier Entry 16. Compatibility Bus Address Space Modifier Entry Fields Default Configurations Config Code CPUs Type Variant Schematic Discrete Apic ConfigurationsDefault Configurations Default Number BusDefault Configurations Default Configuration for Discrete ApicIntegrated Apic Configurations Default Configuration for Integrated Apic First I/O Default Configuration Interrupt AssignmentsConfig INTINx Comments Assignment of I/O Interrupts to the Apic I/O UnitLevel-triggered Interrupt Support All Local APICs Config LINTINx CommentsAssignment of System Interrupts to the Apic Local Unit Eisa and IRQ13MultiProcessor Specification Bios Post Initialization System Bios Programming GuidelinesControlling the Application Processors Programming the Apic for Virtual Wire ModeSystem Bios Programming Guidelines Example A-1. Programming Local Apic for Virtual Wire ModeNMI Constructing the MP Configuration TableSystem Bios Programming Guidelines Page Operating System Programming Guidelines Operating System Boot-upInterrupt Mode Initialization and Handling Operating System Booting and Self-configurationOperating System Programming Guidelines Application Processor StartupUsing Init IPI AP Shutdown Handling Using Startup IPIHandling TLB Invalidation Other IPI ApplicationsSpurious Apic Interrupts Handling Cache FlushSupporting Unequal Processors Page System Compliance Checklist Page Variable Interrupt Routing Interrupt Routing with Multiple APICsFixed Interrupt Routing INTD# Bus Entries in Systems with More Than One PCI BusI/O Interrupt Assignment Entries for PCI Devices Multiple I/O Apic Multiple PCI Bus SystemsPage Errata 126 System Address Space Entry System Address Space Mapping EntriesAddress Base 14. System Address Space Mapping Entry FieldsEntry Length Address TypeSpace records must also be provided Bus Hierarchy Descriptor EntryParent BUS BUS InformationsdGlossary Glossary-2 Order Number