Page MenuHomeFreeBSD

Move instructions into the arm64 exception vectors
ClosedPublic

Authored by andrew on Jan 5 2022, 3:14 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Jun 25, 6:25 PM
Unknown Object (File)
May 25 2024, 8:56 PM
Unknown Object (File)
May 24 2024, 4:37 PM
Unknown Object (File)
May 8 2024, 8:32 PM
Unknown Object (File)
Apr 26 2024, 8:03 AM
Unknown Object (File)
Apr 26 2024, 8:03 AM
Unknown Object (File)
Apr 25 2024, 11:22 PM
Unknown Object (File)
Mar 26 2024, 9:07 PM
Subscribers

Details

Summary

We have 32 instructions in each exception vector on arm64. Previously
only one was used to branch to the handler function. We can split the
start of these functions and move some of the instructions into the
vectors.

Diff Detail

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

Event Timeline

andrew requested review of this revision.Jan 5 2022, 3:14 PM

What's the advantage of setting up the handlers this way?

sys/arm64/arm64/exception.S
39
274

Why is it not vempty 0?

Fix vempty exception level values

What's the advantage of setting up the handlers this way?

I expect any reasonable implementation to prefetch the whole cache line from the exception vector, on exception. Using a single instruction there wastes cache.

This revision is now accepted and ready to land.Jan 6 2022, 12:53 AM