History log of /src/sys/arm64/include/cpu.h (Results 1 – 25 of 257)
Revision Date Author Comments
# 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


1234567891011