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.

SMM Errata<br />

A.16 SMM Errata<br />

The following condition is known to exist:<br />

If the CPU is in V86 mode and is interrupted by an SMI, the VM bit in the<br />

EFLAG8 register is not cleared as it should be during real mode operation. Not<br />

clearing this bit can cause protection errors of valid instructions that are being<br />

executed in the 8MI handler. This can be resolved by adding the following code<br />

after saving all used registers:<br />

rsdc<br />

mov<br />

mov<br />

mov<br />

mov<br />

push<br />

mov<br />

push<br />

mov<br />

push<br />

iretd<br />

@@:<br />

ss,<br />

esp,<br />

ax,<br />

ss,<br />

eax,<br />

eax<br />

eax,<br />

eax<br />

eax,<br />

eax<br />

cs: , [gdt+g_big]<br />

offset smistack<br />

cs<br />

ax<br />

0<br />

cs<br />

offset @F<br />

change ss limit to 4 GBytes<br />

create new stack pointer<br />

new stack segment<br />

flags after iretd<br />

segment after iretd<br />

offset after iretd<br />

Note: See Section A.6, debugging example, for usage of above code.<br />

A-47

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

Saved successfully!

Ooh no, something went wrong!