MultiProcessor Specification
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.,
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
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
The BIOS reports the base memory size in a
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
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.
Version 1.4 |