Page MenuHomeFreeBSD

Support dynamically sized register sets
ClosedPublic

Authored by andrew on Aug 3 2023, 6:22 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, May 30, 5:34 AM
Unknown Object (File)
Tue, May 14, 11:17 AM
Unknown Object (File)
Tue, May 14, 11:17 AM
Unknown Object (File)
Tue, May 14, 8:27 AM
Unknown Object (File)
Tue, May 14, 7:43 AM
Unknown Object (File)
Tue, May 14, 6:37 AM
Unknown Object (File)
Jan 12 2024, 2:59 AM
Unknown Object (File)
Jan 8 2024, 11:02 AM
Subscribers

Details

Summary

We don't always know the size of the register set at compile time,
e.g. on arm64 the size of the SVE registers need to be queried on boot.
To support register sets that needs to be calculated at run time
query the correct size when it is zero.

Sponsored by: Arm Ltd

Diff Detail

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

Event Timeline

andrew requested review of this revision.Aug 3 2023, 6:22 PM

Doesn't proc_write_regset() need an update too?

Is it possible for SVE size to change at runtime by any means? If not, why not initialize the current hw size on boot?

On Linux there is an equivalent of a sysarch call to set it at runtime. I haven't currently implemented that, but store the SVE size for each thread so it can be added later.

This revision is now accepted and ready to land.Aug 9 2023, 11:07 AM

Also support proc_write_regset

This revision now requires review to proceed.Aug 9 2023, 1:13 PM
This revision is now accepted and ready to land.Aug 9 2023, 8:12 PM
This revision was automatically updated to reflect the committed changes.