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.

Figure A-1. SMM Memory Space Header<br />

Top of SMM ---.<br />

Address Space<br />

Table A-1. SMM Memory Space Header<br />

SMM Implementation<br />

registers. The INT 3 debug code trap technique can be used, however, prior<br />

to the occurrence of the 8MI in 8MM space. Once the 8MI has occurred and<br />

the debugger has control in 8MM space, the debug registers can be used for<br />

the remaining 8MI execution.<br />

31 o<br />

31<br />

31<br />

DR7<br />

-4h<br />

EFLAGS<br />

-8h<br />

CRO<br />

-Ch<br />

Current IP<br />

-10h<br />

Next IP<br />

16 15 0 -14h<br />

Reserved CS Selector<br />

I<br />

-18h<br />

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

-1Ch<br />

CS qescriptor (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 />

NAME<br />

DESCRIPTION<br />

DR?<br />

The contents of the debug register?<br />

EFLAGS<br />

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

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

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

Next IP<br />

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

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

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

P<br />

I<br />

ESI or EDI<br />

REP INSxlOUTSx Indicator<br />

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

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

IN, INSx, OUT, or OUTSx Indicator<br />

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

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

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

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

SIZE<br />

4 Bytes<br />

4 Bytes<br />

4 Bytes<br />

4 Bytes<br />

4 Bytes<br />

2 Bytes<br />

8 Bytes<br />

1 Bit<br />

1 Bit<br />

4 Bytes<br />

Note:<br />

Note:<br />

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

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

A.2.2.2 Exiting the SMI Handler<br />

When the R8M instruction is executed at the end of the 8MI handler the IP is<br />

loaded from the top of the 8MM at the address (8MMbase +8MMsize - 14h)<br />

called 8M,-NEXTIP. This permits the instruction to be restarted. The values<br />

A-5

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

Saved successfully!

Ooh no, something went wrong!