Page MenuHomeFreeBSD

arm64: Enable SVE in userspace
ClosedPublic

Authored by andrew on Jan 4 2024, 12:33 PM.
Tags
None
Referenced Files
F164869905: D43310.id142559.diff
Tue, Aug 4, 9:33 AM
F164836020: D43310.id142559.diff
Tue, Aug 4, 6:37 AM
F164819461: D43310.id142296.diff
Tue, Aug 4, 5:04 AM
F164810005: D43310.id144042.diff
Tue, Aug 4, 3:59 AM
F164793337: D43310.id132257.diff
Tue, Aug 4, 2:10 AM
Unknown Object (File)
Mon, Aug 3, 12:59 AM
Unknown Object (File)
Sun, Aug 2, 4:25 PM
Unknown Object (File)
Sat, Aug 1, 12:42 AM
Subscribers

Details

Summary

Report when SVE is present and allow it to be used by calling
sve_restore_state on an SVE exception from userspace.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 59213
Build 56100: arc lint + arc unit

Event Timeline

Do we need to add something to the AT_HWCAP2 vector as well? Or is that stuff all SVE2 only?

sys/arm64/arm64/identcpu.c
1385–1386

This comment can go away now.

sys/arm64/arm64/trap.c
643

Almost all exception handlers do call userret(). If exceptions (pun is not intended) are intended (again not intended), then perhaps some explanation should be added in a form of comment.

Also, what about factoring out the userret call somewhere in a common place?

  • Remove an old comment
  • Call userret in the exception handler
  • Only tell userspace about SVE in FreeBSD userspace, Linux userspace support is missing needed syscalls
This revision is now accepted and ready to land.Aug 31 2024, 11:53 PM
This revision was automatically updated to reflect the committed changes.