Intel 64 and IA-32 Architectures Software Developers Manual Volume 3B, System Programming Guide Part 2

Table Of Contents
25-22 Vol. 3
SYSTEM MANAGEMENT
tion restart field is set to FFH prior to returning from the second SMI handler, the EIP
will point to an address different from the originally interrupted I/O instruction, which
will likely lead to a program error. To avoid this situation, the SMI handler must be
able to recognize the occurrence of back-to-back SMI interrupts when I/O instruction
restart is being used and insure that the handler sets the I/O instruction restart field
to 00H prior to returning from the second invocation of the SMI handler.
25.13 SMM MULTIPLE-PROCESSOR CONSIDERATIONS
The following should be noted when designing multiple-processor systems:
Any processor in a multiprocessor system can respond to an SMM.
Each processor needs its own SMRAM space. This space can be in system
memory or in a separate RAM.
The SMRAMs for different processors can be overlapped in the same memory
space. The only stipulation is that each processor needs its own state save area
and its own dynamic data storage area. (Also, for the Pentium and Intel486
processors, the SMBASE address must be located on a 32-KByte boundary.) Code
and static data can be shared among processors. Overlapping SMRAM spaces can
be done more efficiently with the P6 family processors because they do not
require that the SMBASE address be on a 32-KByte boundary.
The SMI handler will need to initialize the SMBASE for each processor.
Processors can respond to local SMIs through their SMI# pins or to SMIs received
through the APIC interface. The APIC interface can distribute SMIs to different
processors.
Two or more processors can be executing in SMM at the same time.
When operating Pentium processors in dual processing (DP) mode, the SMIACT#
pin is driven only by the MRM processor and should be sampled with ADS#. For
additional details, see Chapter 14 of the Pentium Processor Family User’s Manual,
Volume 1.
SMM is not re-entrant, because the SMRAM State Save Map is fixed relative to the
SMBASE. If there is a need to support two or more processors in SMM mode at the
same time then each processor should have dedicated SMRAM spaces. This can be
done by using the SMBASE Relocation feature (see Section 25.11).
25.14 DEFAULT TREATMENT OF SMIS AND SMM WITH VMX
OPERATION AND SMX OPERATION
Under the default treatment, the interactions of SMIs and SMM with VMX operation
are few. This section details those interactions. It also explains how this treatment
affects SMX operation.