pkgbase armv7 system boot failures on OrangePi+ 2ed: U-Boot 2024.04 issue(s), reverted back to 2024.01

From: Mark Millard <marklmi_at_yahoo.com>
Date: Mon, 08 Jul 2024 05:32:48 UTC
Note: Reverting U-Boot 2024.04 to 2024.01 got rid of the boot failures.
None of my armv7 installations would boot with 2024.04.

Example failure . . . (but details varied widely) . . .

. . .
FreeBSD 15.0-CURRENT main-n270963-609cdb12b962 GENERIC arm
. . .
random: unblocking device.
Kernel page fault with the following non-sleepable locks held:
exclusive rw kernel vm object (kernel vm object) r = 0 (0xc0b9bce0) locked @ /home/pkgbuild/worktrees/main/sys/vm/vm_kern.c:544
stack backtrace:
#0 0xc036b964 at witness_debugger+0x78
#1 0xc036cc08 at witness_warn+0x420
#2 0xc0625470 at abort_handler+0x1d4
#3 0xc0603b78 at exception_exit+0
#4 0xc034bb6c at pctrie_lookup_le_node+0x1c
#5 0xc05c7ec4 at kmem_back_domain+0xcc
#6 0xc05c7dd0 at kmem_malloc_domainset+0xc0
#7 0xc05bbfe0 at keg_alloc_slab+0xc8
#8 0xc05bddb4 at zone_import+0xf8
#9 0xc05c0af4 at cache_alloc+0x408
#10 0xc05ba304 at cache_alloc_retry+0x30
#11 0xc02cd718 at malloc+0x8c
#12 0xc0304708 at sysctl_add_oid+0x180
#13 0xc05be900 at zone_alloc_sysctl+0x868
#14 0xc05bfc98 at uma_startup3+0x78
#15 0xc027c28c at mi_startup+0x214
Fatal kernel mode data abort: 'Alignment Fault' on read
trapframe: 0xc0f14b30
FSR=00000001, FAR=0000453a, spsr=400000d3
r0 =0000453a, r1 =00000005, r2 =0001661d, r3 =c3f00c60
r4 =0000001f, r5 =0000001f, r6 =fffffffd, r7 =00000000
r8 =00000005, r9 =00000000, r10=00000001, r11=c0f14bd8
r12=ffffffff, ssp=c0f14bc0, slr=00000000, pc =c034bb6c

panic: Fatal abort
cpuid = 0
time = 1
KDB: stack backtrace:
db_trace_self() at db_trace_self
         pc = 0xc06012f8  lr = 0xc007a308 (db_trace_self_wrapper+0x30)
         sp = 0xc0f14908  fp = 0xc0f14a20
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
         pc = 0xc007a308  lr = 0xc02f40d8 (vpanic+0x158)
         sp = 0xc0f14a28  fp = 0xc0f14a48
         r4 = 0x00000100  r5 = 0x00000000
         r6 = 0xc0737d38  r7 = 0xc0b29b04
vpanic() at vpanic+0x158
         pc = 0xc02f40d8  lr = 0xc02f3f80 (vpanic)
         sp = 0xc0f14a50  fp = 0xc0f14a54
         r4 = 0xc0f14b30  r5 = 0x00000013
         r6 = 0x0000453a  r7 = 0x00000001
         r8 = 0x00000001  r9 = 0x00000013
        r10 = 0x0000453a
vpanic() at vpanic
         pc = 0xc02f3f80  lr = 0xc0625a4c (abort_align)
         sp = 0xc0f14a5c  fp = 0xc0f14a88
         r4 = 0x00000001  r5 = 0x00000001
         r6 = 0x00000013  r7 = 0x0000453a
         r8 = 0xc0f14a54  r9 = 0xc02f3f80
        r10 = 0xc0f14a5c
abort_align() at abort_align
         pc = 0xc0625a4c  lr = 0xc06255a4 (abort_handler+0x308)
         sp = 0xc0f14a90  fp = 0xc0f14b28
         r4 = 0xc0b19540 r10 = 0x0000453a
abort_handler() at abort_handler+0x308
         pc = 0xc06255a4  lr = 0xc0603b78 (exception_exit)
         sp = 0xc0f14b30  fp = 0xc0f14bd8
         r4 = 0x0000001f  r5 = 0x0000001f
         r6 = 0xfffffffd  r7 = 0x00000000
         r8 = 0x00000005  r9 = 0x00000000
        r10 = 0x00000001
exception_exit() at exception_exit
         pc = 0xc0603b78  lr = 0x00000000 (0)
         sp = 0xc0f14bc0  fp = 0xc0f14bd8
         r0 = 0x0000453a  r1 = 0x00000005
         r2 = 0x0001661d  r3 = 0xc3f00c60
         r4 = 0x0000001f  r5 = 0x0000001f
         r6 = 0xfffffffd  r7 = 0x00000000
         r8 = 0x00000005  r9 = 0x00000000
        r10 = 0x00000001 r12 = 0xffffffff
pctrie_lookup_le_node() at pctrie_lookup_le_node+0x1c
         pc = 0xc034bb6c  lr = 0xc05c7ec4 (kmem_back_domain+0xcc)
         sp = 0xc0f14be0  fp = 0xc0f14c20
         r4 = 0x00000003  r5 = 0x00000000
         r6 = 0x00000000  r7 = 0xc0b9bce0
         r8 = 0xc0b9bce0  r9 = 0x00000001
kmem_back_domain() at kmem_back_domain+0xcc
         pc = 0xc05c7ec4  lr = 0xc05c7dd0 (kmem_malloc_domainset+0xc0)
         sp = 0xc0f14c28  fp = 0xc0f14c78
         r4 = 0x00000000  r5 = 0xc3e78000
         r6 = 0x00001000  r7 = 0xc0f14c58
         r8 = 0xc0b9bdc0  r9 = 0x00000001
        r10 = 0xc0f14c2c
kmem_malloc_domainset() at kmem_malloc_domainset+0xc0
         pc = 0xc05c7dd0  lr = 0xc05bbfe0 (keg_alloc_slab+0xc8)
         sp = 0xc0f14c80  fp = 0xc0f14cb0
         r4 = 0xc5715700  r5 = 0xc05bdacc
         r6 = 0x00001000  r7 = 0x00000000
         r8 = 0x00000000  r9 = 0xc5716480
        r10 = 0x00000001
keg_alloc_slab() at keg_alloc_slab+0xc8
         pc = 0xc05bbfe0  lr = 0xc05bddb4 (zone_import+0xf8)
         sp = 0xc0f14cb8  fp = 0xc0f14d20
         r4 = 0x00000000  r5 = 0xc5715700
         r6 = 0x00000000  r7 = 0xd661afec
         r8 = 0xd661bfec  r9 = 0x00000001
        r10 = 0x00000001
zone_import() at zone_import+0xf8
         pc = 0xc05bddb4  lr = 0xc05c0af4 (cache_alloc+0x408)
         sp = 0xc0f14d28  fp = 0xc0f14d68
         r4 = 0xc5716480  r5 = 0xc572f80c
         r6 = 0x0000007d  r7 = 0x00000000
         r8 = 0xc090a8c0  r9 = 0xc572f800
        r10 = 0x00000000
cache_alloc() at cache_alloc+0x408
         pc = 0xc05c0af4  lr = 0xc05ba304 (cache_alloc_retry+0x30)
         sp = 0xc0f14d70  fp = 0xc0f14d98
         r4 = 0x00000002  r5 = 0xc5716480
         r6 = 0x00000002  r7 = 0xc09406b0
         r8 = 0xc090a8c0  r9 = 0xd6618000
        r10 = 0xc5716480
cache_alloc_retry() at cache_alloc_retry+0x30
         pc = 0xc05ba304  lr = 0xc02cd718 (malloc+0x8c)
         sp = 0xc0f14da0  fp = 0xc0f14db8
         r4 = 0x00000002  r5 = 0xc5716480
         r6 = 0x00000003  r7 = 0x00000000
         r8 = 0xc090a8c0  r9 = 0xd6618000
        r10 = 0xffffffff
malloc() at malloc+0x8c
         pc = 0xc02cd718  lr = 0xc0304708 (sysctl_add_oid+0x180)
         sp = 0xc0f14dc0  fp = 0xc0f14de0
         r4 = 0x00000000  r5 = 0x00000000
         r6 = 0xc07cd341  r7 = 0x00000000
         r8 = 0xd6611da0 r10 = 0xffffffff
sysctl_add_oid() at sysctl_add_oid+0x180
         pc = 0xc0304708  lr = 0xc05be900 (zone_alloc_sysctl+0x868)
         sp = 0xc0f14de8  fp = 0xc0f14e40
         r4 = 0x00000000  r5 = 0xd6618000
         r6 = 0xc079921a  r7 = 0xc571c480
         r8 = 0xc0304e9c  r9 = 0x80040001
        r10 = 0x80040009
zone_alloc_sysctl() at zone_alloc_sysctl+0x868
         pc = 0xc05be900  lr = 0xc05bfc98 (uma_startup3+0x78)
         sp = 0xc0f14e48  fp = 0xc0f14e58
         r4 = 0xc571c480  r5 = 0xc571b500
         r6 = 0xc0969cf4  r7 = 0xc08fae84
         r8 = 0x00000000  r9 = 0x02300000
        r10 = 0xc093cce4
uma_startup3() at uma_startup3+0x78
         pc = 0xc05bfc98  lr = 0xc027c28c (mi_startup+0x214)
         sp = 0xc0f14e60  fp = 0xc0f14e88
         r4 = 0xc0b1918c  r5 = 0xc0b19188
mi_startup() at mi_startup+0x214
         pc = 0xc027c28c  lr = 0xc027c28c (mi_startup+0x214)
         sp = 0xc0f14e6c  fp = 0xc0f14e88
KDB: enter: panic
[ thread pid 0 tid 100000 ]
Stopped at      kdb_enter+0x54: ldrb    r15, [r15, r15, ror r15]!
db> 


===
Mark Millard
marklmi at yahoo.com