Intel MultiProcessor Computer Hardware User Manual


 
MultiProcessor Specification
4-2 Version 1.4
The following two data structures are used:
1. The MP Floating Pointer Structure. This structure contains a physical address pointer to the
MP configuration table and other MP feature information bytes. When present, this structure
indicates that the system conforms to the MP specification. This structure must be stored in at
least one of the following memory locations, because the operating system searches for the MP
floating pointer structure in the order described below:
a. In the first kilobyte of Extended BIOS Data Area (EBDA), or
b. Within the last kilobyte of system base memory (e.g., 639K-640K for systems with 640
KB of base memory or 511K-512K for systems with 512 KB of base memory) if the
EBDA segment is undefined, or
c. In the BIOS ROM address space between 0F0000h and 0FFFFFh.
2.
The MP Configuration Table. This table is optional. The table is composed of a base section
and an extended section. The base section contains entries that are completely backwards
compatible with previous versions of this specification. The extended section contains
additional entry types. The MP configuration table contains explicit configuration information
about APICs, processors, buses, and interrupts. The table consists of a header, followed by a
number of entries of various types. The format and length of each entry depends on its type.
When present, this configuration table must be stored either in a non-reported system RAM or
within the BIOS read-only memory space.
An MP configuration table is not required if the system design corresponds to one of the default
configurations listed in Chapter 5. Note that these defaults are only for designs that are always
equipped with two processors. Systems that support a variable number of installed processors
must supply a complete MP configuration table that indicates the correct number of installed
processors. For example, systems that ship with only one processor but provide for a later upgrade
with a second processor may not use a default MP configuration.
The following is a list of the suggested memory spaces for the MP configuration table:
a. In the first kilobyte of Extended BIOS Data Area (EBDA), or
b. Within the last kilobyte of system base memory if the EBDA segment is undefined, or
c. At the top of system physical memory, or
d. In the BIOS read-only memory space between 0E0000h and 0FFFFFh.
The BIOS reports the base memory size in a two-byte location (40:13h) of the BIOS data area.
The base memory size is reported in kilobytes minus 1K, which is used by the EBDA segment or
for other purposes.
The exact starting address of the EBDA segment for EISA or MCA systems can be found in a two-
byte location (40:0Eh) of the BIOS data area. If system memory is used, the BIOS must not report
this memory as part of the available memory space.
These two MP configuration data structures can be located in the ROM space only if the system is
not dynamically reconfigurable. The MP configuration information is intended to be read-only to
the operating system.
Strings in the configuration tables are coded in ASCII. The first character of the string is stored at
the lowest address of the string field. If the string is shorter than its field, the extra character
locations are filled with space characters. Strings are not null terminated.