HomeFreeBSD

openzfs: arm64: implement kfpu_begin/kfpu_end

Description

openzfs: arm64: implement kfpu_begin/kfpu_end

This is part one of a fix for booting with ZFS on arm64 using
accelerated checksum implementations. Checksum benchmarking will
attempt to use the FPU, so we currently panic quickly on boot. BLAKE3
is still broken, as it clobbers x18 and we promptly discover that fact
as soon as we attempt to fetch curthread in kfpu_end().

Note that _STANDALONE is special-cased here, but ideally we wouldn't be
building the code that uses kfpu_begin()/kfpu_end() at all in the loader
environment.

Discussed with: imp (a bit)
Differential Revision: https://reviews.freebsd.org/D39448

Details

Provenance
kevansAuthored on Apr 26 2023, 5:23 PM
Differential Revision
D39448: openzfs: arm64: implement kfpu_begin/kfpu_end
Parents
rG2c0209a2ca43: callout: Remove an unneeded MTX_NEW
Branches
Unknown
Tags
Unknown