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)
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
Unknown Object (File)
Sep 2 2024, 2:51 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
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