Re: The import of openzfs vs. armv7: boot crashs

From: Warner Losh <imp_at_bsdimp.com>
Date: Tue, 18 Apr 2023 22:46:27 UTC
Fun...

I'm also fighting aarch64 issues...

Warner

On Tue, Apr 18, 2023, 4:45 PM Mark Millard <marklmi@yahoo.com> wrote:

>
> https://github.com/openzfs/zfs/commit/d0cbd9feaf5b82130f2e679256c71e0c7413aae9
>
> does not seem to cover armv7, just aarch64. (FreeBSD disabled
> floating point for both armv7 and aarch64 but that is a
> different change than above.)
>
> I used:
>
>
> FreeBSD-14.0-CURRENT-arm-armv7-GENERICSD-20230406-f21faa67ab6b-262010.img.xz
>
> booted an RPi2B v1.1 and tried (note the KSTACK_PAGES notice and the
> "undefined floating point instruction" notice):
>
> # zpool import
> ZFS NOTICE: KSTACK_PAGES is 2 which could result in stack overflow panic!
> Please consider adding 'options KSTACK_PAGES=4' to your kernel config
> panic: undefined floating point instruction in supervisor mode
> cpuid = 2
> time = 1680784610
> KDB: stack backtrace:
> db_trace_self() at db_trace_self
>          pc = 0xc05eb154  lr = 0xc007a688 (db_trace_self_wrapper+0x30)
>          sp = 0xdd25c480  fp = 0xdd25c598
> db_trace_self_wrapper() at db_trace_self_wrapper+0x30
>          pc = 0xc007a688  lr = 0xc02eb1b4 (vpanic+0x140)
>          sp = 0xdd25c5a0  fp = 0xdd25c5c0
>          r4 = 0x00000100  r5 = 0x00000000
>          r6 = 0xc0736bfc  r7 = 0xc0b1aea8
> vpanic() at vpanic+0x140
>          pc = 0xc02eb1b4  lr = 0xc02eaf94 (doadump)
>          sp = 0xdd25c5c8  fp = 0xdd25c5cc
>          r4 = 0xc0b92210  r5 = 0x00000000
>          r6 = 0xc0610ca0  r7 = 0xf4210a0d
>          r8 = 0xddf32e4c  r9 = 0x00000013
>         r10 = 0xdd25c6c0
> doadump() at doadump
>          pc = 0xc02eaf94  lr = 0xc0610eb0 (vfp_new_thread)
>          sp = 0xdd25c5d4  fp = 0xdd25c638
>          r4 = 0xdd25c6c0  r5 = 0xdd25c5cc
>          r6 = 0xc02eaf94 r10 = 0xdd25c5d4
> vfp_new_thread() at vfp_new_thread
>          pc = 0xc0610eb0  lr = 0xc060ff84 (undefinedinstruction+0x178)
>          sp = 0xdd25c640  fp = 0xdd25c6b8
> undefinedinstruction() at undefinedinstruction+0x178
>          pc = 0xc060ff84  lr = 0xc05edaa8 (exception_exit)
>          sp = 0xdd25c6c0  fp = 0xdd25c750
>          r4 = 0x20000013  r5 = 0xde45e000
>          r6 = 0xdd25c890  r7 = 0xdd25c8b0
>          r8 = 0x00000000  r9 = 0x00000000
>         r10 = 0xdd25c8c0
> exception_exit() at exception_exit
>          pc = 0xc05edaa8  lr = 0xddf31f20 (K256)
>          sp = 0xdd25c750  fp = 0xdd25c750
>          r0 = 0xdd25c890  r1 = 0xde45e000
>          r2 = 0xde45e400  r3 = 0xddf309fc
>          r4 = 0x00000400  r5 = 0xde45e000
>          r6 = 0xdd25c890  r7 = 0xdd25c8b0
>          r8 = 0x00000000  r9 = 0x00000000
>         r10 = 0xdd25c8c0 r12 = 0xdd25c7a0
> zfs_sha256_block_neon() at zfs_sha256_block_neon+0x1c
>          pc = 0xddf32e4c  lr = 0xc0946e8c (pcpup)
>          sp = 0xdd25c758  fp = 0xc0b0aeec
>          r4 = 0xc0919610  r5 = 0xc0919630
>          r6 = 0xc0919618  r7 = 0x642ebce2
>          r8 = 0xc0b1b0ec  r9 = 0xc0915e88
>         r10 = 0xc0b1b0dc
> Fatal kernel mode data abort: 'Translation Fault (L1)' on read
> trapframe: 0xdd25c330
> FSR=00000005, FAR=95e29398, spsr=200000d3
> r0 =dd25c424, r1 =81000000, r2 =95e29395, r3 =55555555
> r4 =c08ae93c, r5 =00004aa0, r6 =00004aa0, r7 =c08d3e3c
> r8 =00000001, r9 =c079567a, r10=0000000b, r11=dd25c3e0
> r12=00000000, ssp=dd25c3c4, slr=00000001, pc =c0610308
>
> panic: Fatal abort
> . . . (repeats over and over) . . .
>
> ===
> Mark Millard
> marklmi at yahoo.com
>
>
>