diff mbox series

configs: warp7: Fix CAAM on boot with tip-of-tree

Message ID 1522407312-16345-1-git-send-email-bryan.odonoghue@linaro.org
State Superseded
Headers show
Series configs: warp7: Fix CAAM on boot with tip-of-tree | expand

Commit Message

Bryan O'Donoghue March 30, 2018, 10:55 a.m. UTC
Booting the following image with tip-of-tree we get a CAAM DECO error (and
subsequent crash due to a kernel bug in 4.1).

http://freescale.github.io/#download -> BoardsWaRPboard community - WaRP -
Wearable Reference PlatformFSL Community BSP 2.3fsl-image-multimediawayland

Image: fsl-image-multimedia-imx7s-warp-20180323-90.rootfs.sdcard

Error:
caam 30900000.caam: Entropy delay = 3200
caam 30900000.caam: failed to acquire DECO 0
<snip>
caam 30900000.caam: failed to acquire DECO 0
caam 30900000.caam: Entropy delay = 12400
caam 30900000.caam: failed to acquire DECO 0
caam 30900000.caam: failed to instantiate RNG
------------[ cut here ]------------
WARNING: CPU: 0 PID: 1 at
/home/jenkins/workspace/fsl-community-bsp-pyro_xwayland_2/build/tmp/work-shared/imx7s-warp/kernel-source/mm/vmalloc.c:1465
caam_remove+0x6)
Trying to vfree() nonexistent vm area (88047000)
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Not tainted
4.1.36-4.1-1.0.x-imx-warp7+ga543d1b #1
Hardware name: Freescale i.MX7 Dual (Device Tree)
[<80015d54>] (unwind_backtrace) from [<80012688>] (show_stack+0x10/0x14)
[<80012688>] (show_stack) from [<8076e810>] (dump_stack+0x78/0x8c)
[<8076e810>] (dump_stack) from [<800346a0>]
(warn_slowpath_common+0x80/0xb0)
[<800346a0>] (warn_slowpath_common) from [<80034700>]
(warn_slowpath_fmt+0x30/0x40)
[<80034700>] (warn_slowpath_fmt) from [<8054c278>] (caam_remove+0x6c/0x3f4)
[<8054c278>] (caam_remove) from [<8054ce74>] (caam_probe+0x874/0xfa8)
[<8054ce74>] (caam_probe) from [<80382a7c>] (platform_drv_probe+0x48/0xa4)
[<80382a7c>] (platform_drv_probe) from [<80381328>]
(driver_probe_device+0x174/0x2a8)
[<80381328>] (driver_probe_device) from [<8038152c>]
(__driver_attach+0x8c/0x90)
[<8038152c>] (__driver_attach) from [<8037f9d4>]
(bus_for_each_dev+0x68/0x9c)
[<8037f9d4>] (bus_for_each_dev) from [<80380a68>]
(bus_add_driver+0xf4/0x1e8)
[<80380a68>] (bus_add_driver) from [<80381b38>] (driver_register+0x78/0xf4)
[<80381b38>] (driver_register) from [<80009738>]
(do_one_initcall+0x8c/0x1d0)
[<80009738>] (do_one_initcall) from [<80a66dac>]
(kernel_init_freeable+0x140/0x1d0)
[<80a66dac>] (kernel_init_freeable) from [<8076aa38>]
(kernel_init+0x8/0xe8)
[<8076aa38>] (kernel_init) from [<8000f468>] (ret_from_fork+0x14/0x2c)
---[ end trace d5f941204ed8cb28 ]---
caam: probe of 30900000.caam failed with error -11
Unable to handle kernel NULL pointer dereference at virtual address
00000004
pgd = 80004000
[00000004] *pgd=00000000
Internal error: Oops: 805 [#1] PREEMPT SMP ARM
<snip>
[<8055cdf8>] (caam_sm_startup) from [<80aa83c8>] (caam_sm_init+0x50/0x58)
[<80aa83c8>] (caam_sm_init) from [<80009738>] (do_one_initcall+0x8c/0x1d0)
[<80009738>] (do_one_initcall) from [<80a66dac>]
(kernel_init_freeable+0x140/0x1d0)
[<80a66dac>] (kernel_init_freeable) from [<8076aa38>]
(kernel_init+0x8/0xe8)
[<8076aa38>] (kernel_init) from [<8000f468>] (ret_from_fork+0x14/0x2c)
Code: e59d300c e2832010 e5843008 e5834068 (e58a2004)
---[ end trace d5f941204ed8cb29 ]---
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

Fix: Enable the CAAM correctly by setting CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
in the upstream defconfig.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Breno Lima <breno.lima@nxp.com>
---
 configs/warp7_defconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Fabio Estevam March 30, 2018, 2:53 p.m. UTC | #1
Hi Bryan,

On Fri, Mar 30, 2018 at 7:55 AM, Bryan O'Donoghue
<bryan.odonoghue@linaro.org> wrote:
> Booting the following image with tip-of-tree we get a CAAM DECO error (and
> subsequent crash due to a kernel bug in 4.1).

For booting NXP based kernel you should use warp7_secure_defconfig
instead, which selects CONFIG_ARMV7_BOOT_SEC_DEFAULT=y.

Please see commit 375d199114c1 ("warp7: Add a secure mode target").

Also if using CONFIG_ARMV7_BOOT_SEC_DEFAULT=y is safe for booting both
mainline and NXP kernels then I think you are patch is OK and we can
get rid of warp7_secure_defconfig.

I don't have access to my warp7 board at the moment to give it a try.

Please confirm that this patch can successfully boot both mainline and
NXP kernels.

Thanks
Bryan O'Donoghue March 30, 2018, 4:03 p.m. UTC | #2
On 30/03/18 15:53, Fabio Estevam wrote:
> Hi Bryan,
> 
> On Fri, Mar 30, 2018 at 7:55 AM, Bryan O'Donoghue
> <bryan.odonoghue@linaro.org> wrote:
>> Booting the following image with tip-of-tree we get a CAAM DECO error (and
>> subsequent crash due to a kernel bug in 4.1).
> 
> For booting NXP based kernel you should use warp7_secure_defconfig
> instead, which selects CONFIG_ARMV7_BOOT_SEC_DEFAULT=y.
> 
> Please see commit 375d199114c1 ("warp7: Add a secure mode target").
> 
> Also if using CONFIG_ARMV7_BOOT_SEC_DEFAULT=y is safe for booting both
> mainline and NXP kernels then I think you are patch is OK and we can
> get rid of warp7_secure_defconfig.
> 
> I don't have access to my warp7 board at the moment to give it a try.
> 
> Please confirm that this patch can successfully boot both mainline and
> NXP kernels.
> 
> Thanks
> 

Hi Fabio,

I can confirm I can boot the NXP 4.1, Linaro and a mainline 4.16-rcx 
kernels with CONFIG_ARMV7_BOOT_SEC_DEFAULT=y

I'll reconfirm to be sure and redo this patch 
CONFIG_ARMV7_BOOT_SEC_DEFAULT=y and subtract warp7_secure_defconfig
diff mbox series

Patch

diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig
index 29c4512..228f7d9 100644
--- a/configs/warp7_defconfig
+++ b/configs/warp7_defconfig
@@ -2,6 +2,7 @@  CONFIG_ARM=y
 CONFIG_ARCH_MX7=y
 CONFIG_SYS_TEXT_BASE=0x87800000
 CONFIG_TARGET_WARP7=y
+CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
 # CONFIG_ARMV7_VIRT is not set
 CONFIG_IMX_RDC=y
 CONFIG_IMX_BOOTAUX=y