x86 platforms have a feature called System Management Mode which
can interrupt normal execution flow without the Operating System's
knowledge or control. It can be a serious hazard to real-time
applications because it could be invoked in the middle of a time
critical operation. Some examples of what it does:
* Handle system events like memory or chipset errors.
* Manage system safety functions, such as shutdown on high CPU temperature.
* Control power management operations, such as turning on fans.
* Emulate motherboard hardware that is unimplemented or buggy.
* Emulate a PS/2 mouse or keyboard from a USB one.
* Centralize system configuration, such as on Toshiba and IBM notebook computers.
* Emulate or forward calls to a Trusted Platform Module
SMM is entered via the SMI (system management interrupt), which is caused by:
* Motherboard hardware or chipset signalling via a
designated pin of the processor chip. This signal can be an independent
event.
* Software SMI triggered by the system software via an I/O
access to a location considered special by the motherboard logic (port
0B2h is common).
* An IO write to a location which the firmware has requested that the processor chip act on.
Unfortunately, it is difficult to verify if, or when, the SMI is
occurring. Some BIOS settings may allow prevention of SMM. For
example, the emulation of a PS/2 keyboard can be controlled by a setting
that might be called "Legacy USB Support" or "Legacy Keyboard Device".
This is best set to OFF in a system where real-time behavior is
important.
--Note, much of the information contained here was taken from the wikipedia entry, "System Management Mode"