System Management Mode (SMM) 6-29
18524C/0—Nov1996 AMD-K5 Processor Technical Reference Manual
If the SMM base address is rewritten, the processor saves its
state at the new base address the next time SMM is entered,
and each time thereafter, until RESET. The relocated
addresses for the SMM memory will then be as follows:
■ SMM base address—Default: 0003_0000h. Relocated: offset
FEF8 in the SMM state-save area (see Table 6-2)
■ Service Routine Entry Point—SMM base address + 8000h
■ Top—SMM base address + FFFFh
This SMM base address relocation feature is compatible with
the Pentium processor’s analogous feature. The following
pseudo-code implements a relocatable SMM base address in
BIOS:
begin
{
if SMI Handler is to be Relocated then
{
set SMM Base Address (offset FEF8h) to new value
resume
}
else
{
SMM execution to begin at relocation area.
resume
}
}
end
To relocate the SMM base address above the 1-Mbyte limit
imposed by Real-mode segment addressing, use the address-
override prefix to generate the offset in 32-bit registers. If the
SMM base address is relocated to a block below 16 Mbytes,
data in the DS segment (which has a segment base of
0000_0000h) can be accessed by the following code:
mov ebx,00FExxxxh; 64K segment from 00FE_0000h to 00FE_FFFFh
mov ax, ds:[ebx]