90859c6bf3
The current code is assuming that the SMC/HVC helpers can only be used by the PSCI driver. This is wrong because a mechanism to call into the secure monitor should be made available regardless of using PSCI or not. For example several SoCs relies on SMC calls to read/write e-fuses, retrieve the chip ID, control power domains, etc... This patch introduces a new CONFIG_HAS_ARM_SMCCC symbol to enable the SMC/HVC helpers support and export that to drivers that require it. Signed-off-by: Carlo Caione <ccaione@baylibre.com>
56 lines
1.4 KiB
Plaintext
56 lines
1.4 KiB
Plaintext
# ARM architecture configuration options
|
|
|
|
# Copyright (c) 2014-2015 Wind River Systems, Inc.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menu "ARM Options"
|
|
depends on ARM
|
|
|
|
config ARCH
|
|
default "arm"
|
|
|
|
config ARM64
|
|
bool
|
|
select 64BIT
|
|
|
|
config CPU_CORTEX
|
|
bool
|
|
help
|
|
This option signifies the use of a CPU of the Cortex family.
|
|
|
|
config ARM_CUSTOM_INTERRUPT_CONTROLLER
|
|
bool
|
|
depends on !CPU_CORTEX_M
|
|
help
|
|
This option indicates that the ARM CPU is connected to a custom (i.e.
|
|
non-GIC) interrupt controller.
|
|
|
|
A number of Cortex-A and Cortex-R cores (Cortex-A5, Cortex-R4/5, ...)
|
|
allow interfacing to a custom external interrupt controller and this
|
|
option must be selected when such cores are connected to an interrupt
|
|
controller that is not the ARM Generic Interrupt Controller (GIC).
|
|
|
|
When this option is selected, the architecture interrupt control
|
|
functions are mapped to the SoC interrupt control interface, which is
|
|
implemented at the SoC level.
|
|
|
|
N.B. This option is only applicable to the Cortex-A and Cortex-R
|
|
family cores. The Cortex-M family cores are always equipped with
|
|
the ARM Nested Vectored Interrupt Controller (NVIC).
|
|
|
|
config HAS_ARM_SMCCC
|
|
bool
|
|
help
|
|
Include support for the Secure Monitor Call (SMC) and Hypervisor
|
|
Call (HVC) instructions on Armv7 and above architectures.
|
|
|
|
if !ARM64
|
|
rsource "core/aarch32/Kconfig"
|
|
endif
|
|
|
|
if ARM64
|
|
rsource "core/aarch64/Kconfig"
|
|
endif
|
|
|
|
endmenu
|