<?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: &amp;quot;Normal world&amp;quot; Linux for iMX6Q Lite in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470221#M74373</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you could share your patches, that would be great! Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 09 Nov 2016 13:01:21 GMT</pubDate>
    <dc:creator>fabio_estevam</dc:creator>
    <dc:date>2016-11-09T13:01:21Z</dc:date>
    <item>
      <title>"Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470203#M74355</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I got an iMX6Q Lite from Boundary Devices, and I am using their Ubuntu based released, which is working fine. Their Linux seems to be based on NXP/Freescale's Linux tree, which completely run in secure world.&lt;/P&gt;&lt;P&gt;I'm trying to port the Linux into the normal world, but I can't seem to make SMP work. If I disable SMP, I'm fine.&lt;/P&gt;&lt;P&gt;If I enable SMP but only core0 to be started, I'm fine. But as soon as I try to start a second core, I randomly crash during init. My best run was having a prompt, but can't login due to an infinite error:&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="_jivemacro_uid_14631481932935607 jive_macro_code jive_text_macro" data-renderedposition="160_50_798_48" jivemacro_uid="_14631481932935607"&gt;&lt;P&gt;nitrogen login: root&lt;/P&gt;&lt;P&gt;login: PAM Fa�lure, aborting: Criinit: ttymxc1 main process (916) terminated with status 99&lt;/P&gt;&lt;P&gt;init: ttymxc1 main process ended, respawning&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are there know Linux BSP for iMX6 boards that are running in the normal world ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;Vincent&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS: here is a summary of my changes into Linux to run it in normal mode:&lt;/P&gt;&lt;P&gt;- remove access to the diagnostic register, they are done prior to Linux by the secure world&lt;/P&gt;&lt;P&gt;- remove access to the L2 cache PL310, they are replaced by SMC commands to the monitor which performs them&lt;/P&gt;&lt;P&gt;- remove access to the SCU/SCR registers to enable the second core. Secondary cores are prepared by the secure world to be woken up using an IRQ, and Linux code is replaced by a call to&amp;nbsp; arch_send_wakeup_ipi_mask(cpumask_of(cpu));&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 May 2016 14:07:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470203#M74355</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-05-13T14:07:22Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470204#M74356</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you please clarify which board you are using? We have a Nitrogen6_Lite which is a i.MX6 Solo board, not sure what is the i.MX6Q Lite.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why do you need to run on non-secure world? I think it is supported by the mainline kernel, have you tried it? Our Nitrogen6x board is supported in mainline kernel but know that some features are missing like the use of the GPU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Gary&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 14 May 2016 16:47:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470204#M74356</guid>
      <dc:creator>gary_bisson</dc:creator>
      <dc:date>2016-05-14T16:47:51Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470205#M74357</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Gary,&lt;/P&gt;&lt;P&gt;I have a &lt;A href="https://boundarydevices.com/product/sabre-lite-imx6-sbc/" title="https://boundarydevices.com/product/sabre-lite-imx6-sbc/"&gt;https://boundarydevices.com/product/sabre-lite-imx6-sbc/&lt;/A&gt;&amp;nbsp; which is an i.MX6Q based board. We are Secure World already contains our own micro-kernel, and we want to have Linux in the Normal world to provide a "nice" interface to the whole system while having the sensitive software/data in the secure world. The issue is that BD's Linux is directly accessing some secure resources (like SRC module to control the boot of secondary cores, or direct accesses to the SCU/L2 caches). At the moment, we provide proxy (through SMC calls) so that Linux can configure the L2 cache correctly, but I did not yet succeed to fix the SMP support.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll have a look at the mainline Linux to see if they directly access SRC or not. Thank you for the information.&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;V.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 15 May 2016 16:36:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470205#M74357</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-05-15T16:36:25Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470206#M74358</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Gary,&lt;/P&gt;&lt;P&gt;I just checked mainline Linux and the issue is the same: it is made to work in the normal (which is fine since Linux is made to work alone, with no monitor/secure world blob, it should run by itself). For example in arch/arm/mach-imx/platsmp.c, you can see that the imx boards are using the "SRC" module to completely reset the secondary cores (which is secure only in a trustzone case), whereas the ls1021a boards are just issuing an IPI to the secondary cores to wake them up, which is fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm looking for a Linux kernel where Linux only uses "normal" world resources. At the moment, I'm trying to fix Linux's SMP management to be able to boot all 4 cores of my board, but for some reason, with SMP enabled and more then 1 core running, I'm getting very early random crash of the board, and I don't understand them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also I'm still trying to make my bus blaster/openocd combo work on this board so I can try to debug via jtag, but so far, no luck.&lt;/P&gt;&lt;P&gt;Any help is welcome :smileywink:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;Vincent&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 May 2016 07:05:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470206#M74358</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-05-17T07:05:06Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470207#M74359</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry for the delay, I was attending the NXP FTF this week. I've seen that you've posted a new thread with a more explicit title, I think this is good. Also, I'd send that same post to the kernel mailing list to know if Shawn or Fabio or any other person have tried that before.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As for the JTAG, here is a post of someone using OpenOCD with Segger J-Link JTAG on SabreLite:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/308778"&gt;Using JTAG for imx6 board bringup&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Gary&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 May 2016 18:07:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470207#M74359</guid>
      <dc:creator>gary_bisson</dc:creator>
      <dc:date>2016-05-20T18:07:32Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470208#M74360</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for that ! &lt;/P&gt;&lt;P&gt;About the Jtag, I check the schematics of my adapter and there are quite some differences with BD's one, so we order an adapter from BD. I'll try as soon as we receive it !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 May 2016 18:02:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470208#M74360</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-05-21T18:02:49Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470209#M74361</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/gary_bisson"&gt;gary_bisson&lt;/A&gt;​,&lt;/P&gt;&lt;P&gt;did you have any time/luck investigating this issue ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Jun 2016 10:00:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470209#M74361</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-06-24T10:00:34Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470210#M74362</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;No I unfortunately have no time to investigate this issue although I'm really interested in the outcome.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I know that some people have been able to use Linux in non-secure world in order to use TrustZone.&lt;/P&gt;&lt;P&gt;&lt;A href="https://app-community.nxp.com/thread/379983" title="https://app-community.nxp.com/thread/379983"&gt;Linux in non-secure world, Missing prefetch abo... | NXP Community&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/324207"&gt;imx6 Trustzone: How to boot smp kernel in normal world?&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The first link might be of interest. Let me know how it goes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Gary&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Jun 2016 11:02:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470210#M74362</guid>
      <dc:creator>gary_bisson</dc:creator>
      <dc:date>2016-06-24T11:02:45Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470211#M74363</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Gary, thank you for the links.&lt;/P&gt;&lt;P&gt;We already have moved the L2 cache code to the monitor and patched linux to perform the configuration using smc, but we might have missed a spot. I'll check on Monday.&lt;/P&gt;&lt;P&gt;But I'm not sure this is the same issue: one time I successfully booted in SMP, but the SD card was read-only, so Linux whole FS was read-only. When the SD card is not read-only, booting failed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any thoughts on this behavior could help :smileywink:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;V.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Jun 2016 21:44:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470211#M74363</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-06-24T21:44:38Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470212#M74364</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Gary,&lt;/P&gt;&lt;P&gt;I double-checked this L2 cache thing and we patched it (with a call to the monitor).&lt;/P&gt;&lt;P&gt;I attach to this message the patches I currently have on BD's linux vendor tree, along with the .config file:&lt;/P&gt;&lt;P&gt;repo git://github.com/boundarydevices/linux-imx6.git&lt;/P&gt;&lt;P&gt;branch boundary-imx_3.14.28_1.0.0_ga&lt;/P&gt;&lt;P&gt;revision a21d55a52d708d393b32bec813f8f13a0633d65c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With patches 0001 to 0005 (included), we can run our secure OS alongside Linux quite fine. The only issue is that Linux can't start the other cores. Patches 0006 is my current status at enabling SMP. I can't attach code of the secure os but, in a few words:&lt;/P&gt;&lt;P&gt;- I'm using the SRC module to wake up the secondary cores (in secure mode)&lt;/P&gt;&lt;P&gt;- I configure them to be usable in the normal world (same diag_register as cpu0, initialize the gic per cpu regs, nsacr configuration...)&lt;/P&gt;&lt;P&gt;- I make them loop until linux wake them up with an SGI. At this point, a switch to normal world happens and the core then jumps to Linux entry point.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CSU is fully opened (all csl registers are 00ff00ff and Type1 Masters are marked as Non Secure).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Am I missing something ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For the records, our secure os works flawlessly alongside a QorIQ ls1021a in SMP mode with the same kind of boot mecanism.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;Vincent&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Jun 2016 14:11:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470212#M74364</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-06-27T14:11:58Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470213#M74365</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for sharing your patches! Unfortunately I won't have time to look into it in a while.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However I want to emphasize that I doubt this problem is Sabre-Lite specific but instead I'm pretty sure it can be reproduced on any i.MX6 board (in case a person wants to try).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You might get more traction posting your patches on your mx6-generic post:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.freescale.com/thread/394659" title="https://community.freescale.com/thread/394659"&gt;i.MX6Q SMP in normal world | NXP Community&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, renaming your post to be "non-secure" instead of "normal", I believe this is the proper ARM term to describe what you want to achieve.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As for your problem, I wouldn't be surprised if L2 was involved in the issue since it is shared across the cores and that you have random behaviors (which is always the case with cache issues).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Gary&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Jun 2016 16:07:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470213#M74365</guid>
      <dc:creator>gary_bisson</dc:creator>
      <dc:date>2016-06-27T16:07:04Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470214#M74366</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Okay, I'll look more into it. I'm not that used to cache configuration yet. I wonder something: my monitor is only on cpu0 and all SMC are directory scheduled to be performed by cpu0. Does the L2 cache needs access by *any* CPU or can I only access it using cpu0+smc, on behalf of another cpu ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Jun 2016 16:52:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470214#M74366</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-06-27T16:52:12Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470215#M74367</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Vincent, have you had any luck on making SMP work in the normal world?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am also working on making a linux 4.6&amp;nbsp; to work in the normal world, but on a IMX53 board.&lt;/P&gt;&lt;P&gt;I get strange hangs at boot-up, and am thinking of switching to a IMX6 board, and try using &lt;A class="link-titled" href="https://boundarydevices.com/imx-linux-kernel-4-1-15/" title="https://boundarydevices.com/imx-linux-kernel-4-1-15/"&gt;https://boundarydevices.com/imx-linux-kernel-4-1-15/&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I see you have worked for a while on trying to make linux 3.10 work and have made quite some progress. Have you also tested the 4.1 version?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Darius&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Oct 2016 21:02:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470215#M74367</guid>
      <dc:creator>darius-andreisu</dc:creator>
      <dc:date>2016-10-05T21:02:43Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470216#M74368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi !&lt;/P&gt;&lt;P&gt;I'm still working on it but that's not my top priority. I had a big issue activating L2 cache &amp;amp; SCU but that's done, and now I have random "freeze" at boot (with a jtag, I can see that the core0 is not stopped, the kernel is printing lots of stuff on the uart, but nothing can be seen on my console). My guess is that Linux from the Normal Side uses the SRC component to wake up the other cores, still in TZ mode, and kaboom.&lt;/P&gt;&lt;P&gt;I have some code to remove this behavior, but I didn't have time to test it yet.&lt;/P&gt;&lt;P&gt;The minimal things you need to do from the TZ side for each core is to correctly initialize the GIC, the SCTLR &amp;amp; ACTLR registers (some bits are write secure only in the latter) and some other secure only registers like errata &amp;amp; stuff.&lt;/P&gt;&lt;P&gt;I'll let you know when I can resume this work.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Oct 2016 07:06:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470216#M74368</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-10-06T07:06:19Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470217#M74369</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Vincent,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I changed to an i.MX6Q Nitorgen6 Max board and applied your linux patches(Thank you for sharing them!!) to a 4.1 kernel.&lt;/P&gt;&lt;P&gt;Now it almost starts fine (without SMP), but it gets stuck on one of the drivers (after "backlight_lcd supply power not found, using dummy regulator", waiting for an interrupt I think).&lt;/P&gt;&lt;P&gt;Could you share your secure world configuration?&lt;/P&gt;&lt;P&gt;(I set the CSL=0x00ff00ff and CSU_SA=&amp;nbsp;0x55555554). Is there something else (GIC? ) you are setting ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Nov 2016 20:22:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470217#M74369</guid>
      <dc:creator>dariussuciu</dc:creator>
      <dc:date>2016-11-04T20:22:00Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470218#M74370</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;We are slowly going on with SMP, I now see a couple of things that were missing / badly done (like a real monitor on each core, or cache invalidation at startup).&lt;/P&gt;&lt;P&gt;For the CSU, we set all CSL to "secure / non secure RW" just like you did, and we set all the Masters to "Normal world only" in the CSU_SA (without any lock).&lt;/P&gt;&lt;P&gt;If you don't have a monitor/secure world running along side your linux, you need to correctly configure the gic at boot time so it can be accessed by the normal world. iirc the minimal things to do are:&lt;/P&gt;&lt;P&gt;- set the group of SGI / PPI (first 32 irqs) to 1 (non secure)&lt;/P&gt;&lt;P&gt;- set the priority register in the GICC&lt;/P&gt;&lt;P&gt;- enable group 0 / 1 through IRQ in the GICC control register&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Nov 2016 08:13:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470218#M74370</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-11-07T08:13:02Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470219#M74371</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you very much Vincent!&lt;/P&gt;&lt;P&gt;I was missing some gic config u-boot has when set to run with "CONFIG_ARMV7_NONSEC" and now linux4.1 boots in the normal world.&lt;/P&gt;&lt;P&gt;Good luck with making the SMP work and thanks again!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Nov 2016 23:43:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470219#M74371</guid>
      <dc:creator>dariussuciu</dc:creator>
      <dc:date>2016-11-08T23:43:22Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470220#M74372</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, it is finally done.&lt;/P&gt;&lt;P&gt;The main thing I was missing was properly install a secure monitor on each core, because my patch about Linux accessing the SNVS RTC can be executed by any core, so there were smc performed on each core. Also, my cache maintenance routines for secondary cores was a bit buggy. This has to be fail proof.&lt;/P&gt;&lt;P&gt;To summarize:&lt;/P&gt;&lt;P&gt;- remove all secure access from Linux. In my case, it was access to the SCU, SRC, PL310 &amp;amp; SNVS. We decided to implem them using call to the secure monitor at runtime.&lt;/P&gt;&lt;P&gt;- start all core and "prepare" them to be runnable by Linux: correctly install a secure monitor, set the ACTLR/NSACR/GIC secure bits correctly and make it way (e.g. using WFI) for Linux to provide a jump address, and jump to this address using an ERET from Monitor Mode, so you can switch from secure code (wait loop in the monitor / secure kernel) to normal code for Linux.&lt;/P&gt;&lt;P&gt;- patch the way Linux starts the cores (if you prevent access to the SRC via CSU, you can implement them using an SMC call. For the time being, Linux still writes the address in the SRC but "wake up" the core using a SGI)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Nov 2016 08:03:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470220#M74372</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-11-09T08:03:17Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470221#M74373</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you could share your patches, that would be great! Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Nov 2016 13:01:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470221#M74373</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2016-11-09T13:01:21Z</dc:date>
    </item>
    <item>
      <title>Re: "Normal world" Linux for iMX6Q Lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470222#M74374</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here are my patch on linux (not completely cleaned up, I'm sorry) along with the current .config &amp;amp; git information. The board is a boundary device sabre_lite.&lt;/P&gt;&lt;P&gt;I am not allowed to share the code of the secure os / monitor but I can answer some questions if my previous answer is not clear enough.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;Vincent&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Nov 2016 13:25:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/quot-Normal-world-quot-Linux-for-iMX6Q-Lite/m-p/470222#M74374</guid>
      <dc:creator>vsiles</dc:creator>
      <dc:date>2016-11-09T13:25:02Z</dc:date>
    </item>
  </channel>
</rss>

