Page MenuHomeFreeBSD

arm64: fix incorrect HWCAP definitions
ClosedPublic

Authored by mhorne on Sep 4 2020, 6:11 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Nov 1, 10:01 PM
Unknown Object (File)
Sep 30 2024, 11:12 PM
Unknown Object (File)
Sep 19 2024, 1:01 AM
Unknown Object (File)
Sep 18 2024, 9:32 AM
Unknown Object (File)
Sep 16 2024, 5:46 PM
Unknown Object (File)
Sep 9 2024, 2:29 AM
Unknown Object (File)
Sep 7 2024, 5:44 PM
Unknown Object (File)
Sep 7 2024, 5:56 AM
Subscribers

Details

Summary

FreeBSD exports CPU features as bits in the AT_HWCAP and AT_HWCAP2
vectors via elf_aux_info(3). This interface is similar to getauxval(3)
on Linux, and for simplicity to consumers we try to maintain an
identical set of feature flags on arm64.

The first batch of AT_HWCAP flags were added in r350166, corresponding
to definitions that already existed in Linux. Unfortunately, one flag
was missed, and a portion of the values are shifted one bit to the right
as a result.

Add the missing definition for HWCAP_ASIMDHP, and fix the affected
values to match their Linux counterparts.

Although this is an ABI-breaking change, there is no plan to provide
compat code for old binaries. An audit of our ports tree and other
software via Debian code search suggests that there are not yet any
consumers of this interface for FreeBSD/arm64.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

mhorne requested review of this revision.Sep 4 2020, 6:11 PM
mhorne created this revision.
sys/sys/param.h
63 ↗(On Diff #76657)

Does this need to be done as a separate commit?

sys/sys/param.h
63 ↗(On Diff #76657)

I think the reason it's usually done as a separate commit is because folks forget at the time of the original change.
You can commit it at the same time.

LGTM but let's get one of the primary arm64 developers to accept

This revision is now accepted and ready to land.Sep 5 2020, 4:03 PM

Should I try to get this included in 12.2? The branch is set to happen on the 11th (6 days from now).

This revision was automatically updated to reflect the committed changes.