HomeFreeBSD

Linux x86 SIMD: factor out unneeded kernel dependencies

Description

Linux x86 SIMD: factor out unneeded kernel dependencies

Cleanup the kernel SIMD code by removing kernel dependencies.

  • Replace XSTATE_XSAVE with our own XSAVE implementation for all kernels not exporting kernel_fpu{begin,end}(), see #13059
  • Replace union fpregs_state by a uint8_t * buffer and get the size of the buffer from the hardware via the CPUID instruction
  • Replace kernels xgetbv() by our own implementation which was already there for userspace.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Attila Fülöp <attila@fueloep.org>
Closes #13102

Details

Provenance
Attila Fülöp <attila@fueloep.org>Authored on Mar 9 2022, 12:19 AM
GitHub <noreply@github.com>Committed on Mar 9 2022, 12:19 AM
Parents
rGa86e08941567: libzfs_core: lzc_send_wraper: maximise pipe buffer for existing pipes
Branches
Unknown
Tags
Unknown

Event Timeline

GitHub <noreply@github.com> committed rGce7a5dbf4b37: Linux x86 SIMD: factor out unneeded kernel dependencies (authored by Attila Fülöp <attila@fueloep.org>).Mar 9 2022, 12:19 AM