History log of /src/sys/arm64/include/cpu_feat.h (Results 1 – 18 of 18)
Revision Date Author Comments
# 5e0e2565 19-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Read the CPU feature tunables once

Rather than reading the CPU tunables each time we enable a feature
just read them once on boot. Reading them early on non-boot CPUs
causes issues where they

arm64: Read the CPU feature tunables once

Rather than reading the CPU tunables each time we enable a feature
just read them once on boot. Reading them early on non-boot CPUs
causes issues where they try to allocate memory before the core is set
up to do so. As they don't change it is safe to cache the state of
them.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52578

show more ...


# 055229ed 19-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Add cpu_feat_disabled for disabled features

When a feature is disabled we may need to run a cleanup handler, e.g.
to remove a feature from the sanitized ID registers. Add support for
this wit

arm64: Add cpu_feat_disabled for disabled features

When a feature is disabled we may need to run a cleanup handler, e.g.
to remove a feature from the sanitized ID registers. Add support for
this with a new feat_disabled handler.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52577

show more ...


# 4bc68fa9 04-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Support managing features from loader

Allow the user to enable/disable supported cpu features/errata from a
known tunable. This will allow the user to disable features, e.g. to
work around br

arm64: Support managing features from loader

Allow the user to enable/disable supported cpu features/errata from a
known tunable. This will allow the user to disable features, e.g. to
work around broken firmware. It can also be used to enable workarounds
for rare errata.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52358

show more ...


# 9204a315 04-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Add a sysctl to see if features are enabled

This will also be used as a tunable to control features in a later
change.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://r

arm64: Add a sysctl to see if features are enabled

This will also be used as a tunable to control features in a later
change.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52357

show more ...


# b3605a7b 04-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Add a macro to create cpu_feat

This will be used later to extend cpu feature detection

Reviewed by: imp (earlier version)
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freeb

arm64: Add a macro to create cpu_feat

This will be used later to extend cpu feature detection

Reviewed by: imp (earlier version)
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52356

show more ...


# ac4fa583 24-Jan-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Add a new CPU feature framework

This will be used to enable features that are discoverable on boot. It
has support to check if a feature needs to be enabled, and if there is
any errata associ

arm64: Add a new CPU feature framework

This will be used to enable features that are discoverable on boot. It
has support to check if a feature needs to be enabled, and if there is
any errata associated with the feature that mean it shouldn't be
enabled. It can also be used to enable errata workarounds that aren't
associated with a specific feature, e.g. where we need to trap access
to a register in userspace to emulate it.

As some features need to be enabled early, while others can wait there
are two options for when to enable a feature:
* CPU_FEAT_EARLY_BOOT: The feature will be enabled early in the boot.
On the boot CPU this is in initarm, while on secondary CPUs this
is before signalling the CPU has started.
* CPU_FEAT_AFTER_DEV: The feature will be enabled after devices have
attached but before interrupts are enabled.

There are also two scopes for where to enable the feature:
* CPU_FEAT_PER_CPU: The feature will be checked and enabled on all
CPU cores.
* CPU_FEAT_SYSTEM: The feature will only be checked and enabled on a
single core.
It is expected the former will be used for most features, while the
latter is for features that set a global variable to be checked.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D47812

show more ...


# 5e0e2565 19-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Read the CPU feature tunables once

Rather than reading the CPU tunables each time we enable a feature
just read them once on boot. Reading them early on non-boot CPUs
causes issues where they

arm64: Read the CPU feature tunables once

Rather than reading the CPU tunables each time we enable a feature
just read them once on boot. Reading them early on non-boot CPUs
causes issues where they try to allocate memory before the core is set
up to do so. As they don't change it is safe to cache the state of
them.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52578

show more ...


# 055229ed 19-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Add cpu_feat_disabled for disabled features

When a feature is disabled we may need to run a cleanup handler, e.g.
to remove a feature from the sanitized ID registers. Add support for
this wit

arm64: Add cpu_feat_disabled for disabled features

When a feature is disabled we may need to run a cleanup handler, e.g.
to remove a feature from the sanitized ID registers. Add support for
this with a new feat_disabled handler.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52577

show more ...


# 4bc68fa9 04-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Support managing features from loader

Allow the user to enable/disable supported cpu features/errata from a
known tunable. This will allow the user to disable features, e.g. to
work around br

arm64: Support managing features from loader

Allow the user to enable/disable supported cpu features/errata from a
known tunable. This will allow the user to disable features, e.g. to
work around broken firmware. It can also be used to enable workarounds
for rare errata.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52358

show more ...


# 9204a315 04-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Add a sysctl to see if features are enabled

This will also be used as a tunable to control features in a later
change.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://r

arm64: Add a sysctl to see if features are enabled

This will also be used as a tunable to control features in a later
change.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52357

show more ...


# b3605a7b 04-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Add a macro to create cpu_feat

This will be used later to extend cpu feature detection

Reviewed by: imp (earlier version)
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freeb

arm64: Add a macro to create cpu_feat

This will be used later to extend cpu feature detection

Reviewed by: imp (earlier version)
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52356

show more ...


# ac4fa583 24-Jan-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Add a new CPU feature framework

This will be used to enable features that are discoverable on boot. It
has support to check if a feature needs to be enabled, and if there is
any errata associ

arm64: Add a new CPU feature framework

This will be used to enable features that are discoverable on boot. It
has support to check if a feature needs to be enabled, and if there is
any errata associated with the feature that mean it shouldn't be
enabled. It can also be used to enable errata workarounds that aren't
associated with a specific feature, e.g. where we need to trap access
to a register in userspace to emulate it.

As some features need to be enabled early, while others can wait there
are two options for when to enable a feature:
* CPU_FEAT_EARLY_BOOT: The feature will be enabled early in the boot.
On the boot CPU this is in initarm, while on secondary CPUs this
is before signalling the CPU has started.
* CPU_FEAT_AFTER_DEV: The feature will be enabled after devices have
attached but before interrupts are enabled.

There are also two scopes for where to enable the feature:
* CPU_FEAT_PER_CPU: The feature will be checked and enabled on all
CPU cores.
* CPU_FEAT_SYSTEM: The feature will only be checked and enabled on a
single core.
It is expected the former will be used for most features, while the
latter is for features that set a global variable to be checked.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D47812

show more ...


# 5e0e2565 19-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Read the CPU feature tunables once

Rather than reading the CPU tunables each time we enable a feature
just read them once on boot. Reading them early on non-boot CPUs
causes issues where they

arm64: Read the CPU feature tunables once

Rather than reading the CPU tunables each time we enable a feature
just read them once on boot. Reading them early on non-boot CPUs
causes issues where they try to allocate memory before the core is set
up to do so. As they don't change it is safe to cache the state of
them.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52578

show more ...


# 055229ed 19-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Add cpu_feat_disabled for disabled features

When a feature is disabled we may need to run a cleanup handler, e.g.
to remove a feature from the sanitized ID registers. Add support for
this wit

arm64: Add cpu_feat_disabled for disabled features

When a feature is disabled we may need to run a cleanup handler, e.g.
to remove a feature from the sanitized ID registers. Add support for
this with a new feat_disabled handler.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52577

show more ...


# 4bc68fa9 04-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Support managing features from loader

Allow the user to enable/disable supported cpu features/errata from a
known tunable. This will allow the user to disable features, e.g. to
work around br

arm64: Support managing features from loader

Allow the user to enable/disable supported cpu features/errata from a
known tunable. This will allow the user to disable features, e.g. to
work around broken firmware. It can also be used to enable workarounds
for rare errata.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52358

show more ...


# 9204a315 04-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Add a sysctl to see if features are enabled

This will also be used as a tunable to control features in a later
change.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://r

arm64: Add a sysctl to see if features are enabled

This will also be used as a tunable to control features in a later
change.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52357

show more ...


# b3605a7b 04-Sep-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Add a macro to create cpu_feat

This will be used later to extend cpu feature detection

Reviewed by: imp (earlier version)
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freeb

arm64: Add a macro to create cpu_feat

This will be used later to extend cpu feature detection

Reviewed by: imp (earlier version)
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D52356

show more ...


# ac4fa583 24-Jan-2025 Andrew Turner <andrew@FreeBSD.org>

arm64: Add a new CPU feature framework

This will be used to enable features that are discoverable on boot. It
has support to check if a feature needs to be enabled, and if there is
any errata associ

arm64: Add a new CPU feature framework

This will be used to enable features that are discoverable on boot. It
has support to check if a feature needs to be enabled, and if there is
any errata associated with the feature that mean it shouldn't be
enabled. It can also be used to enable errata workarounds that aren't
associated with a specific feature, e.g. where we need to trap access
to a register in userspace to emulate it.

As some features need to be enabled early, while others can wait there
are two options for when to enable a feature:
* CPU_FEAT_EARLY_BOOT: The feature will be enabled early in the boot.
On the boot CPU this is in initarm, while on secondary CPUs this
is before signalling the CPU has started.
* CPU_FEAT_AFTER_DEV: The feature will be enabled after devices have
attached but before interrupts are enabled.

There are also two scopes for where to enable the feature:
* CPU_FEAT_PER_CPU: The feature will be checked and enabled on all
CPU cores.
* CPU_FEAT_SYSTEM: The feature will only be checked and enabled on a
single core.
It is expected the former will be used for most features, while the
latter is for features that set a global variable to be checked.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D47812

show more ...