- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have a question on the treatment of NMI after RSM if the SMI originates while in an NMI handler:
From Intel PRM vol 3b Section 24.8:
"A special case can occur when a SMI nests inside an NMI handler and then another NMI occurs. When the processor enters SMM while executing the NMI handler, it does not save the attribute to block NMI. Potentially an NMI can be latched and can be serviced upon SMM exit even though the previous NMI handler has not completed".
I tried to re-create this scenario (on Conroe) and so far I have been unsuccessful. In a nutshell, I do not see the CPU entering the NMI handler twice.
Here is a quick snaphot of what I am trying to do:
1) Inject an NMI
2) Now inside NMI handler
3) Inject SMI
4) Enter SMM
5) Inject NMI
6) Execute RSM.
7) Out-of-SMM in the NMI handler again.
Note that the second NMI injected in step 5 is not recognized. Of course, if I execute IRET that might cause the second NMI to be recognized (but I do not want to use IRET in SMM handler).
So, here is my theory and I want someone from the Intel Engineering team to confirm this:
I think going into SMM, Conroe saves the NMI blocking attribute (either internally or in some reserved area in the SMM map). Upon a RSM, the NMI blocking attribute is restored which causes it to not re-enter the NMI handler.
If this is true, my suggestion would be to atleast remove the above section from the PRM. If my theory is incorrect, feel free to correct me and offer an explanation for why the second NMI is not taken.
Please note: It does not matter where i inject the second NMI. I have tried to inject the NMI in step 2 (while in the NMI handler) and the result is the same. Thanks!
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Thank you for contacting Intel Software Network Support.
Regards,
Gina B.
Intel Software Network Support
http://www.intel.com/software
email: ISN.support@intel.com
Intel is a registered trademark of Intel Corporation or its subsidiaries in the United States and other countries.
*Other names and brands may be claimed as the property of others.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page