<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: SMI nested inside a  NMI handler in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/SMI-nested-inside-a-NMI-handler/m-p/875227#M8909</link>
    <description>&lt;P&gt;&lt;FONT face="Arial"&gt;Hello,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial" color="#000000"&gt;Thank you for contacting Intel Software Network Support. &lt;/FONT&gt;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN class="823245918-06042007"&gt;&lt;FONT face="Arial" color="#000000"&gt;Please refer to section 5.7 and 5.7.1 of the &lt;EM&gt;Intel 64 and IA-32 Software Developer's Manual, volume 3A, System Programming GuidePart 1. &lt;/EM&gt;This discusses the multiple NMI issue. It explicitly states that nesting of NMI is not possible. A pended NMI will not be handled until execution of the IRET instruction.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class="823245918-06042007"&gt;&lt;FONT face="Arial" color="#000000"&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class="823245918-06042007"&gt;&lt;FONT face="Arial" color="#000000"&gt;&lt;A title="http://support.intel.com/design/processor/manuals/253668.pdf" href="http://support.intel.com/design/processor/manuals/253668.pdf"&gt;http://support.intel.com/design/processor/manuals/253668.pdf&lt;/A&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT face="Arial" color="#000000"&gt;Regards,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial"&gt;Gina B.&lt;BR /&gt;Intel Software Network Support&lt;BR /&gt;&lt;/FONT&gt;&lt;A href="http://www.intel.com/software"&gt;&lt;FONT face="Arial"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;A href="http://www.intel.com/software" target="_blank"&gt;http://www.intel.com/software&lt;/A&gt;&lt;BR /&gt;&lt;FONT face="Arial"&gt;email: &lt;/FONT&gt;&lt;A href="mailto:ISN.support@intel.com"&gt;&lt;FONT face="Arial"&gt;ISN.support@intel.com&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial"&gt;Intel is a registered trademark of Intel Corporation or its subsidiaries in the United States and other countries. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial"&gt;*Other names and brands may be claimed as the property of others.&lt;/FONT&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 06 Apr 2007 22:22:41 GMT</pubDate>
    <dc:creator>Intel_Software_Netw1</dc:creator>
    <dc:date>2007-04-06T22:22:41Z</dc:date>
    <item>
      <title>SMI nested inside a  NMI handler</title>
      <link>https://community.intel.com/t5/Software-Archive/SMI-nested-inside-a-NMI-handler/m-p/875225#M8907</link>
      <description>&lt;P&gt;&lt;FONT size="2"&gt;&lt;FONT face="Arial"&gt;I have a question on the treatment of NMI after RSM if the SMI originates while in an NMI handler: &lt;BR /&gt;&lt;BR /&gt;From Intel PRM vol 3b Section 24.8:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;"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".&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial" size="2"&gt;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. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial" size="2"&gt;Here is a quick snaphot of what I am trying to do: &lt;BR /&gt;1) Inject an NMI&lt;BR /&gt;2) Now inside NMI handler&lt;BR /&gt;3) Inject SMI&lt;BR /&gt;4) Enter SMM&lt;BR /&gt;5) Inject NMI&lt;BR /&gt;6) Execute RSM.&lt;BR /&gt;7) Out-of-SMM in the NMI handler again. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial" size="2"&gt;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).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial" size="2"&gt;So, here is my theory and I want someone from the Intel Engineering team to confirm this: &lt;BR /&gt;&lt;BR /&gt;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. &lt;BR /&gt;&lt;BR /&gt;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.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial" size="2"&gt;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!&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Mar 2007 22:16:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/SMI-nested-inside-a-NMI-handler/m-p/875225#M8907</guid>
      <dc:creator>vishwa_m</dc:creator>
      <dc:date>2007-03-22T22:16:20Z</dc:date>
    </item>
    <item>
      <title>Re: SMI nested inside a  NMI handler</title>
      <link>https://community.intel.com/t5/Software-Archive/SMI-nested-inside-a-NMI-handler/m-p/875226#M8908</link>
      <description>&lt;P&gt;&lt;FONT face="Arial"&gt;You might find this website useful:&lt;BR /&gt;&lt;/FONT&gt;&lt;A href="http://my.opera.com/reversing/blog/show.dml/430045?show=login"&gt;&lt;FONT face="Arial"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;A href="http://my.opera.com/reversing/blog/show.dml/430045?show=login" target="_blank"&gt;http://my.opera.com/reversing/blog/show.dml/430045?show=login&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Mar 2007 18:04:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/SMI-nested-inside-a-NMI-handler/m-p/875226#M8908</guid>
      <dc:creator>crazysaguaro</dc:creator>
      <dc:date>2007-03-29T18:04:45Z</dc:date>
    </item>
    <item>
      <title>Re: SMI nested inside a  NMI handler</title>
      <link>https://community.intel.com/t5/Software-Archive/SMI-nested-inside-a-NMI-handler/m-p/875227#M8909</link>
      <description>&lt;P&gt;&lt;FONT face="Arial"&gt;Hello,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial" color="#000000"&gt;Thank you for contacting Intel Software Network Support. &lt;/FONT&gt;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN class="823245918-06042007"&gt;&lt;FONT face="Arial" color="#000000"&gt;Please refer to section 5.7 and 5.7.1 of the &lt;EM&gt;Intel 64 and IA-32 Software Developer's Manual, volume 3A, System Programming GuidePart 1. &lt;/EM&gt;This discusses the multiple NMI issue. It explicitly states that nesting of NMI is not possible. A pended NMI will not be handled until execution of the IRET instruction.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class="823245918-06042007"&gt;&lt;FONT face="Arial" color="#000000"&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class="823245918-06042007"&gt;&lt;FONT face="Arial" color="#000000"&gt;&lt;A title="http://support.intel.com/design/processor/manuals/253668.pdf" href="http://support.intel.com/design/processor/manuals/253668.pdf"&gt;http://support.intel.com/design/processor/manuals/253668.pdf&lt;/A&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT face="Arial" color="#000000"&gt;Regards,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial"&gt;Gina B.&lt;BR /&gt;Intel Software Network Support&lt;BR /&gt;&lt;/FONT&gt;&lt;A href="http://www.intel.com/software"&gt;&lt;FONT face="Arial"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;A href="http://www.intel.com/software" target="_blank"&gt;http://www.intel.com/software&lt;/A&gt;&lt;BR /&gt;&lt;FONT face="Arial"&gt;email: &lt;/FONT&gt;&lt;A href="mailto:ISN.support@intel.com"&gt;&lt;FONT face="Arial"&gt;ISN.support@intel.com&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial"&gt;Intel is a registered trademark of Intel Corporation or its subsidiaries in the United States and other countries. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial"&gt;*Other names and brands may be claimed as the property of others.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Apr 2007 22:22:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/SMI-nested-inside-a-NMI-handler/m-p/875227#M8909</guid>
      <dc:creator>Intel_Software_Netw1</dc:creator>
      <dc:date>2007-04-06T22:22:41Z</dc:date>
    </item>
  </channel>
</rss>

