<?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: facing issue with assembly instruction mtmsr in PowerQUICC Processors</title>
    <link>https://community.nxp.com/t5/PowerQUICC-Processors/facing-issue-with-assembly-instruction-mtmsr/m-p/271978#M503</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your code looks as if it is Linux user space.&lt;/P&gt;&lt;P&gt;mtmsr is a privileged instruction. A Linux user process is not allowed to mess with mtmsr directly. This is for the kernel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Heinz&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 15 Jul 2013 11:52:25 GMT</pubDate>
    <dc:creator>hwrobel</dc:creator>
    <dc:date>2013-07-15T11:52:25Z</dc:date>
    <item>
      <title>facing issue with assembly instruction mtmsr</title>
      <link>https://community.nxp.com/t5/PowerQUICC-Processors/facing-issue-with-assembly-instruction-mtmsr/m-p/271976#M501</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am facing some issue with mtmsr assembly instruction while trying to write into msr register of MPC8641D.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;below is my code which is compiling successfully but get runtime error as illegal instruction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;register long toMSR;&lt;BR /&gt;register long fromMSR;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;asm ("mfmsr %0;"&lt;/P&gt;&lt;P&gt;&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; : "=r" (fromMSR)&amp;nbsp; // output operand&lt;/P&gt;&lt;P&gt;&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; );&lt;/P&gt;&lt;P&gt;printf("after mfmsr");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;asm("mtmsr %0;"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : "r" (toMSR) // input operand&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/P&gt;&lt;P&gt;printf(" after mtmsr");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Output:&lt;/P&gt;&lt;P&gt;after mfmsr&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;illegal instruction -- error&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;what could be the possible error in the above code?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;is the syntax is correct?&lt;BR /&gt;c&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Jul 2013 11:02:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/PowerQUICC-Processors/facing-issue-with-assembly-instruction-mtmsr/m-p/271976#M501</guid>
      <dc:creator>lakshmanank</dc:creator>
      <dc:date>2013-07-15T11:02:21Z</dc:date>
    </item>
    <item>
      <title>Re: facing issue with assembly instruction mtmsr</title>
      <link>https://community.nxp.com/t5/PowerQUICC-Processors/facing-issue-with-assembly-instruction-mtmsr/m-p/271977#M502</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please find below an example about using mtmsr instruction with MW compiler from CW Classic:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;asm void __reset(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; //&lt;/P&gt;&lt;P&gt;&amp;nbsp; //&amp;nbsp;&amp;nbsp; Enable altivec, floating point and machine check exception&lt;/P&gt;&lt;P&gt;&amp;nbsp; //&lt;/P&gt;&lt;P&gt;&amp;nbsp; lis r3, 0x0200&lt;/P&gt;&lt;P&gt;&amp;nbsp; ori r3, r3, 0x3000&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; mtmsr r3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; b __start&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What toolchain/compiler are you using? Can you tell me please also your CW version?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards and thank you,&lt;/P&gt;&lt;P&gt;Marius&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Jul 2013 11:20:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/PowerQUICC-Processors/facing-issue-with-assembly-instruction-mtmsr/m-p/271977#M502</guid>
      <dc:creator>marius_grigoras</dc:creator>
      <dc:date>2013-07-15T11:20:03Z</dc:date>
    </item>
    <item>
      <title>Re: facing issue with assembly instruction mtmsr</title>
      <link>https://community.nxp.com/t5/PowerQUICC-Processors/facing-issue-with-assembly-instruction-mtmsr/m-p/271978#M503</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your code looks as if it is Linux user space.&lt;/P&gt;&lt;P&gt;mtmsr is a privileged instruction. A Linux user process is not allowed to mess with mtmsr directly. This is for the kernel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Heinz&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Jul 2013 11:52:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/PowerQUICC-Processors/facing-issue-with-assembly-instruction-mtmsr/m-p/271978#M503</guid>
      <dc:creator>hwrobel</dc:creator>
      <dc:date>2013-07-15T11:52:25Z</dc:date>
    </item>
    <item>
      <title>Re: facing issue with assembly instruction mtmsr</title>
      <link>https://community.nxp.com/t5/PowerQUICC-Processors/facing-issue-with-assembly-instruction-mtmsr/m-p/271979#M504</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Marius&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using Buildroot cross compiler for MP8641HPCN architecture.&lt;/P&gt;&lt;P&gt;I am not using any Code Warrior. I am just building an userspace application and trying&lt;/P&gt;&lt;P&gt;in my board loaded with linux.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi Heinz&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your reply. So You mean I dont have any write access from userspace to change the MSR.&lt;/P&gt;&lt;P&gt;Is my understanding correct??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;Lachu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jul 2013 03:03:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/PowerQUICC-Processors/facing-issue-with-assembly-instruction-mtmsr/m-p/271979#M504</guid>
      <dc:creator>lakshmanank</dc:creator>
      <dc:date>2013-07-16T03:03:28Z</dc:date>
    </item>
    <item>
      <title>Re: facing issue with assembly instruction mtmsr</title>
      <link>https://community.nxp.com/t5/PowerQUICC-Processors/facing-issue-with-assembly-instruction-mtmsr/m-p/271980#M505</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Correct. You can’t execute privileged instructions in user mode. Check, e.g., the e600 documentation and the Power ISA 2.06 for details.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jul 2013 05:08:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/PowerQUICC-Processors/facing-issue-with-assembly-instruction-mtmsr/m-p/271980#M505</guid>
      <dc:creator>hwrobel</dc:creator>
      <dc:date>2013-07-16T05:08:40Z</dc:date>
    </item>
    <item>
      <title>Re: facing issue with assembly instruction mtmsr</title>
      <link>https://community.nxp.com/t5/PowerQUICC-Processors/facing-issue-with-assembly-instruction-mtmsr/m-p/271981#M506</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Heinz&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you told me I understood that I cannot use msmtr instruction in userspace. I am now writing the msr register in uboot initialization and verifying what I have written. I am trying to write an application to run on uboot. prior to that I tried running the hello_world demo example in uboot. I am facing issue with loads command. after going through some web sources I understood it may be a problem in load address.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I want to know how should I separate the application from compiling along with uboot so that i dont want to compile uboot everytime I want to compile my application.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or do we have any other replacement to wrtie into MSR and other special purpose registers in userspace application(using movw instruction).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Lakshmanan K&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Jul 2013 05:53:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/PowerQUICC-Processors/facing-issue-with-assembly-instruction-mtmsr/m-p/271981#M506</guid>
      <dc:creator>lakshmanank</dc:creator>
      <dc:date>2013-07-17T05:53:23Z</dc:date>
    </item>
  </channel>
</rss>

