Page MenuHomeFreeBSD

arm64: Provide ifunc HWCAP structure definitions
AcceptedPublic

Authored by sarah.walker2_arm.com on Thu, Jan 8, 10:51 AM.
Tags
None
Referenced Files
F141925659: D54598.diff
Mon, Jan 12, 4:31 PM
F141925046: D54598.id169312.diff
Mon, Jan 12, 3:11 PM
F141914631: D54598.diff
Mon, Jan 12, 11:12 AM
F141885964: D54598.diff
Mon, Jan 12, 12:19 AM
Unknown Object (File)
Fri, Jan 9, 7:18 PM
Unknown Object (File)
Thu, Jan 8, 5:37 PM
Unknown Object (File)
Thu, Jan 8, 2:18 PM
Unknown Object (File)
Thu, Jan 8, 2:16 PM
Subscribers

Details

Reviewers
andrew
manu
Summary

IFUNC structure is based on Section 9.4.1 "GNU C Library IFUNC interface"
from "System V ABI for the Arm 64-bit Architecture (AArch64)", 2025Q1.
(https://github.com/ARM-software/abi-aa/releases/download/2025Q1/sysvabi64.pdf)

Sponsored by: Arm Ltd

Diff Detail

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

Event Timeline

sys/arm64/include/ifunc.h
55–56

These can still be marked as __unused. It just tells the compiler to not complain if the arg isn't used in the function.

jrtc27 added inline comments.
sys/arm64/include/ifunc.h
55–56

s/can/must/ otherwise you require them to be used by everything using DEFINE_UIFUNC

sys/arm64/include/ifunc.h
32

Still no glibc-compatible typedef?

34

__size_t?

sys/arm64/include/ifunc.h
41

This is ULL but a_val is unsigned long?

41

(well, a_val is long but _hwcap is unsigned long)

sys/arm64/include/ifunc.h
34

_size is unsigned long in the ABI spec. Do you want me to deviate from that for this definition?

41

Again, this is 1ULL in the ABI spec.

sys/arm64/include/ifunc.h
34

Hm, ok

41

That's a strange spec. Presumably that was done for ILP32, but that doesn't make any sense with auxargs and __ifunc_arg_t members being unsigned long. But ok, if that's the nonsense it says then we go with that...

This revision is now accepted and ready to land.Mon, Jan 12, 10:51 AM
sys/arm64/include/ifunc.h
38

These are all improperly indented

This revision now requires review to proceed.Mon, Jan 12, 2:32 PM
This revision is now accepted and ready to land.Mon, Jan 12, 4:51 PM