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.

SMM Implementation<br />

6) NMI is the only enabled interrupt at the entry to the SMI handler. It is<br />

advised that system designers provide latches to disable NMI while the<br />

8MI is in progress.<br />

7) The SMI handler can execute calls, jumps, and other changes of flow and<br />

will generate software interrupts and faults using the current definition of<br />

the lOT. (Note that on entry to the 8MI handler the lOT is not set to the reset<br />

real mode value of 0:0.)<br />

8) The SMI handler can go from real mode to protected mode and vice-versa.<br />

<strong>Al</strong>most anything that can be done normally may be done during the SMI<br />

service routine.<br />

9) Data from 8MM memory is not cached.<br />

10) If the location of SMM space is beyond 1 MByte, the value in CS will<br />

truncate the segment above 16 bits. This would prohibit doing calls or<br />

INTS from real mode without restoring the 32-bit features of the 486<br />

because of the incorrect return address on the stack.<br />

11) An undefined opcode exception will typically be generated when<br />

conditions are not correct to permit the execution of SMM instructions.<br />

12) To execute outside the SMM region (BIOS, debugger, etc.) the C8 limit<br />

must be changed after entry to the SMI handler. The limit of the CS<br />

segment register is set to the size of the SMM region in AAR4. This means<br />

that EIP cannot become larger than the SMM region size. Since jumps in<br />

real mode do not change the C8 limit, this has implications for software<br />

interrupts and jumps out of 8MM space. (See Section A.15 for details and<br />

options.<br />

13) Segment registers other than the CS have the limits set in the<br />

non-programmer-visible portion that were present before the SM!. To<br />

avoid a protection error due to limit or other violation, the RSOC SMM<br />

instruction should be used to change the limit of the register in use. (See<br />

Section A.14.)<br />

A-7

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

Saved successfully!

Ooh no, something went wrong!