<?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 Problem with memory transfers in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Problem-with-memory-transfers/m-p/927940#M14280</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;I read the memory from the XeonPhi by using the MicAccessAPI and boot an own 32bit kernel on the card. Now I had problems, seeing my debug data on the host. On the XeonPhi, I write directly to some memory like this (in 32bit code):&lt;BR /&gt;
	c6 05 05 80 0b 00 44 &amp;nbsp;&amp;nbsp; &amp;nbsp;movb&amp;nbsp;&amp;nbsp; $0x44,0xb8005&lt;BR /&gt;
	But the value 0x44 does not become visible with the MicAccessAPI. It seems like the data is staying in the cache or the core hangs. wbinvd and clflush after the mov instruction did not help.&lt;/P&gt;

&lt;P&gt;After some experimenting, I figured out that following code seems work:&lt;BR /&gt;
	bf 00 80 0b 00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0xb8000,%edi&lt;BR /&gt;
	c6 07 aa&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;movb&amp;nbsp;&amp;nbsp; $0xaa,(%edi)&lt;/P&gt;

&lt;P&gt;Is the latter variant reliable? I also tried loops that wrote 64 and more bytes in a row and some of these did not become visible...&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 04 Dec 2013 15:46:27 GMT</pubDate>
    <dc:creator>Randolf_R_</dc:creator>
    <dc:date>2013-12-04T15:46:27Z</dc:date>
    <item>
      <title>Problem with memory transfers</title>
      <link>https://community.intel.com/t5/Software-Archive/Problem-with-memory-transfers/m-p/927940#M14280</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;I read the memory from the XeonPhi by using the MicAccessAPI and boot an own 32bit kernel on the card. Now I had problems, seeing my debug data on the host. On the XeonPhi, I write directly to some memory like this (in 32bit code):&lt;BR /&gt;
	c6 05 05 80 0b 00 44 &amp;nbsp;&amp;nbsp; &amp;nbsp;movb&amp;nbsp;&amp;nbsp; $0x44,0xb8005&lt;BR /&gt;
	But the value 0x44 does not become visible with the MicAccessAPI. It seems like the data is staying in the cache or the core hangs. wbinvd and clflush after the mov instruction did not help.&lt;/P&gt;

&lt;P&gt;After some experimenting, I figured out that following code seems work:&lt;BR /&gt;
	bf 00 80 0b 00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0xb8000,%edi&lt;BR /&gt;
	c6 07 aa&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;movb&amp;nbsp;&amp;nbsp; $0xaa,(%edi)&lt;/P&gt;

&lt;P&gt;Is the latter variant reliable? I also tried loops that wrote 64 and more bytes in a row and some of these did not become visible...&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 04 Dec 2013 15:46:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Problem-with-memory-transfers/m-p/927940#M14280</guid>
      <dc:creator>Randolf_R_</dc:creator>
      <dc:date>2013-12-04T15:46:27Z</dc:date>
    </item>
    <item>
      <title>Nevermind. Looks like the</title>
      <link>https://community.intel.com/t5/Software-Archive/Problem-with-memory-transfers/m-p/927941#M14281</link>
      <description>&lt;P&gt;Nevermind. Looks like the fboot1 bootloader does not switch back to 32bit mode if it loads a 64bit ELF image instead of a Linux bzImage. That was left a bit vague in the manual.&lt;/P&gt;

&lt;P&gt;Which makes me wonder, whether the SFI tables are there and in which states the AP cores are left...&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 04 Dec 2013 20:04:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Problem-with-memory-transfers/m-p/927941#M14281</guid>
      <dc:creator>Randolf_R_</dc:creator>
      <dc:date>2013-12-04T20:04:39Z</dc:date>
    </item>
  </channel>
</rss>

