| #
3a960425
|
| 18-Feb-2026 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Add more HWCAP values
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D55219
|
| #
4c6c27d3
|
| 08-Aug-2025 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Support TBI in userspace
To allow for Hardware-assisted AddressSanitizer (HWASAN) and future work to enable MTE we need to enable TBI in userspace. As address space that previously would have
arm64: Support TBI in userspace
To allow for Hardware-assisted AddressSanitizer (HWASAN) and future work to enable MTE we need to enable TBI in userspace. As address space that previously would have faulted will now not it could be considered an ABI change so only enable for processes with a late enough revision.
Relnotes: yes Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51637
show more ...
|
| #
94686b08
|
| 17-Feb-2025 |
Harry Moulton <harry.moulton@arm.com> |
arm64: add missing HWCAP and HWCAP2 values
Update the HWCAP and HWCAP2 values to align with Linux v6.13
Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/
arm64: add missing HWCAP and HWCAP2 values
Update the HWCAP and HWCAP2 values to align with Linux v6.13
Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D48814 Signed-off-by: Harry Moulton <harry.moulton@arm.com>
show more ...
|
| #
2ee649c1
|
| 27-Oct-2023 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Add more HWCAP2 values
Update the HWCAP2 values to align with Linux v6.6-rc7
Reviewed by: manu, imp, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42379
|
| #
0f093880
|
| 27-Oct-2023 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Expand HWCAP2 to be 64 bit
There are more than 32 arm64 HWCAP2 values. Expand the macros to include leading zeros and mark them as unsigned long.
Reviewed by: manu, imp, emaste Sponsored by:
arm64: Expand HWCAP2 to be 64 bit
There are more than 32 arm64 HWCAP2 values. Expand the macros to include leading zeros and mark them as unsigned long.
Reviewed by: manu, imp, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42378
show more ...
|
| #
95ee2897
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
| #
d5d97bed
|
| 25-Jul-2023 |
Mike Karels <karels@FreeBSD.org> |
arm64 lib32: prepare arm64 headers to redirect to arm
In order to compile lib32 libraries and other 32-bit code on arm64, <machine/foo.h> needs to be redirected to an arm header rather than arm64 wh
arm64 lib32: prepare arm64 headers to redirect to arm
In order to compile lib32 libraries and other 32-bit code on arm64, <machine/foo.h> needs to be redirected to an arm header rather than arm64 when building with -m32. Ifdef the arm64 headers that are installed in /usr/include/machine and used by user-level software (including references from /usr/include/*.h) so that if __arm__ is defined when including the arm64 version, <arm/foo.h> is included rather than using the rest of the file's contents. Some arm headers had no arm64 equivalent; headers were added just to do the redirection. These files use #error if __arm__ is not defined to guard against confusion. Also add an include/arm Makefile, and modify Makefiles as needed to install everything, including the arm files in /usr/include/arm. fenv.h comes from lib/msun/arm/fenv.h.
The new arm64 headers are: acle-compat.h cpuinfo.h sysreg.h
Reviewed by: jrtc27, imp Differential Revision: https://reviews.freebsd.org/D40944
show more ...
|
| #
ca18304e
|
| 22-Oct-2022 |
Konstantin Belousov <kib@FreeBSD.org> |
arm, arm64: tweak hard-coded load addresses for PIE binaries
They are used when ASLR is not applied. The need for adjusting is due to rtld direct exec mode puts ld-elf.so.1 at the PIE load address,
arm, arm64: tweak hard-coded load addresses for PIE binaries
They are used when ASLR is not applied. The need for adjusting is due to rtld direct exec mode puts ld-elf.so.1 at the PIE load address, and this address must not conflict with the default linker' load address for non-PIE binaries. Otherwise rtld in direct mode cannot activate image. Example of implicit failure is ldd(1) refusing to run.
Reported by: kp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D37085
show more ...
|
| #
bbe80bff
|
| 25-Jul-2021 |
Peter Grehan <grehan@FreeBSD.org> |
arm64: HWCAP/HWCAP2 aux args support for 32-bit ARM binaries.
This fixes build/run of golang under COMPAT32 emulation.
PR: 256897 Reviewed by: andrew, mmel, manu, jhb, cognet, Robert Clausecker Tes
arm64: HWCAP/HWCAP2 aux args support for 32-bit ARM binaries.
This fixes build/run of golang under COMPAT32 emulation.
PR: 256897 Reviewed by: andrew, mmel, manu, jhb, cognet, Robert Clausecker Tested by: brd, andrew, Robert Clausecker MFC after: 3 weeks Relnotes: yes Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D31175
show more ...
|
| #
d81d009c
|
| 08-Sep-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
arm64: fix incorrect HWCAP definitions
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 sim
arm64: fix incorrect HWCAP definitions
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 adjust 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 indicates that there are not yet any consumers of this interface for FreeBSD/arm64.
Bump __FreeBSD_version to be on the safe side, in case compat code needs to be added in the future.
Reviewed by: emaste, manu MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26329
show more ...
|
| #
7ea40e1d
|
| 03-Sep-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
arm64: update the set of HWCAP definitions
This is in sync with what is defined for Linux 5.8. Note that all bits in HWCAP are exhausted, and HWCAP2 has been added.
This also revealed an error in s
arm64: update the set of HWCAP definitions
This is in sync with what is defined for Linux 5.8. Note that all bits in HWCAP are exhausted, and HWCAP2 has been added.
This also revealed an error in some of the existing definitions. We are missing HWCAP_ASIMDHP, and as a result a portion of the HWCAP values are shifted right by one bit. This will be fixed in an upcoming change, but the values being added now are compatible with what Linux defines.
Reviewed by: emaste, markj, manu MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26030
show more ...
|
| #
26517dcf
|
| 11-Oct-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
gcore: Add aarch64 32-bit core support
Summary: Add trivial 32-bit arm cores on aarch64 support for gcore. This doesn't handle fpregs.
Reviewed by: #arm, andrew Sponsored by: Juniper Networks, Inc
gcore: Add aarch64 32-bit core support
Summary: Add trivial 32-bit arm cores on aarch64 support for gcore. This doesn't handle fpregs.
Reviewed by: #arm, andrew Sponsored by: Juniper Networks, Inc Differential Revision: https://reviews.freebsd.org/D21947
show more ...
|
| #
a63915c2
|
| 28-Jul-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @r350386
Sponsored by: The FreeBSD Foundation
|
| #
d5fdfa2c
|
| 20-Jul-2019 |
Emmanuel Vadot <manu@FreeBSD.org> |
arm64: Implement HWCAP
Add HWCAP support for arm64. defines are the same as in Linux and a userland program can use elf_aux_info to get the data. We only save the common denominator for all cores in
arm64: Implement HWCAP
Add HWCAP support for arm64. defines are the same as in Linux and a userland program can use elf_aux_info to get the data. We only save the common denominator for all cores in case the big and little cluster have different support (this is known to exists even if we don't support those SoCs in FreeBSD)
Differential Revision: https://reviews.freebsd.org/D17137
show more ...
|
| #
8c9c3144
|
| 13-Jan-2019 |
Olivier Houchard <cognet@FreeBSD.org> |
Impleent COMPAT_FREEBSD32 for arm64. This is based on early work by andrew@.
|
| #
c6879c6c
|
| 23-Oct-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r339015 through r339669.
|
| #
c3adaa33
|
| 22-Oct-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Consolidate identical ELF auxargs type defintions.
All platforms except powerpc use the same values and powerpc shares a majority of them.
Go ahead and declare AT_NOTELF, AT_UID, and AT_EUID in fav
Consolidate identical ELF auxargs type defintions.
All platforms except powerpc use the same values and powerpc shares a majority of them.
Go ahead and declare AT_NOTELF, AT_UID, and AT_EUID in favor of the unused AT_DCACHEBSIZE, AT_ICACHEBSIZE, and AT_UCACHEBSIZE for powerpc.
Reviewed by: jhb, imp Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D17397
show more ...
|
| #
4c6c27d3
|
| 08-Aug-2025 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Support TBI in userspace
To allow for Hardware-assisted AddressSanitizer (HWASAN) and future work to enable MTE we need to enable TBI in userspace. As address space that previously would have
arm64: Support TBI in userspace
To allow for Hardware-assisted AddressSanitizer (HWASAN) and future work to enable MTE we need to enable TBI in userspace. As address space that previously would have faulted will now not it could be considered an ABI change so only enable for processes with a late enough revision.
Relnotes: yes Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51637
show more ...
|
| #
94686b08
|
| 17-Feb-2025 |
Harry Moulton <harry.moulton@arm.com> |
arm64: add missing HWCAP and HWCAP2 values
Update the HWCAP and HWCAP2 values to align with Linux v6.13
Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/
arm64: add missing HWCAP and HWCAP2 values
Update the HWCAP and HWCAP2 values to align with Linux v6.13
Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D48814 Signed-off-by: Harry Moulton <harry.moulton@arm.com>
show more ...
|
| #
2ee649c1
|
| 27-Oct-2023 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Add more HWCAP2 values
Update the HWCAP2 values to align with Linux v6.6-rc7
Reviewed by: manu, imp, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42379
|
| #
0f093880
|
| 27-Oct-2023 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Expand HWCAP2 to be 64 bit
There are more than 32 arm64 HWCAP2 values. Expand the macros to include leading zeros and mark them as unsigned long.
Reviewed by: manu, imp, emaste Sponsored by:
arm64: Expand HWCAP2 to be 64 bit
There are more than 32 arm64 HWCAP2 values. Expand the macros to include leading zeros and mark them as unsigned long.
Reviewed by: manu, imp, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42378
show more ...
|
| #
95ee2897
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
| #
d5d97bed
|
| 25-Jul-2023 |
Mike Karels <karels@FreeBSD.org> |
arm64 lib32: prepare arm64 headers to redirect to arm
In order to compile lib32 libraries and other 32-bit code on arm64, <machine/foo.h> needs to be redirected to an arm header rather than arm64 wh
arm64 lib32: prepare arm64 headers to redirect to arm
In order to compile lib32 libraries and other 32-bit code on arm64, <machine/foo.h> needs to be redirected to an arm header rather than arm64 when building with -m32. Ifdef the arm64 headers that are installed in /usr/include/machine and used by user-level software (including references from /usr/include/*.h) so that if __arm__ is defined when including the arm64 version, <arm/foo.h> is included rather than using the rest of the file's contents. Some arm headers had no arm64 equivalent; headers were added just to do the redirection. These files use #error if __arm__ is not defined to guard against confusion. Also add an include/arm Makefile, and modify Makefiles as needed to install everything, including the arm files in /usr/include/arm. fenv.h comes from lib/msun/arm/fenv.h.
The new arm64 headers are: acle-compat.h cpuinfo.h sysreg.h
Reviewed by: jrtc27, imp Differential Revision: https://reviews.freebsd.org/D40944
show more ...
|
| #
ca18304e
|
| 22-Oct-2022 |
Konstantin Belousov <kib@FreeBSD.org> |
arm, arm64: tweak hard-coded load addresses for PIE binaries
They are used when ASLR is not applied. The need for adjusting is due to rtld direct exec mode puts ld-elf.so.1 at the PIE load address,
arm, arm64: tweak hard-coded load addresses for PIE binaries
They are used when ASLR is not applied. The need for adjusting is due to rtld direct exec mode puts ld-elf.so.1 at the PIE load address, and this address must not conflict with the default linker' load address for non-PIE binaries. Otherwise rtld in direct mode cannot activate image. Example of implicit failure is ldd(1) refusing to run.
Reported by: kp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D37085
show more ...
|
| #
bbe80bff
|
| 25-Jul-2021 |
Peter Grehan <grehan@FreeBSD.org> |
arm64: HWCAP/HWCAP2 aux args support for 32-bit ARM binaries.
This fixes build/run of golang under COMPAT32 emulation.
PR: 256897 Reviewed by: andrew, mmel, manu, jhb, cognet, Robert Clausecker Tes
arm64: HWCAP/HWCAP2 aux args support for 32-bit ARM binaries.
This fixes build/run of golang under COMPAT32 emulation.
PR: 256897 Reviewed by: andrew, mmel, manu, jhb, cognet, Robert Clausecker Tested by: brd, andrew, Robert Clausecker MFC after: 3 weeks Relnotes: yes Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D31175
show more ...
|