[U-Boot] [PATCH v2] mx6: add support of multi-processor command

gabriel huau contact at huau-gabriel.fr
Sun Jun 22 16:24:41 CEST 2014


Hi Nikolay,

I agree that you have to modify those OS to support 'multi-OS' on 
different core but this customization is not part of u-boot in my sense. 
For the second point, I have to disagree, the imx6 is totally 
appropriate for AMP/multi-OS, in my case, I wasn't thinking about 
virtualization which is something different but really about 
multi-OS/Bare Metal application. The interrupt controller (GIC) can be 
configured to distribute any interrupt on any core, for example, you can 
have UART1 interrupt on core0 and UART2 interrupt on core1.
The only problem is the resource partitioning but as I said this is 
another subject which is not really part of u-boot and I already did 
some test by running Android on core0 and QNX on core1 without any 
problem as a proof of concept.

A good example may be the support on this kind of application on the 
Zynq: http://www.wiki.xilinx.com/Multi-OS+Support+%28AMP+%26+Hypervisor%29
This is also a Cortex A9 without the support of virtualization extensions.

Regards,
Gabriel

On 06/22/2014 07:09 AM, Nikolay Dimitrov wrote:
> Hi Gabriel,
>
>> This allows u-boot to load different OS or Bare Metal application on the
>> different cores of the i.MX6DQ.
>> For example: we can run Android on cpu0 and a RT OS like QNX/FreeRTOS 
>> on cpu1.
>
> I think this explanation is a little misleading - if you run 
> unmodified versions of Android & some RTOS, they will fight for the 
> imx6 interrupt controller, power management and clocks. As far as I 
> know, imx6 is not appropriate for AMP (asymmetric multi-processing) 
> because it doesn't support virtualization extensions.
>
> Kind regards,
> Nikolay



More information about the U-Boot mailing list