| #
2ccbf06c
|
| 28-Jan-2026 |
Sarah Walker <sarah.walker2@arm.com> |
arm64: Add MOPS implementations of memset(), memcpy() and memmove()
Enable the use of MOPS implementations of memset, memcpy and memmove within the kernel. Fix pre-ifunc resolution uses of these fun
arm64: Add MOPS implementations of memset(), memcpy() and memmove()
Enable the use of MOPS implementations of memset, memcpy and memmove within the kernel. Fix pre-ifunc resolution uses of these functions.
Reported by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D55051
show more ...
|
| #
1c41e411
|
| 09-Feb-2026 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Have get_kernel_reg return void
It now panics when it's unable to find the register, so doesn't need to return a status.
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.
arm64: Have get_kernel_reg return void
It now panics when it's unable to find the register, so doesn't need to return a status.
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D55106
show more ...
|
| #
95a5bfce
|
| 27-Oct-2025 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Use _armreg.h in cpu.h
We only needed armreg.h for the *_SPECIALREG macros. Use the new _armreg.h directly.
Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.f
arm64: Use _armreg.h in cpu.h
We only needed armreg.h for the *_SPECIALREG macros. Use the new _armreg.h directly.
Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53325
show more ...
|
| #
8fee6b9e
|
| 15-Sep-2025 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Add the new C1 CPU IDs
Add the Arm C1-Nano, C1-Pro, C1-Premium, and C1-Ultra CPUs from their Technical Reference Manuals.
Sponsored by: Arm Ltd
|
| #
f6d4c9c4
|
| 04-Sep-2025 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Remove CPU_MATCH_RAW
It's unused.
Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52191
|
| #
c76b0247
|
| 04-Sep-2025 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Add a function to check a range of CPU revs
Add a function that can check if a given midr is within a range of revisions. This will be used to check if a CPU is affected by a known erratum.
arm64: Add a function to check a range of CPU revs
Add a function that can check if a given midr is within a range of revisions. This will be used to check if a CPU is affected by a known erratum.
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52187
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 ...
|
| #
124b5dbf
|
| 23-Jun-2025 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Add more CPU MIDR values
Found in Linux and https://github.com/arm-software/data
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50726
|
| #
128085a3
|
| 23-Jun-2025 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Use ISS to search for a special register
Previously we would use part of the msr/mrs instruction to find what register was being asked for. This was the only use for these values.
We now hav
arm64: Use ISS to search for a special register
Previously we would use part of the msr/mrs instruction to find what register was being asked for. This was the only use for these values.
We now have ESR_EL1 ISS field values for the same register so can use this new value to find what register is asked for. This lets us remove the old reg field from struct mrs_user_reg.
Add macros to keep the old KPI.
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50905
show more ...
|
| #
59486443
|
| 23-Jun-2025 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Remove extract_user_id_field
It's unneeded now we have get_user_reg.
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50904
|
| #
3113ac28
|
| 23-Jun-2025 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Add get_user_reg
This is similar to get_kernel_reg such that it gives us a common view of the userspace ID register.
This will be used to replace extract_user_id_field in a future change.
S
arm64: Add get_user_reg
This is similar to get_kernel_reg such that it gives us a common view of the userspace ID register.
This will be used to replace extract_user_id_field in a future change.
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50902
show more ...
|
| #
2aeac25b
|
| 02-Jun-2025 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Add a function to restrict the ID registers
This will be used when we need to restrict the register values, e.g. when an erratum is present that means we need to disable a feature we will nee
arm64: Add a function to restrict the ID registers
This will be used when we need to restrict the register values, e.g. when an erratum is present that means we need to disable a feature we will need to remove some fields from these registers.
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50572
show more ...
|
| #
e353ac0c
|
| 03-May-2024 |
Andrew Turner <andrew@FreeBSD.org> |
am64: Allow cpu.h to be included from assembly
Reviewed by: jhibbits, kevans Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45081
|
| #
3bbe8ed1
|
| 05-Apr-2024 |
Stephen J. Kiernan <stevek@FreeBSD.org> |
arm64: Add a CPU reset hook instead of expecting PSCI
Some SoCs do not include a PSCI for power management and defer it to something else instead. Add a CPU reset hook to account for this, and use i
arm64: Add a CPU reset hook instead of expecting PSCI
Some SoCs do not include a PSCI for power management and defer it to something else instead. Add a CPU reset hook to account for this, and use it in the psci driver.
Reviewed by: andrew Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D44535
show more ...
|
| #
da2b7322
|
| 23-Mar-2024 |
Lexi Winter <lexi@le-Fay.ORG> |
arm64: add CPU part identifiers for Apple M1 and M2
Part numbers are sourced from Linux (arch/arm64/include/asm/cputype.h).
MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/p
arm64: add CPU part identifiers for Apple M1 and M2
Part numbers are sourced from Linux (arch/arm64/include/asm/cputype.h).
MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/1144
show more ...
|
| #
29363fb4
|
| 23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl s
sys: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script.
Sponsored by: Netflix
show more ...
|
| #
2ff63af9
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .h pattern
Remove /^\s*\*+\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 ...
|
| #
fbec1f91
|
| 28-Jun-2023 |
Mark Johnston <markj@FreeBSD.org> |
arm64: Add a masked get_kernel_reg()
This lets consumers fetch the value of a system register and apply a mask over individual fields. That is, each field in the returned value will be the "smaller
arm64: Add a masked get_kernel_reg()
This lets consumers fetch the value of a system register and apply a mask over individual fields. That is, each field in the returned value will be the "smaller" of the two provided by "mask" and the value saved in kern_cpu_desc. This will be used by vmm to sanitize host system register fields.
Reviewed by: andrew MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. (hardware) Differential Revision: https://reviews.freebsd.org/D40500
show more ...
|
| #
d057b7aa
|
| 02-Jun-2023 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Malloc the cpu_desc array
We only need this during boot. Allocate the array before starting CPUs to reduce the memory usage.
Reviewed by: Zach Leaf <zachary.leaf@arm.com> Sponsored by: Arm L
arm64: Malloc the cpu_desc array
We only need this during boot. Allocate the array before starting CPUs to reduce the memory usage.
Reviewed by: Zach Leaf <zachary.leaf@arm.com> Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40433
show more ...
|
| #
ad2f2ee0
|
| 26-Mar-2023 |
Mark Johnston <markj@FreeBSD.org> |
arm64: Remove duplicated function prototypes for PAC
No functional change intended.
Sponsored by: The FreeBSD Foundation
|
| #
fd5e9210
|
| 20-Dec-2022 |
Allan Jude <allanjude@FreeBSD.org> |
Add CPU Ident for Qualcomm Kryo 400 (used in MS Dev Kit)
Reviewed by: imp Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D37767
|
| #
80ba994b
|
| 14-Nov-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Add the arch field to the arm64 MIDR macros
For completeness add accessors for the MIDR field. As the field is always 0xf on arm64 it is unneeded in the current MICR handling, but will be used in th
Add the arch field to the arm64 MIDR macros
For completeness add accessors for the MIDR field. As the field is always 0xf on arm64 it is unneeded in the current MICR handling, but will be used in the vmm module for bhyve.
Obtained from: https://github.com/FreeBSD-UPB/freebsd-src (earlier version) Sponsored by: The FreeBSD Foundation
show more ...
|
| #
82860bcb
|
| 11-Oct-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Add more Arm CPUs to the arm64 cpu ident
These are based on CPUs found in https://github.com/ARM-software/data
Sponsored by: The FreeBSD Foundation
|
| #
969da7c7
|
| 24-May-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Add more Arm CPU IDs
Add more CPU main ID register values for Arm Cortex and Neoverse CPUs
Sponsored by: The FreeBSD Foundation
|