<?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 UnDocumented MSR's in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/UnDocumented-MSR-s/m-p/968420#M23419</link>
    <description>&lt;P&gt;I have come accross BIOS code that reads/writes an MSR ECX = 0x2e0.&amp;nbsp; I have scanned through all of the Intel documentation and cant find anything about this MSR&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;The codes is executed on a CORE i7 3820qm&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;
&lt;P&gt;Matt&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Sun, 04 Aug 2013 21:24:17 GMT</pubDate>
    <dc:creator>Matthew_K_1</dc:creator>
    <dc:date>2013-08-04T21:24:17Z</dc:date>
    <item>
      <title>UnDocumented MSR's</title>
      <link>https://community.intel.com/t5/Software-Archive/UnDocumented-MSR-s/m-p/968420#M23419</link>
      <description>&lt;P&gt;I have come accross BIOS code that reads/writes an MSR ECX = 0x2e0.&amp;nbsp; I have scanned through all of the Intel documentation and cant find anything about this MSR&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;The codes is executed on a CORE i7 3820qm&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;
&lt;P&gt;Matt&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 04 Aug 2013 21:24:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/UnDocumented-MSR-s/m-p/968420#M23419</guid>
      <dc:creator>Matthew_K_1</dc:creator>
      <dc:date>2013-08-04T21:24:17Z</dc:date>
    </item>
    <item>
      <title>You may want to check out the</title>
      <link>https://community.intel.com/t5/Software-Archive/UnDocumented-MSR-s/m-p/968421#M23420</link>
      <description>&lt;P&gt;You may want to check out the "Default x86 Port Address Assignments" table from this website:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.brokenthorn.com/Resources/OSDev7.html"&gt;http://www.brokenthorn.com/Resources/OSDev7.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;-Thai&lt;/P&gt;</description>
      <pubDate>Thu, 05 Sep 2013 15:57:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/UnDocumented-MSR-s/m-p/968421#M23420</guid>
      <dc:creator>Quoc-Thai_L_Intel</dc:creator>
      <dc:date>2013-09-05T15:57:28Z</dc:date>
    </item>
    <item>
      <title>I think the table above lists</title>
      <link>https://community.intel.com/t5/Software-Archive/UnDocumented-MSR-s/m-p/968422#M23421</link>
      <description>&lt;P style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;I think the table above lists I/O ports, whereas the question was about MSRs.&lt;/P&gt;

&lt;P style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;MSR 0x2e0 seems to enable no-evict mode (NEM), also known as Cache-as-RAM which is used to execute the firmware code (BIOS/UEFI) for the early boot stage from the CPU's cache. Without Cache-as-RAM, code fetches are routed directly to the SPI flash that holds the firmware, which is painfully slow.&lt;/P&gt;

&lt;P style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;This StackOverflow answer has some useful details:&amp;nbsp;http://stackoverflow.com/a/24710093/537046&lt;/P&gt;

&lt;BLOCKQUOTE style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;
	&lt;P&gt;&lt;SPAN style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 19.5px;"&gt;Update 2: A 2011 Lenovo patent&amp;nbsp;&lt;/SPAN&gt;&lt;A href="http://www.google.com/patents/US8037292" rel="nofollow" style="color: rgb(12, 101, 165); border: 0px; font-size: 15px; cursor: pointer; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 19.5px;"&gt;http://www.google.com/patents/US8037292&lt;/A&gt;&lt;SPAN style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 19.5px;"&gt;&amp;nbsp;discusses using the newer (?) No-Eviction mode (NEM) on Intel CPUs for loading the BIOS in the CPU's cache. The method can probably be used for other type of code, including supervisors. There's a big caveat though. Code other than the already cached stuff will run very slowly, so I don't see this as really usable outside the boot procedure. There's some coreboot code showing how to enable NEM (&lt;/SPAN&gt;&lt;A href="https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/84defb44fabf2e81498c689d1b0713a479162fae/src/soc/intel/baytrail/romstage/cache_as_ram.inc" rel="nofollow" style="color: rgb(12, 101, 165); border: 0px; font-size: 15px; cursor: pointer; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 19.5px;"&gt;https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/84defb44fabf2e81498c689d1b0713a479162fae/src/soc/intel/baytrail/romstage/cache_as_ram.inc&lt;/A&gt;&lt;SPAN style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 19.5px;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Wed, 25 Feb 2015 01:10:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/UnDocumented-MSR-s/m-p/968422#M23421</guid>
      <dc:creator>Victor_C_</dc:creator>
      <dc:date>2015-02-25T01:10:17Z</dc:date>
    </item>
  </channel>
</rss>

