`kexec` on the Jetson not working (`CBB` errors)

kexec seems not fully functional on the jetson orin and r35.4.1.

If I try to reboot the current kernel with:

# kexec -l /boot/Image --dtb /boot/dtb/kernel_tegra234-p3701-0000-p3737-0000.dtb --initrd /boot/initrd -i --reuse-cmdline
# systemctl kexec

The restarted kernel has several WARNINGs especially related to CBB:

[   21.228176] CPU:0, Error: cbb-fabric@0x13a00000, irq=35                                                                                                                                                                           [61/9667]
[   21.228177] **************************************
[   21.228178] CPU:0, Error:cbb-fabric, Errmon:2
[   21.228183]    Error Code            : FIREWALL_ERR
[   21.228183]    Overflow              : Multiple FIREWALL_ERR
[   21.228191]
[   21.228191]    Error Code            : FIREWALL_ERR
[   21.228192]    MASTER_ID             : CCPLEX
[   21.228192]    Address               : 0x3270010
[   21.228193]    Cache                 : 0x1 -- Bufferable
[   21.228194]    Protection            : 0x2 -- Unprivileged, Non-Secure, Data Access
[   21.228195]    Access_Type           : Read
[   21.228195]    Access_ID             : 0x13
[   21.228196]    Fabric                : cbb-fabric
[   21.228196]    Slave_Id              : 0x35
[   21.228197]    Burst_length          : 0x0
[   21.228197]    Burst_type            : 0x1
[   21.228198]    Beat_size             : 0x2
[   21.228198]    VQC                   : 0x0
[   21.228199]    GRPSEC                : 0x7e
[   21.228199]    FALCONSEC             : 0x0
[   21.228201]  **************************************
[   21.228209] ------------[ cut here ]------------
[   21.228212] WARNING: CPU: 0 PID: 0 at drivers/soc/tegra/cbb/tegra234-cbb.c:577 tegra234_cbb_isr+0x130/0x170
[   21.228213] Modules linked in: qspi_mtd(+) nv_hawk_owl snd_soc_simple_card_utils pwm_fan typec_ucsi snd_soc_spdif_tx nvadsp max96712 userspace_alert ssd1307fb(+) snd_soc_rt5640 snd_hda_core typec mtd snd_soc_tegra210_ahub tegra210_adms
[   21.228226] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W  O      5.10.120 #1
[   21.228227] Hardware name: Jetson AGX Orin Developer Kit (DT)
[   21.228228] pstate: 60400089 (nZCv daIf +PAN -UAO -TCO BTYPE=--)
[   21.228229] pc : tegra234_cbb_isr+0x130/0x170
[   21.228231] lr : tegra234_cbb_isr+0x10c/0x170
[   21.228231] sp : ffff8000121abe10
[   21.228232] x29: ffff8000121abe10 x28: ffff800011d32680
[   21.228233] x27: 0000000000000001 x26: 0000000000000080
[   21.228235] x25: ffff80001174cfe8 x24: ffff80001209ae40
[   21.228236] x23: ffff800011a37008 x22: 0000000000000023
[   21.228237] x21: ffff800011ebf698 x20: 0000000000000002
[   21.228238] x19: ffff800011ebf688 x18: 0000000000000060
[   21.228240] x17: 0000000000000000 x16: 0000000000000068
[   21.228241] x15: ffff800011d32bf0 x14: ffffffffffffffff
[   21.228242] x13: ffff800012048de8 x12: ffff800012048a1c
[   21.228243] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f
[   21.228245] x9 : ffff8000121abc30 x8 : 2a2a2a2a2a2a2a2a
[   21.228246] x7 : 2a2a2a2a2a2a2a2a x6 : 0000000c8519010a
[   21.228247] x5 : ffff0000afc7d958 x4 : 00000000fffff5bd
[   21.228249] x3 : 0000000000000000 x2 : ffff8000101c0d70
[   21.228250] x1 : ffff800011d32680 x0 : 0000000100010001
[   21.228251] Call trace:
[   21.228253]  tegra234_cbb_isr+0x130/0x170
[   21.228255]  __handle_irq_event_percpu+0x68/0x2a0
[   21.228256]  handle_irq_event_percpu+0x40/0xa0
[   21.228258]  handle_irq_event+0x50/0xf0
[   21.228259]  handle_fasteoi_irq+0xc0/0x170
[   21.228260]  generic_handle_irq+0x40/0x60
[   21.228262]  __handle_domain_irq+0x70/0xd0
[   21.228263]  gic_handle_irq+0x68/0x134
[   21.228263]  el1_irq+0xd0/0x180
[   21.228265]  cpuidle_enter_state+0xb8/0x410
[   21.228267]  cpuidle_enter+0x40/0x60
[   21.228268]  call_cpuidle+0x44/0x80
[   21.228269]  do_idle+0x208/0x270
[   21.228270]  cpu_startup_entry+0x30/0x70
[   21.228271]  rest_init+0xdc/0xe8
[   21.228273]  arch_call_rest_init+0x18/0x20
[   21.228274]  start_kernel+0x500/0x538
[   21.228275] ---[ end trace 9db9520e0496fa86 ]---

Any idea why CBB is complaining this much after kexec?

CBB error is just a common warning. Basically just like “you are doing something wrong”.

The “Error Code” in CBB is the thing that needs to be checked.

In your case, it is “FIREWALL_ERR” which means you are accessing some register which we have blocked it to be accessed.

Address : 0x3270010

This is the address that tried to get accessed.

ok makes sense but any idea why this is triggered on kexec? Or even, is kexec tested / supposed to be working on the Jetson?

Didn’t validate that before. Better using other kind of method to replace kernel dtb/image.

Yes, but it’s not like the other options are much simpler either. The kexec way to replace dtb / kernel at boot or run time is being investigated as part of Dynamically applying DTBO / swapping DTB at boot with UEFI .

If you have a better idea about how to achieve that I’m all ears :)

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.