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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

System Management Mode<br />

Figure 2-29. SMM Execution Flow Diagram<br />

SMI Sampled Active<br />

CPU State Stored in SMM<br />

Address Space Header<br />

Program Flow Transfers<br />

to SMM Address Space<br />

CPU Enters Real Mode<br />

Execution Begins at SMM<br />

Address Space Base Address<br />

RSM Instruction Restores CPU<br />

State Using Header Informatiomn<br />

Normal Execution Resumes<br />

A complete CPU state save is performed by using MOV instructions to save<br />

normally accessible information, and by using the SMM instructions to save<br />

CPU information that is not normally accessible to the programmer. As will be<br />

explained, SMM instructions (SVDC, SVLDT, and SVTS) are used to store the<br />

LDTR, TSR and segment registers and their associated descriptor cache<br />

entries in aO-bit memory locations. After power up or at the end of the SMI<br />

service routine, the MOV and additional SMM instructions (RSDC, RSLDT,<br />

and RSTS) are used to restore the CPU state. The SMM RSM instruction<br />

returns the CPU to normal execution.<br />

2.6.3 SMM Memory Space Header<br />

With every SMI interrupt, certain CPU state information is automatically saved<br />

in the SMM memory space header located at the top of SMM address space<br />

(Figure 2-30 and Table 2-23). The header contains CPU state information<br />

that is modified when servicing an SMI interrupt. Included in this information<br />

are two pointers. The Current IP points to the instruction executing when the<br />

SMI was detected. The Next IP pOints to the instruction that will be executed<br />

after exiting SMM. <strong>Al</strong>so saved are the contents of debug register? (DR?), the<br />

extended flags register (EFLAGS), and control register 0 (CRO). If SMM has<br />

been entered due to an 1/0 trap for a REP INSx or REP OUTSx instruction, the<br />

Current IP and Next IP fields (Table 2-23) contain the same addresses and<br />

the I and P fields contain valid information.<br />

2-53

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

Saved successfully!

Ooh no, something went wrong!