Skip to content

[redhat] New configs in arch/arm64

Jeremy Cline requested to merge configs/2020-02-05/arch/arm64 into internal

Hi,

As part of the ongoing rebase effort, the following configuration options need to be reviewed.

As a reminder, the ARK configuration flow involves moving unreviewed configuration options from the pending directory to the ark directory. In the diff below, options are removed from the pending directory and added to the ark hierarchy. The final options that need to be ACKed are the files that are being added to the ark hierarchy.

If the value for a file that is added should be changed, please reply with a better option.

CONFIG_ARCH_RANDOM:

Random number generation (part of the ARMv8.5 Extensions) provides a high bandwidth, cryptographically secure hardware random number generator.

Symbol: ARCH_RANDOM [=y] Type : bool Prompt: Enable support for random number generation Location: -> Kernel Features -> ARMv8.5 architectural features Defined at arch/arm64/Kconfig:1533


CONFIG_ARM64_E0PD:

E0PD (part of the ARMv8.5 extensions) allows us to ensure that EL0 accesses made via TTBR1 always fault in constant time, providing similar benefits to KASLR as those provided by KPTI, but with lower overhead and without disrupting legitimate access to kernel memory such as SPE.

This option enables E0PD for TTBR1 where available.

Symbol: ARM64_E0PD [=y] Type : bool Prompt: Enable support for E0PD Location: -> Kernel Features -> ARMv8.5 architectural features Defined at arch/arm64/Kconfig:1521


CONFIG_ARM64_ERRATUM_1530923:

This option adds a workaround for ARM Cortex-A55 erratum 1530923.

Affected Cortex-A55 cores (r0p0, r0p1, r1p0, r2p0) could end-up with corrupted TLBs by speculating an AT instruction during a guest context switch.

If unsure, say Y.

Symbol: ARM64_ERRATUM_1530923 [=y] Type : bool Prompt: Cortex-A55: Speculative AT instruction using out-of-context translation regime could cause subsequent request to generate an incorrect translation Location: -> Kernel Features -> ARM errata workarounds via the alternatives framework Defined at arch/arm64/Kconfig:539 Selects: ARM64_WORKAROUND_SPECULATIVE_AT_VHE [=y]


CONFIG_ARM64_USE_LSE_ATOMICS:

As part of the Large System Extensions, ARMv8.1 introduces new atomic instructions that are designed specifically to scale in very large systems.

Say Y here to make use of these instructions for the in-kernel atomic routines. This incurs a small overhead on CPUs that do not support these instructions and requires the kernel to be built with binutils >= 2.25 in order for the new instructions to be used.

Symbol: ARM64_USE_LSE_ATOMICS [=y] Type : bool Prompt: Atomic instructions Location: -> Kernel Features -> ARMv8.1 architectural features Defined at arch/arm64/Kconfig:1397 Depends on: JUMP_LABEL [=y]


Cc: Mark Salter msalter@redhat.com Cc: Jeremy Linton jlinton@redhat.com

Merge request reports