Method of limiting maximum SMI latency using NMI

IP.com Prior Art Database Disclosure
IP.com Disclosure Number: IPCOM000189323D
Publication Date: 05-Nov-2009
Find Similar Download

Publishing Venue

The IP.com Prior Art Database

Abstract

System Management Interrupt (SMI) can be used to monitor, manage and control systems independent of the operating system (OS). However, the time spent in the SMI handler is not visible to the OS. Also, SMI is a very high priority non-maskable interrupt. So, the OS looses timer tick interrupts, if the system is in the SMI handler for longer than the timer tick interval. This results in the time drift between the real time clock and the operating system time, as well as affecting the real time response to the operating system interrupts.

Language

English (United States)

Document File

2 pages / 23.1 KB

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 2

Method of limiting maximum SMI latency using NMI

Methods used currently rely on cooperation from the actions performed by the SMI handler, where each action is responsible for limiting the time spent in the SMI handler. If the action needs to poll for something for a long time, next SMI is scheduled after some time and current SMI exits, to let the operating system code run. However, this method doesn't ensure the maximum SMI latency required for the real time applications or prevent operating system time drift.

A better method (as shown in the figure) is to use a Non Maskable Interrupt (NMI) inside the System Management Interrupt (SMI) handler to limit the time spent in the SMI handler. SMI handler creates its own interrupt table before arming a single-shot timer to cause an NMI after some time, but before the maximum SMI latency limit. Upon NMI from the timer, SMI handler saves its current state, schedules the next SMI after some timer and exits the current SMI. Upon the next SMI, after arming the single-shot NMI timer, the SMI handler restores the previous state and resumes, if left behind by the previous SMI. If SMI handler has finished its job, timer NMI is cancelled before exiting the SMI.

NMI is chosen instead of other operating system interrupts, to prevent collision with other hardware generated interrupt sources, because they NMI can be unmasked, while leaving all other operating system interrupts masked. NMI handler in the SMI co...

First page image
You are not signed in. If you have an IP.com account, your download price may be lower or waived. Click here if you want to sign-in now.
Loading PayPal...
The full document comprises 2 pages and is available as a PDF document as well as a ZIP archive. The cost is $40.00 USD (depending on your billing address, sales tax may apply); payment may be made directly using your credit card or your PayPal account.

If you've already purchased this document, and wish to download it now you may enter the download access code you received in your original email receipt.