17.05.2015 Views

TI486 Microprocessor - Al Kossow's Bitsavers

TI486 Microprocessor - Al Kossow's Bitsavers

TI486 Microprocessor - Al Kossow's Bitsavers

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

System Management Mode<br />

Figure 2-30. SMM Memory Space Header<br />

Top of SMM -----.<br />

Address Space<br />

31 o<br />

DR7<br />

-4h<br />

EFLAGS<br />

-8h<br />

CRO<br />

-Ch<br />

Current IP<br />

-10h<br />

Next IP<br />

31 16 15 0 -14h<br />

Reserved<br />

I<br />

CS Selector<br />

-18h<br />

CS Descriptor (Bits 63-32)<br />

-1Ch<br />

31<br />

CS Descriptor (Bits 31-0) 2 1 0<br />

-20h<br />

Reserved<br />

Ipl'l<br />

-24h<br />

Reserved<br />

-28h<br />

Reserved<br />

-2Ch<br />

ESI or EDI<br />

-30h<br />

Table 2-23. SMM Memory Space Header<br />

NAME DESCRIPTION SIZE<br />

DR7 The contents of the debug register 7. 4 Bytes<br />

EFLAGS The contents of the extended flag register. 4 Bytes<br />

CRO The contents of the control register O. 4 Bytes<br />

Current IP The address of the instruction executed prior to servicing the SMI interrupt. 4 Bytes<br />

Next IP The address of the next instruction that will be executed after exiting the SMM mode. 4 Bytes<br />

CS Selector Code segment register selector for the current code segment. 2 Bytes<br />

CS Descriptor Code register descriptor for the current code segment. 8 Bytes<br />

P REP INSX/OUTSx Indicator 1 Bit<br />

P = 1 if current instruction has a REP prefix<br />

P = 0 if current instruction does not have REP prefix<br />

I IN, INSx, OUT, or OUTSx Indicator 1 Bit<br />

1=1 if current instruction performed is an I/O WRITE<br />

I = 0 if current instruction performed is an I/O READ<br />

ESI or EDI Restored ESI or EDI value. Used when it is necessary to repeat an REP OUTSx or 4 Bytes<br />

REP INSx instruction when one of the I/O cycles caused an SMI trap<br />

Note:<br />

Note:<br />

INSx = INS, INSB, INSW, or INSD instruction.<br />

OUTSx = OUTS, OUTSB, OUTSW, or OUTSD instruction.<br />

2.6.4 SMM Instructions<br />

The <strong>TI486</strong> automatically saves the minimal amount of CPU state information<br />

when entering SMM which allows fast SMI service routine entry and exit. After<br />

entering the SMI service routine, the MOV, SVDC, SVLDT, and SVTS<br />

instructions can be used to save the complete CPU state information. If the<br />

SMI service routine either modifies more than what is automatically saved or<br />

forces the CPU to power down, the complete CPU state information must be<br />

saved. Since the <strong>TI486</strong> is a static device, its internal state is retained when the<br />

input clock is stopped. Therefore, an entire CPU state save is not necessary<br />

prior to stopping the input clock.<br />

2-54<br />

Programming Interface

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!