Home
Support

Knowledge Base

BSPs and drivers
Community resources
Product documentation
Questions?
Contact us

Application occasionally not meeting realtime deadline
 
________________________________________________________________________

Applicable Environment
________________________________________________________________________
  • Topic: Application occasionally not meeting realtime deadline
  • SDP: 6.3.2
  • Target: x86
________________________________________________________________________

Recommendation
________________________________________________________________________

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"

________________________________________________________________________
NOTE: This entry has been validated against the SDP version listed above. Use caution when considering this advice for any other SDP version. For supported releases, please reach out to QNX Technical Support if you have any questions/concerns.
________________________________________________________________________


Related Attachments
 None Found





Please contact us with your questions or concerns.