Nós temos um kernel que é iniciado com o kexec, e ele entra em pânico exatamente em 1430 segundos após o boot. Tanto o linux que chama o kexec quanto o kexec-d estão rodando em um mundo não seguro em um SoC imx6q com OP-TEE OS no mundo seguro. O primeiro kernel tem SMP ativado, mas o segundo não, porque senão ele não inicializaria (sem saída visível) e estamos tentando descobrir o porquê. A versão do kernel é 4.12.8
Aqui está o traço:
# [ 1430.565948] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[ 1430.574101] pgd = 80004000
[ 1430.576831] [00000000] *pgd=00000000
[ 1430.580442] Internal error: Oops: 80000005 [#1] ARM
[ 1430.585344] Modules linked in: optee tee option usb_wwan
[ 1430.590699] CPU: 0 PID: 0 Comm: swapper Tainted: G W 4.12.8 #4
[ 1430.597686] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[ 1430.604237] task: 80a06778 task.stack: 80a00000
[ 1430.608791] PC is at 0x0
[ 1430.611355] LR is at mxc_timer_interrupt+0x3c/0x44
[ 1430.616171] pc : [<00000000>] lr : [<805228e4>] psr: a0000193
[ 1430.616171] sp : 80a01db8 ip : 80a01db8 fp : 80a01dcc
[ 1430.627681] r10: 80a14dd8 r9 : ee806300 r8 : 00000011
[ 1430.632926] r7 : 80a01e0c r6 : 00000000 r5 : ee806300 r4 : ee802440
[ 1430.639472] r3 : 00000000 r2 : 00000001 r1 : 00000008 r0 : ee802440
[ 1430.646021] Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
[ 1430.653277] Control: 10c5787d Table: 7d8e0059 DAC: 00000051
[ 1430.659043] Process swapper (pid: 0, stack limit = 0x80a00208)
[ 1430.664895] Stack: (0x80a01db8 to 0x80a02000)
[ 1430.669273] 1da0: ee802500 ee806300
[ 1430.677488] 1dc0: 80a01e04 80a01dd0 8014cb7c 805228b4 80a83530 80a829b8 80a83570 ee806300
[ 1430.685702] 1de0: ee806300 00000000 00000001 ee808000 f080c100 00000000 80a01e24 80a01e08
[ 1430.693917] 1e00: 8014cc3c 8014caf8 20000193 00000000 ee806300 80a08e84 80a01e3c 80a01e28
[ 1430.702134] 1e20: 8014cca8 8014cc24 ee806300 80a08e84 80a01e5c 80a01e40 8014fac0 8014cc84
[ 1430.710347] 1e40: 80a1fe18 00000000 00000000 00000001 80a01e6c 80a01e60 8014bf94 8014fa24
[ 1430.718562] 1e60: 80a01e94 80a01e70 8014c4a0 8014bf74 80a1ffd8 80a03320 f080b10c f080b100
[ 1430.726774] 1e80: 80a01ec0 f080c100 80a01ebc 80a01e98 80101400 8014c450 8050391c 20000013
[ 1430.734986] 1ea0: ffffffff 80a01ef4 145f968c 80a00000 80a01f44 80a01ec0 8010bf8c 801013bc
[ 1430.743198] 1ec0: 00000000 0000014d 6a1a4142 80a0c9a8 13a0d91e 0000014d 80a33748 00000000
[ 1430.751414] 1ee0: 145f968c 0000014d 00000000 80a01f44 80a01f10 80a01f10 80503918 8050391c
[ 1430.759631] 1f00: 20000013 ffffffff 00000051 00000000 cbb589f3 00000000 76b13e60 80a33748
[ 1430.767845] 1f20: 80a00000 80a030b4 80a33740 80a14dd0 80a084d0 eefd9e80 80a01f54 80a01f48
[ 1430.776059] 1f40: 80503aa0 80503794 80a01f64 80a01f58 80143c1c 80503a90 80a01f8c 80a01f68
[ 1430.784271] 1f60: 80143e6c 80143c00 80a3d10c 80a3d0c0 80a03040 ffffffff 80a3d0c0 80938a28
[ 1430.792486] 1f80: 80a01f9c 80a01f90 8014413c 80143d38 80a01fac 80a01fa0 8066bc10 80144134
[ 1430.800697] 1fa0: 80a01ff4 80a01fb0 80900d14 8066bba0 ffffffff ffffffff 00000000 809006f8
[ 1430.808909] 1fc0: 00000000 80938a28 00000000 80a3d294 80a03058 80938a24 80a079c4 10004059
[ 1430.817123] 1fe0: 412fc09a 00000000 00000000 80a01ff8 10008078 809009b0 00000000 00000000
[ 1430.825331] Backtrace:
[ 1430.827818] [<805228a8>] (mxc_timer_interrupt) from [<8014cb7c>] (__handle_irq_event_percpu+0x90/0x12c)
[ 1430.837247] r5:ee806300 r4:ee802500
[ 1430.840853] [<8014caec>] (__handle_irq_event_percpu) from [<8014cc3c>] (handle_irq_event_percpu+0x24/0x60)
[ 1430.850548] r10:00000000 r9:f080c100 r8:ee808000 r7:00000001 r6:00000000 r5:ee806300
[ 1430.858407] r4:ee806300
[ 1430.860966] [<8014cc18>] (handle_irq_event_percpu) from [<8014cca8>] (handle_irq_event+0x30/0x44)
[ 1430.869871] r5:80a08e84 r4:ee806300
[ 1430.873479] [<8014cc78>] (handle_irq_event) from [<8014fac0>] (handle_fasteoi_irq+0xa8/0x170)
[ 1430.882036] r5:80a08e84 r4:ee806300
[ 1430.885639] [<8014fa18>] (handle_fasteoi_irq) from [<8014bf94>] (generic_handle_irq+0x2c/0x3c)
[ 1430.894286] r7:00000001 r6:00000000 r5:00000000 r4:80a1fe18
[ 1430.899971] [<8014bf68>] (generic_handle_irq) from [<8014c4a0>] (__handle_domain_irq+0x5c/0xb0)
[ 1430.908703] [<8014c444>] (__handle_domain_irq) from [<80101400>] (gic_handle_irq+0x50/0x84)
[ 1430.917094] r9:f080c100 r8:80a01ec0 r7:f080b100 r6:f080b10c r5:80a03320 r4:80a1ffd8
[ 1430.924875] [<801013b0>] (gic_handle_irq) from [<8010bf8c>] (__irq_svc+0x6c/0x90)
[ 1430.932388] Exception stack(0x80a01ec0 to 0x80a01f08)
[ 1430.937465] 1ec0: 00000000 0000014d 6a1a4142 80a0c9a8 13a0d91e 0000014d 80a33748 00000000
[ 1430.945682] 1ee0: 145f968c 0000014d 00000000 80a01f44 80a01f10 80a01f10 80503918 8050391c
[ 1430.953892] 1f00: 20000013 ffffffff
[ 1430.957407] r9:80a00000 r8:145f968c r7:80a01ef4 r6:ffffffff r5:20000013 r4:8050391c
[ 1430.965204] [<80503788>] (cpuidle_enter_state) from [<80503aa0>] (cpuidle_enter+0x1c/0x20)
[ 1430.973515] r10:eefd9e80 r9:80a084d0 r8:80a14dd0 r7:80a33740 r6:80a030b4 r5:80a00000
[ 1430.981374] r4:80a33748
[ 1430.983941] [<80503a84>] (cpuidle_enter) from [<80143c1c>] (call_cpuidle+0x28/0x40)
[ 1430.991639] [<80143bf4>] (call_cpuidle) from [<80143e6c>] (do_idle+0x140/0x188)
[ 1430.998986] [<80143d2c>] (do_idle) from [<8014413c>] (cpu_startup_entry+0x14/0x18)
[ 1431.006591] r9:80938a28 r8:80a3d0c0 r7:ffffffff r6:80a03040 r5:80a3d0c0 r4:80a3d10c
[ 1431.014384] [<80144128>] (cpu_startup_entry) from [<8066bc10>] (rest_init+0x7c/0x80)
[ 1431.022178] [<8066bb94>] (rest_init) from [<80900d14>] (start_kernel+0x370/0x37c)
[ 1431.029705] [<809009a4>] (start_kernel) from [<10008078>] (0x10008078)
[ 1431.036259] Code: bad PC value
[ 1431.039344] ---[ end trace 25146857856d5763 ]---
[ 1431.043988] Kernel panic - not syncing: Fatal exception in interrupt
[ 1431.050367] ---[ end Kernel panic - not syncing: Fatal exception in interrupt
Não temos muita experiência com os kernels de depuração, então a questão é o que pode estar causando isso, e vale a pena investigar, considerando que queremos que isso funcione usando o SMP mais tarde.