Re: [armv7] 13.1-BETA2 boots on beaglebone, 14-CURRENT snapshot panics

From: Oskar Holmlund <info_at_ohdata.se>
Date: Tue, 12 Apr 2022 22:09:59 UTC
2022-04-12 15:48 skrev Matteo Riondato:
> Hi All,
> 
> While trying to make my beaglebone enhanced boot with the
> am335x-sancloud-bbe.dtb (no success so far), I tried booting it with
> the am335x-boneblack.dtb, loaded at the loader prompt.
> 
> The publicly available 13.1-BETA2 GENERICSD image boots into
> multi-user (boot -v log available at
> http://rionda.to/files/boot-13.1-BETA2-boneblack.log), while the
> 14-CURRENT 20220407 snapshot panics as follows:
> 
> ARM Debug Architecture not supported
> GDB: debug ports: uart
> GDB: current port: uart
> KDB: debugger backends: ddb gdb
> KDB: current backend: ddb
> Copyright (c) 1992-2022 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 
> 1994
> 	The Regents of the University of California. All rights reserved.
> FreeBSD is a registered trademark of The FreeBSD Foundation.
> FreeBSD 14.0-CURRENT #0 main-n254435-8af24219565: Thu Apr  7 09:31:14 
> UTC 2022
> root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm.armv7/sys/GENERIC arm
> FreeBSD clang version 13.0.0 (git@github.com:llvm/llvm-project.git
> llvmorg-13.0.0-0-gd7b669b3a303)
> WARNING: WITNESS option enabled, expect reduced performance.
> VT: init without driver.
> Preloaded elf kernel "/boot/kernel/kernel" at 0xc0e22000.
> Preloaded elf module "/boot/kernel/umodem.ko" at 0xc0e2ae6c.
> Preloaded elf module "/boot/kernel/ucom.ko" at 0xc0e2b3d8.
> Preloaded dtb "/boot/dtb/am335x-boneblack.dtb" at 0xc0e2b944.
> Preloaded TSLOG data "TSLOG" at 0xc0e2b998.
> CPU: ARM Cortex-A8 r3p2 (ECO: 0x00000000)
> CPU Features:   Thumb2, Security, VMSAv7
> Optional instructions:   UMULL, SMULL, SIMD(ext)
> LoUU:2 LoC:3 LoUIS:1 Cache level 1:
>  32KB/64B 4-way data cache WT WB Read-Alloc
>  32KB/64B 4-way instruction cache Read-Alloc
> Cache level 2:
>  256KB/64B 8-way unified cache WT WB Read-Alloc Write-Alloc
> real memory  = 1072926720 (1023 MB)
> avail memory = 1031000064 (983 MB)
> Physical memory chunk(s):
>   0x80000000 - 0x87ee8fff,   126 MB (  32489 pages)
>   0x87f17000 - 0xbcf26fff,   848 MB ( 217104 pages)
>   0xbcf2e000 - 0xbcf2efff,     0 MB (      1 pages)
>   0xbcf30000 - 0xbcf31fff,     0 MB (      2 pages)
>   0xbcf36000 - 0xbcf36fff,     0 MB (      1 pages)
>   0xbcf3c000 - 0xbcf3dfff,     0 MB (      2 pages)
>   0xbcf40000 - 0xbcf40fff,     0 MB (      1 pages)
>   0xbcf42000 - 0xbcf43fff,     0 MB (      2 pages)
>   0xbcf45000 - 0xbff7bfff,    48 MB (  12343 pages)
> Excluded memory regions:
>   0xb6e00000 - 0xb7d4efff,    15 MB (   3919 pages) NoAlloc Static
> device mappings:
>   0x44c00000 - 0x44ffffff mapped at VA 0xffb00000
>   0x47400000 - 0x474fffff mapped at VA 0xffa00000
>   0x47800000 - 0x478fffff mapped at VA 0xff900000
>   0x48000000 - 0x48ffffff mapped at VA 0xfe900000
>   0x49000000 - 0x490fffff mapped at VA 0xfe800000
>   0x49800000 - 0x49afffff mapped at VA 0xfe500000
>   0x4a000000 - 0x4affffff mapped at VA 0xfd500000
> No PSCI/SMCCC call function found
> Texas Instruments AM335x Processor, Revision ES2.1
> random: no preloaded entropy cache
> random: no platform bootloader entropy
> arc4random: WARNING: initial seeding bypassed the cryptographic random
> device because it was not yet seeded and the knob
> 'bypass_before_seeding' was enabled.
> VIMAGE (virtualized network stack) enabled
> hostuuid: using 00000000-0000-0000-0000-000000000000
> ULE: setup cpu 0
> snd_unit_init() u=0x00ff8000 [512] d=0x00007c00 [32] c=0x000003ff 
> [1024]
> feeder_register: snd_unit=-1 snd_maxautovchans=16 latency=2
> feeder_rate_min=1 feeder_rate_max=2016000 feeder_rate_round=25
> random: entropy device external interface
> firmware: 'sdma-imx6q' version 0: 2196 bytes loaded at 0xc092a318
> crypto: <crypto core>
> null: <full device, null device, zero device>
> openfirm: <Open Firmware control device>
> kbd0 at kbdmux0
> mem: <memory>
> ofwbus0: <Open Firmware Device Tree>
> ti_sysc0: <TI SYSC Interconnect> on ofwbus0
> panic: Assertion size > 0 failed at /usr/src/sys/kern/subr_vmem.c:1332
> cpuid = 0
> time = 1
> KDB: stack backtrace:
> db_trace_self() at db_trace_self
> 	 pc = 0xc05cdb84  lr = 0xc007ac8c (db_trace_self_wrapper+0x30)
> 	 sp = 0xc0f14a98  fp = 0xc0f14bb0
> db_trace_self_wrapper() at db_trace_self_wrapper+0x30
> 	 pc = 0xc007ac8c  lr = 0xc02e5c48 (vpanic+0x170)
> 	 sp = 0xc0f14bb8  fp = 0xc0f14bd8
> 	 r4 = 0x00000100  r5 = 0x00000000
> 	 r6 = 0xc07314a8  r7 = 0xc0916f10
> vpanic() at vpanic+0x170
> 	 pc = 0xc02e5c48  lr = 0xc02e59f8 (dump_savectx)
> 	 sp = 0xc0f14be0  fp = 0xc0f14be4
> 	 r4 = 0x00000000  r5 = 0xc2b24000
> 	 r6 = 0x00000000  r7 = 0xc0f14c50
> 	 r8 = 0xc0b65ec0  r9 = 0x00000002
> 	r10 = 0xc0f14c2c
> dump_savectx() at dump_savectx
> 	 pc = 0xc02e59f8  lr = 0xc0354fe4 (vmem_xalloc)
> 	 sp = 0xc0f14bec  fp = 0xc0f14c20
> vmem_xalloc() at vmem_xalloc
> 	 pc = 0xc0354fe4  lr = 0xc0593f18 (kmem_malloc_domainset+0x9c)
> 	 sp = 0xc0f14c28  fp = 0xc0f14c70
> 	 r4 = 0xc0048f30  r5 = 0xc0e0b0ec
> 	 r6 = 0xc0f14c1c  r7 = 0x00000000
> 	 r8 = 0xc2b24000  r9 = 0x00000000
> 	r10 = 0xc0f14c50
> kmem_malloc_domainset() at kmem_malloc_domainset+0x9c
> 	 pc = 0xc0593f18  lr = 0xc02bf748 (malloc_large+0x2c)
> 	 sp = 0xc0f14c78  fp = 0xc0f14c88
> 	 r4 = 0xc08e7714  r5 = 0xd53dca80
> 	 r6 = 0x00000000  r7 = 0x00000002
> 	 r8 = 0x00000d74  r9 = 0xc079ae29
> 	r10 = 0x00000d74
> malloc_large() at malloc_large+0x2c
> 	 pc = 0xc02bf748  lr = 0xc06a3940 (ti_sysc_attach+0x19c)
> 	 sp = 0xc0f14c90  fp = 0xc0f14cd0
> 	 r4 = 0xc387b400  r5 = 0xd53dca80
> 	 r6 = 0xffffffff  r7 = 0xc387b428
> ti_sysc_attach() at ti_sysc_attach+0x19c
> 	 pc = 0xc06a3940  lr = 0xc032439c (device_attach+0x4f0)
> 	 sp = 0xc0f14cd8  fp = 0xc0f14d20
> 	 r4 = 0xd53dc800  r5 = 0xd53dca80
> 	 r6 = 0x3a780a0c  r7 = 0x00000000
> 	 r8 = 0xc0b6a924  r9 = 0xc077cf27
> 	r10 = 0xd6f1a500
> device_attach() at device_attach+0x4f0
> 	 pc = 0xc032439c  lr = 0xc0323e10 (device_probe_and_attach+0x8c)
> 	 sp = 0xc0f14d28  fp = 0xc0f14d40
> 	 r4 = 0xd53dc800  r5 = 0xc3868f40
> 	 r6 = 0x5e4a6f28  r7 = 0xffffffff
> 	 r8 = 0x00000000  r9 = 0x00000000
> 	r10 = 0xd6f1a6e0
> device_probe_and_attach() at device_probe_and_attach+0x8c
> 	 pc = 0xc0323e10  lr = 0xc0325804 (bus_generic_attach+0x1c)
> 	 sp = 0xc0f14d48  fp = 0xc0f14d50
> 	 r4 = 0xd53dc800  r5 = 0x00000000
> 	 r6 = 0xc0f14d60 r10 = 0xd6f1a6e0
> bus_generic_attach() at bus_generic_attach+0x1c
> 	 pc = 0xc0325804  lr = 0xc00e4248 (ofwbus_attach+0x138)
> 	 sp = 0xc0f14d58  fp = 0xc0f14d90
> 	 r4 = 0xd53dca80 r10 = 0xd6f1a6e0
> ofwbus_attach() at ofwbus_attach+0x138
> 	 pc = 0xc00e4248  lr = 0xc032439c (device_attach+0x4f0)
> 	 sp = 0xc0f14d98  fp = 0xc0f14de0
> 	 r4 = 0xd53dca80  r5 = 0xd53dcb00
> 	 r6 = 0x39cf0259  r7 = 0x00000000
> 	 r8 = 0xc0b6a924  r9 = 0xc077cf27
> device_attach() at device_attach+0x4f0
> 	 pc = 0xc032439c  lr = 0xc0323e10 (device_probe_and_attach+0x8c)
> 	 sp = 0xc0f14de8  fp = 0xc0f14e00
> 	 r4 = 0xd53dca80  r5 = 0xc3868f40
> 	 r6 = 0x5e4a6f28  r7 = 0x00000000
> 	 r8 = 0xc0b01654  r9 = 0xc0b01658
> 	r10 = 0x03800000
> device_probe_and_attach() at device_probe_and_attach+0x8c
> 	 pc = 0xc0323e10  lr = 0xc0326278 (bus_generic_new_pass+0xb4)
> 	 sp = 0xc0f14e08  fp = 0xc0f14e20
> 	 r4 = 0xd53dca80  r5 = 0xc08dde38
> 	 r6 = 0xc08b986c r10 = 0x03800000
> bus_generic_new_pass() at bus_generic_new_pass+0xb4
> 	 pc = 0xc0326278  lr = 0xc03262c4 (bus_generic_new_pass+0x100)
> 	 sp = 0xc0f14e28  fp = 0xc0f14e40
> 	 r4 = 0xd53dcb00  r5 = 0xc08dde38
> 	 r6 = 0xd53dd700  r7 = 0x00000000
> 	 r8 = 0xc0b01654 r10 = 0x03800000
> bus_generic_new_pass() at bus_generic_new_pass+0x100
> 	 pc = 0xc03262c4  lr = 0xc03213cc (bus_set_pass+0x54)
> 	 sp = 0xc0f14e48  fp = 0xc0f14e60
> 	 r4 = 0xc389d4a0  r5 = 0xc08dde38
> 	 r6 = 0xd53dd700  r7 = 0xc0b01654
> 	 r8 = 0x7fffffff r10 = 0x03800000
> bus_set_pass() at bus_set_pass+0x54
> 	 pc = 0xc03213cc  lr = 0xc02708c0 (mi_startup+0x2cc)
> 	 sp = 0xc0f14e68  fp = 0xc0f14e90
> 	 r4 = 0x0fffffff  r5 = 0xc08b3764
> 	 r6 = 0xc0ae31b8  r7 = 0x00000000
> 	 r8 = 0xc0ae31b4  r9 = 0xc38a3324
> mi_startup() at mi_startup+0x2cc
> 	 pc = 0xc02708c0  lr = 0xc0000344 (btext+0x144)
> 	 sp = 0xc0f14e98  fp = 0x00000000
> 	 r4 = 0xc0000478  r5 = 0xc0ba0000
> 	 r6 = 0xbb102340  r7 = 0x00c52078
> 	 r8 = 0xc0e22000  r9 = 0xbcf085d8
> 	r10 = 0x00000000
> btext() at btext+0x144
> 	 pc = 0xc0000344  lr = 0xc0000344 (btext+0x144)
> 	 sp = 0xc0f14e98  fp = 0x00000000
> KDB: enter: panic
> [ thread pid 0 tid 100000 ]
> Stopped at      kdb_enter+0x58: ldrb    r15, [r15, r15, ror r15]!
>  db>
> 
> I'm not a kernel hacker, but I'll be happy to give more information as
> needed, when told what to type at the db> prompt =)
> 
> I can also build my own image trying to bisect the problem, but wonder
> if anyone has any hint of what commit(s) could be causing this issue.
> 
> (I also wonder whether I should be posting on freebsd-current@, rather
> than freebsd-arm@ . Suggestions accepted)
> 
> Thanks,
> Matteo

Hi Matteo,

Read this thread
https://lists.freebsd.org/archives/freebsd-arm/2021-August/000410.html

I'm not sure the reviews mentioned in the last post are the one to use 
today. I hope I find some time to do a testbuild tomorrow and get back 
to you.

-- 
Bästa Hälsningar
Oskar Holmlund
Tel 070-3220292