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.

Introduction<br />

C.1.2 Protected-Mode to Real-Mode Switching<br />

Protected-mode to real-mode switching can be implemented to handle cases<br />

where the as has been booted, applications have been running, and the CPU<br />

needs to be reset to switch from protected mode to real mode. The objective<br />

is to switch CPU modes and jump back into the as or application at some<br />

saved return address. Because the CPU was reset, the internal cache wll have<br />

been disabled. Before returning control to the application the cache should be<br />

turned back on, but only if it was on before the reset occurred, This is<br />

accomplished by checking the cache enable flag in the non-volatile RAM, to<br />

see if the user enabled caching from the setup screen. However, if the BIOS<br />

allows the user to turn off the cache by a hot-key combination (perhaps as part<br />

of speed switching), other checks may need to be performed to see if the cache<br />

should be turned back on.<br />

C.1.3 Soft Reset/CTRL-ALT-DEL<br />

The objective of a soft reset is to reset the system and reboot the as, similar<br />

to power-on and hard-reset, but a hard reset of the CPU is not generated.<br />

Thus, the CPU's internal cache is not disabled (if it was on). This can have a<br />

negative impact on memory sizing code, such as generating memory size<br />

mismatch errors. In this situation, disable the internal cache and enable it prior<br />

to booting, if enabled by the user in setup.<br />

C.1.4 Turning On and Off the Internal Cache<br />

When the <strong>TI486</strong> internal cache is turned on or off, the following guidelines<br />

should be observed:<br />

1) Turn off interrupts - CLI<br />

2) Turn off cache using CRO bit 30 and flush using WBINVD<br />

3) Manipulate cache registers<br />

4) Turn on cache and flush using WBINVD<br />

5) Turn on interrupts - STI<br />

The above sequence ensures that the process is not interrupted until complete<br />

and that no cache coherency issues arise when the cach is turned back on.<br />

When manipulating the cache registers it is a good idea to explicitly set each<br />

register instead of relying on default values.<br />

C-2<br />

<strong>TI486</strong> BIOS Modification Guide

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

Saved successfully!

Ooh no, something went wrong!