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, Nov 12, 9:24 AM
Unknown Object (File)
Tue, Nov 12, 7:02 AM
Unknown Object (File)
Tue, Nov 12, 2:54 AM
Unknown Object (File)
Tue, Nov 12, 2:33 AM
Unknown Object (File)
Tue, Nov 12, 1:55 AM
Unknown Object (File)
Sat, Oct 26, 6:00 AM
Unknown Object (File)
Fri, Oct 25, 5:56 AM
Unknown Object (File)
Oct 17 2024, 9:24 AM
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
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 43718
Build 40606: arc lint + arc unit

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