AnsweredAssumed Answered

IMX6 CAAM kerne panic in non-secure world Linux kernel

Question asked by MyungJin Hwang on Apr 2, 2015

I modified Linux kernel to work in non-secure world.

Linux version 3.10.17-svn1666 / (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #2 Thu Apr 2 19:43:43 KST 2015

It print kernel panic messages with back-trace when kernel is booting in non-secure.

Exactly, on caam_rng_init process as bellow messages

I dont know what i do now.

I have set the CSU_CSL17 register to 0x00ff00ff so that CAAM can be accessible in both non-secure and secure world.

should I check more CAAM's register like that Secure Memory Access Groups (SMAG) Register, Master Configuration Register (MCFGR) ?


please help me~~~


usb 1-1: new high-speed USB device number 2 using ci_hdrc

platform 2101000.jr0: failed to flush job ring 0

fsl,sec-v4.0-job-ring not found

(ring 0)

caam: probe of 2100000.caam failed with error -5

platform 2100000.caam: dev_get_drvdata failed

mmc1: host does not support reading read-only switch. assuming write-enable.

mmc1: new high speed SDHC card at address 0007

mmcblk0: mmc1:0007 SD4GB 3.70 GiB

mmcblk0: p1

hub 1-1:1.0: USB hub found

hub 1-1:1.0: 3 ports detected

waiting for driver to load

waiting for driver to load

waiting for driver to load

waiting for driver to load

waiting for driver to load

waiting for driver to load

waiting for driver to load

waiting for driver to load

waiting for driver to load

Unable to handle kernel NULL pointer dereference at virtual address 00000014

pgd = c0004000

[00000014] *pgd=00000000

Internal error: Oops: 5 [#1] ARM

Modules linked in:

CPU: 0 PID: 1 Comm: swapper Tainted: G        W    3.10.17-svn1666 #3

task: d2046000 ti: d2058000 task.ti: d2058000

PC is at caam_rng_init+0x58/0x214

LR is at caam_rng_init+0x58/0x214

pc : [<c0802c44>]    lr : [<c0802c44>]    psr: a0000113

sp : d2059ee8  ip : d2059ee8  fp : d2059f0c

r10: 000000c8  r9 : c08174fc  r8 : c080f7b8

r7 : c0802bec  r6 : c0854ec0  r5 : 00000000  r4 : c0854ec0

r3 : d20a6e00  r2 : 00000001  r1 : 00000000  r0 : 00000000

Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel

Control: 10c53c7d  Table: 10004059  DAC: 00000015

Process swapper (pid: 1, stack limit = 0xd2058230)

Stack: (0xd2059ee8 to 0xd205a000)

9ee0:                   00000000 c0854ec0 c0854ec0 00000000 c0854ec0 c0802bec

9f00: d2059f54 d2059f10 c0008600 c0802bf8 00000001 c0784170 60000113 c0044028

9f20: c0044000 c10c9e3b d2059f54 c080f7b0 00000007 c0854ec0 c07df648 c080f7b8

9f40: c08174fc 000000c8 d2059f94 d2059f58 c07df59c c00085d0 00000006 00000006

9f60: c07df648 ffffffff ffffffff 00000000 c0611f00 00000000 00000000 00000000

9f80: 00000000 00000000 d2059fac d2059f98 c0611f10 c07df494 00000000 00000000

9fa0: 00000000 d2059fb0 c000ee18 c0611f0c 00000000 00000000 00000000 00000000

9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 ffffffff ffffffff

Backtrace:

[<c0802bec>] (caam_rng_init+0x0/0x214) from [<c0008600>] (do_one_initcall+0x3c/0x174)

r7:c0802bec r6:c0854ec0 r5:00000000 r4:c0854ec0

[<c00085c4>] (do_one_initcall+0x0/0x174) from [<c07df59c>] (kernel_init_freeable+0x114/0x1c0)

[<c07df488>] (kernel_init_freeable+0x0/0x1c0) from [<c0611f10>] (kernel_init+0x10/0xf0)

[<c0611f00>] (kernel_init+0x0/0xf0) from [<c000ee18>] (ret_from_fork+0x14/0x3c)

r4:00000000 r3:00000000

Code: e3500000 0a00006d e2800010 ebed219e (e5902014)

---[ end trace 1b75b31a2719ed1d ]---

Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

Outcomes