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)
Wed, Oct 2, 8:30 PM
Unknown Object (File)
Mon, Sep 23, 8:58 AM
Unknown Object (File)
Sat, Sep 21, 6:26 PM
Unknown Object (File)
Wed, Sep 18, 6:03 AM
Unknown Object (File)
Wed, Sep 18, 2:13 AM
Unknown Object (File)
Mon, Sep 16, 6:30 PM
Unknown Object (File)
Sat, Sep 14, 7:39 AM
Unknown Object (File)
Tue, Sep 10, 8:13 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
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 43717
Build 40605: 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