Page MenuHomeFreeBSD

arm64: Use sysinsn.h to generate tlbi instructions
AcceptedPublic

Authored by andrew on Aug 24 2026, 4:50 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Sep 26, 4:46 AM
Unknown Object (File)
Thu, Sep 24, 4:41 AM
Unknown Object (File)
Mon, Sep 21, 2:27 AM
Unknown Object (File)
Sat, Sep 19, 3:23 PM
Unknown Object (File)
Sat, Sep 19, 1:21 PM
Unknown Object (File)
Sat, Sep 12, 2:54 AM
Unknown Object (File)
Sat, Sep 12, 2:30 AM
Unknown Object (File)
Fri, Sep 11, 5:19 PM
Subscribers

Details

Reviewers
jhb
alc
manu
Group Reviewers
arm64
Summary

Some toolchains may not understand these instructions.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 76054
Build 72937: arc lint + arc unit

Event Timeline

It's not quite true that binutils doesn't "understand the instructions", it's more that different toolchains use different ways to enable access to optional instructions. According to the bug I posted earlier, older versions of LLVM matched binutils in that they required -march= for this particular case before the .arch_extension was added. I'm not a huge fan of hand-assembling vs trusting the assembler to do that job, but it does work, and the pattern does seem to match up quite well with how opcodes are described in the ARM ARM at least.

Maybe just tweak the commit log to say that .arch_extension cannot be used to selectively enable these instructions in all toolchains?

This revision is now accepted and ready to land.Mon, Sep 28, 1:33 PM