summaryrefslogtreecommitdiffstats
path: root/drivers/firmware/Kconfig
diff options
context:
space:
mode:
authorRichard Gong <richard.gong@intel.com>2018-11-13 19:14:01 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-11-26 20:13:50 +0100
commit7ca5ce896524f5292e610b27d168269e5ab74951 (patch)
treee8cab2f009c19a7a557d66be6c73742511783ba9 /drivers/firmware/Kconfig
parentarm64: dts: stratix10: add stratix10 service driver binding to base dtsi (diff)
downloadlinux-7ca5ce896524f5292e610b27d168269e5ab74951.tar.xz
linux-7ca5ce896524f5292e610b27d168269e5ab74951.zip
firmware: add Intel Stratix10 service layer driver
Some features of the Intel Stratix10 SoC require a level of privilege higher than the kernel is granted. Such secure features include FPGA programming. In terms of the ARMv8 architecture, the kernel runs at Exception Level 1 (EL1), access to the features requires Exception Level 3 (EL3). The Intel Stratix10 SoC service layer provides an in kernel API for drivers to request access to the secure features. The requests are queued and processed one by one. ARM’s SMCCC is used to pass the execution of the requests on to a secure monitor (EL3). The header file stratix10-sve-client.h defines the interface between service providers (FPGA manager is one of them) and service layer. The header file stratix10-smc.h defines the secure monitor call (SMC) message protocols used for service layer driver in normal world (EL1) to communicate with secure monitor SW in secure monitor exception level 3 (EL3). Signed-off-by: Richard Gong <richard.gong@intel.com> Signed-off-by: Alan Tull <atull@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/firmware/Kconfig')
-rw-r--r--drivers/firmware/Kconfig12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
index 7273e5082b41..f754578414f0 100644
--- a/drivers/firmware/Kconfig
+++ b/drivers/firmware/Kconfig
@@ -216,6 +216,18 @@ config FW_CFG_SYSFS_CMDLINE
WARNING: Using incorrect parameters (base address in particular)
may crash your system.
+config INTEL_STRATIX10_SERVICE
+ tristate "Intel Stratix10 Service Layer"
+ depends on HAVE_ARM_SMCCC
+ default n
+ help
+ Intel Stratix10 service layer runs at privileged exception level,
+ interfaces with the service providers (FPGA manager is one of them)
+ and manages secure monitor call to communicate with secure monitor
+ software at secure monitor exception level.
+
+ Say Y here if you want Stratix10 service layer support.
+
config QCOM_SCM
bool
depends on ARM || ARM64