Page MenuHomeFreeBSD

arm64: Add the SVE registers to the signal frame
ClosedPublic

Authored by andrew on Jan 4 2024, 12:32 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Jan 18, 12:31 AM
Unknown Object (File)
Dec 28 2024, 7:00 PM
Unknown Object (File)
Nov 21 2024, 10:16 PM
Unknown Object (File)
Nov 21 2024, 10:16 PM
Unknown Object (File)
Nov 21 2024, 10:16 PM
Unknown Object (File)
Nov 21 2024, 2:58 AM
Unknown Object (File)
Nov 21 2024, 2:57 AM
Unknown Object (File)
Nov 21 2024, 2:32 AM
Subscribers

Details

Summary

Use the new extended register support in the arm64 signal frame to
handle the SVE registers.

As these registers alias the VFP registers we use the floating point
register values to restore the lower bits of the SVE registers. This
is to support software that doesn't understand SVE to continue working.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

I have the same question here I did about the other change to sigreturn: why no changes to setcontext and how does this interact with them?

I don't think we need to store the SCE registers in getcontextx. It's a function call that doesn't take an SVE register as an argument so the ABI doesn't require the upper bits of SVE registers to be preserved. We could restore the SVE registers in setcontextx if they are in the list of registers.

Rebase and check the SVE registers are only set once

This revision was not accepted when it landed; it landed in state Needs Review.Sep 30 2024, 12:23 PM
This revision was automatically updated to reflect the committed changes.