AnsweredAssumed Answered

imx6 Trustzone: How to boot smp kernel in normal world?

Question asked by steven shen on May 21, 2014
Latest reply on Jun 5, 2014 by steven shen

I try implement trustzone on collage-mx6q board, now there is a simple secure kernel and secure os can work.

after secure parts startup, it will switch to non-secure status to run uboot and kernel.

now the uboot can work, but the kernel can work only without SMP setting , it means I can only use one processor.


part log:

Linux version 3.0.35-2026-geaaf30e-g679aa00-dirty


Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available

CPU1: failed to come online

CPU1: failed to come online


I setting some parts what need to do in my opinion.

1. CSU    all reg setting 0x00ff00ff

2. SCU    SCU Access Control Register is 0xf, SCU Non-secure Access Control Register is 0xfff

3. GIC-v1     ICDISR0-n reg, PPI and SGI all setting non-secure,, SPI almost setting non-secure(except some need secure)

4. some reg in cp15 and PL310 can not setting in non-secure, i have use smc to fix it.


but i have no idea about "CPU1: failed to come online"

is there any suggestion  about smp kernel can not work?