/linux/Documentation/devicetree/bindings/arm/ |
H A D | secure.txt | 1 * ARM Secure world bindings 4 "Normal" and "Secure". Most devicetree consumers (including the Linux 6 world or the Secure world. However some devicetree consumers are 8 visible only in the Secure address space, only in the Normal address 10 virtual machine which boots Secure firmware and wants to tell the 13 The general principle of the naming scheme for Secure world bindings 14 is that any property that needs a different value in the Secure world 15 can be supported by prefixing the property name with "secure-". So for 16 instance "secure-foo" would override "foo". For property names with 17 a vendor prefix, the Secure variant of "vendor,foo" would be [all …]
|
/linux/Documentation/arch/powerpc/ |
H A D | ultravisor.rst | 1 .. SPDX-License-Identifier: GPL-2.0 15 POWER 9 that enables Secure Virtual Machines (SVMs). DD2.3 chips 16 (PVR=0x004e1203) or greater will be PEF-capable. A new ISA release 25 +------------------+ 29 +------------------+ 31 +------------------+ 33 +------------------+ 35 +------------------+ 38 VMs in the system. SVMs are protected while at rest and can only be 56 process is running in secure mode, MSR(S) bit 41. MSR(S)=1, process [all …]
|
/linux/arch/s390/include/uapi/asm/ |
H A D | pkey.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 23 #define SECKEYBLOBSIZE 64 /* secure key blob size is always 64 bytes */ 89 /* Struct to hold a CCA AES secure key blob */ 91 __u8 seckey[SECKEYBLOBSIZE]; /* the secure key blob */ 121 * Generate CCA AES secure key. 127 struct pkey_seckey seckey; /* out: the secure key blob */ 133 * Construct CCA AES secure key from clear key value 140 struct pkey_seckey seckey; /* out: the secure key blob */ 146 * Fabricate AES protected key from a CCA AES secure key 151 struct pkey_seckey seckey; /* in: the secure key blob */ [all …]
|
/linux/Documentation/devicetree/bindings/crypto/ |
H A D | inside-secure,safexcel.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/crypto/inside-secure,safexcel.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Inside Secure SafeXcel cryptographic engine 10 - Antoine Tenart <atenart@kernel.org> 15 - const: inside-secure,safexcel-eip197b 16 - const: inside-secure,safexcel-eip197d 17 - const: inside-secure,safexcel-eip97ies 18 - const: inside-secure,safexcel-eip197 [all …]
|
/linux/arch/arm/mach-omap2/ |
H A D | omap-secure.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * OMAP Secure API infrastructure. 11 #include <linux/arm-smccc.h> 23 #include "omap-secure.h" 39 * We only check that the OP-TEE node is present and available. The in omap_optee_init_check() 40 * OP-TEE kernel driver is not needed for the type of interaction made in omap_optee_init_check() 41 * with OP-TEE here so the driver's status is not checked. in omap_optee_init_check() 50 * omap_secure_dispatcher - Routine to dispatch low power secure 55 * @arg1, arg2, arg3 args4: Parameters passed to secure API 57 * Return the non-zero error value on failure. [all …]
|
H A D | omap-secure.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * omap-secure.h: OMAP Secure infrastructure header. 23 /* Secure HAL API flags */ 30 /* Maximum Secure memory storage size */ 35 /* Secure low power HAL API index */ 41 /* Secure Monitor mode APIs */ 52 /* Secure PPA(Primary Protected Application) APIs */ 60 /* Secure RX-51 PPA (Primary Protected Application) APIs */
|
H A D | omap-smc.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * OMAP34xx and OMAP44xx secure APIs file. 15 * This is common routine to manage secure monitor API 16 * used to modify the PL310 secure registers. 23 .arch armv7-a 26 stmfd sp!, {r2-r12, lr} 31 ldmfd sp!, {r2-r12, pc} 36 * Low level common routine for secure HAL and PPA APIs. 43 stmfd sp!, {r4-r12, lr} 48 mov r12, #0x00 @ Secure Service ID [all …]
|
/linux/Documentation/devicetree/bindings/nvmem/ |
H A D | st,stm32-romem.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/nvmem/st,stm32-romem.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: STMicroelectronics STM32 Factory-programmed data 10 This represents STM32 Factory-programmed read only non-volatile area: locked 11 flash, OTP, read-only HW regs... This contains various information such as: 16 - Fabrice Gasnier <fabrice.gasnier@foss.st.com> 19 - $ref: nvmem.yaml# 20 - $ref: nvmem-deprecated-cells.yaml# [all …]
|
H A D | amlogic,meson-gxbb-efuse.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/nvmem/amlogic,meson-gxbb-efuse.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Neil Armstrong <neil.armstrong@linaro.org> 13 - $ref: nvmem.yaml# 14 - $ref: nvmem-deprecated-cells.yaml# 19 - const: amlogic,meson-gxbb-efuse 20 - items: 21 - const: amlogic,meson-gx-efuse [all …]
|
H A D | qcom,sec-qfprom.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/nvmem/qcom,sec-qfprom.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm Technologies Inc, Secure QFPROM Efuse 10 - Komal Bajaj <quic_kbajaj@quicinc.com> 14 protected from non-secure access. In such situations, the OS have to use 15 secure calls to read the region. 18 - $ref: nvmem.yaml# 19 - $ref: nvmem-deprecated-cells.yaml# [all …]
|
/linux/drivers/s390/crypto/ |
H A D | zcrypt_ccamisc.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 18 #define TOKTYPE_NON_CCA 0x00 /* Non-CCA key token */ 42 /* inside view of a CCA secure key token (only type 0x01 version 0x04) */ 82 /* AES-128 512 640 */ 83 /* AES-192 576 640 */ 84 /* AES-256 640 640 */ 98 /* inside view of an CCA secure ECC private key */ 108 u8 htype; /* hash method, 0x02 for SHA-256 */ 134 * Simple check if the token is a valid CCA secure AES data key 142 * Simple check if the token is a valid CCA secure AES cipher key [all …]
|
/linux/arch/arm/mach-bcm/ |
H A D | bcm_kona_smc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 25 {.compatible = "brcm,kona-smc"}, 26 {.compatible = "bcm,kona-smc"}, /* deprecated name */ 40 return -ENODEV; in bcm_kona_smc_init() 45 return -EINVAL; in bcm_kona_smc_init() 49 return -ENOMEM; in bcm_kona_smc_init() 52 pr_info("Kona Secure API initialized\n"); in bcm_kona_smc_init() 60 * Only core 0 can run the secure monitor code. If an "smc" request 67 * cache and interrupt handling while the secure monitor executes. 69 * Parameters to the "smc" request are passed in r4-r6 as follows: [all …]
|
/linux/drivers/tee/optee/ |
H A D | optee_smc.h | 1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */ 3 * Copyright (c) 2015-2021, Linaro Limited 8 #include <linux/arm-smccc.h> 28 * Normal cached memory (write-back), shareable for SMP systems and not 36 * 32-bit registers. 44 * 384fb3e0-e7f8-11e3-af63-0002a5d5c51b. 75 * Used by non-secure world to figure out which Trusted OS is installed. 78 * Returns UUID in a0-4 in the same way as OPTEE_SMC_CALLS_UID 88 * Used by non-secure world to figure out which version of the Trusted OS 92 * Returns revision in a0-1 in the same way as OPTEE_SMC_CALLS_REVISION [all …]
|
H A D | optee_rpc_cmd.h | 1 /* SPDX-License-Identifier: BSD-2-Clause */ 3 * Copyright (c) 2016-2021, Linaro Limited 12 * Only the commands handled by the kernel driver are defined here. 14 * RPC communication with tee-supplicant is reversed compared to normal 23 * 1970-01-01 00:00:00 +0000 (UTC). 31 * Notification from/to secure world. 33 * If secure world needs to wait for something, for instance a mutex, it 34 * does a notification wait request instead of spinning in secure world. 35 * Conversely can a synchronous notification can be sent when a secure 39 * which instead is sent via a non-secure interrupt. [all …]
|
/linux/Documentation/devicetree/bindings/mailbox/ |
H A D | ti,secure-proxy.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mailbox/ti,secure-proxy.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Texas Instruments' Secure Proxy 10 - Nishanth Menon <nm@ti.com> 13 The Texas Instruments' secure proxy is a mailbox controller that has 16 called "threads" or "proxies" - each instance is unidirectional and is 22 pattern: "^mailbox@[0-9a-f]+$" 25 const: ti,am654-secure-proxy [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-secvar | 5 secureboot, thereby secure variables. It exposes interface 6 for reading/writing the secure variables 11 Description: This directory lists all the secure variables that are supported 22 and is expected to be "ibm,edk2-compat-v1". 26 has the form "ibm,plpks-sb-v<version>", or 27 "ibm,plpks-sb-unknown" if there is no SB_VERSION variable. 32 Description: Each secure variable is represented as a directory named as 46 Description: A read-only file containing the value of the variable. The size 52 Description: A write-only file that is used to submit the new value for the 59 Description: This optional directory contains read-only config attributes as [all …]
|
/linux/Documentation/virt/kvm/s390/ |
H A D | s390-pv.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 ------- 15 Each guest starts in non-protected mode and then may make a request to 20 The Ultravisor will secure and decrypt the guest's boot memory 33 ------------------- 46 safeguarding; they can only be injected for instructions that have 54 ------------------------------- 64 --------------------- 70 The control structures associated with SIE provide the Secure 72 Secure Interception General Register Save Area. Guest GRs and most of [all …]
|
/linux/Documentation/tee/ |
H A D | op-tee.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 OP-TEE (Open Portable Trusted Execution Environment) 7 The OP-TEE driver handles OP-TEE [1] based TEEs. Currently it is only the ARM 8 TrustZone based OP-TEE solution that is supported. 10 Lowest level of communication with OP-TEE builds on ARM SMC Calling 11 Convention (SMCCC) [2], which is the foundation for OP-TEE's SMC interface 12 [3] used internally by the driver. Stacked on top of that is OP-TEE Message 15 OP-TEE SMC interface provides the basic functions required by SMCCC and some 16 additional functions specific for OP-TEE. The most interesting functions are: 18 - OPTEE_SMC_FUNCID_CALLS_UID (part of SMCCC) returns the version information [all …]
|
H A D | amd-tee.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 AMD-TEE (AMD's Trusted Execution Environment) 7 The AMD-TEE driver handles the communication with AMD's TEE environment. The 8 TEE environment is provided by AMD Secure Processor. 10 The AMD Secure Processor (formerly called Platform Security Processor or PSP) 12 software-based Trusted Execution Environment (TEE) designed to enable 13 third-party Trusted Applications. This feature is currently enabled only for 16 The following picture shows a high level overview of AMD-TEE:: 21 User space (Kernel space) | AMD Secure Processor (PSP) 24 +--------+ | +-------------+ [all …]
|
/linux/Documentation/devicetree/bindings/firmware/ |
H A D | intel,stratix10-svc.txt | 3 Intel Stratix10 SoC is composed of a 64 bit quad-core ARM Cortex A53 hard 4 processor system (HPS) and Secure Device Manager (SDM). When the FPGA is 10 communication with SDM, only the secure world of software (EL3, Exception 18 driver also manages secure monitor call (SMC) to communicate with secure monitor 22 ------------------- 26 - compatible: "intel,stratix10-svc" or "intel,agilex-svc" 27 - method: smc or hvc 28 smc - Secure Monitor Call 29 hvc - Hypervisor Call 30 - memory-region: [all …]
|
/linux/arch/arm/mach-exynos/ |
H A D | firmware.c | 1 // SPDX-License-Identifier: GPL-2.0 16 #include <asm/hardware/cache-l2x0.h> 62 * because Exynos3250 removes WFE in secure mode. in exynos_cpu_boot() 72 * But, Exynos4212 has only one secondary CPU so second parameter in exynos_cpu_boot() 73 * isn't used for informing secure firmware about CPU id. in exynos_cpu_boot() 87 return -ENODEV; in exynos_set_cpu_boot_addr() 92 * Almost all Exynos-series of SoCs that run in secure mode don't need in exynos_set_cpu_boot_addr() 93 * additional offset for every CPU, with Exynos4412 being the only in exynos_set_cpu_boot_addr() 108 return -ENODEV; in exynos_get_cpu_boot_addr() 191 exynos_smc(SMC_CMD_L2X0SETUP1, regs->tag_latency, regs->data_latency, in exynos_l2_configure() [all …]
|
/linux/drivers/mmc/host/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 68 tristate "Secure Digital Host Controller Interface support" 71 This selects the generic Secure Digital Host Controller Interface. 94 implements a hardware byte swapper using a 32-bit datum. 106 support UHS2-capable devices. 118 This selects the PCI Secure Digital Host Controller Interface. 133 disabled, it will steal the MMC cards away - rendering them 156 This selects the common helper functions support for Secure Digital 170 This selects the Arasan Secure Digital Host Controller Interface 184 This selects the ASPEED Secure Digital Host Controller Interface. [all …]
|
/linux/drivers/vfio/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 tristate "VFIO Non-Privileged userspace driver framework" 11 VFIO provides a framework for secure userspace device drivers. 12 See Documentation/driver-api/vfio.rst for more details. 25 to set up secure DMA context for device access. This interface does 64 bool "VFIO No-IOMMU support" 68 Only with an IOMMU can userspace access to DMA capable devices be 69 considered secure. VFIO No-IOMMU mode enables IOMMU groups for 70 devices without IOMMU backing for the purpose of re-using the VFIO 71 infrastructure in a non-secure mode. Use of this mode will result [all …]
|
/linux/drivers/firmware/meson/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # Amlogic Secure Monitor driver 6 tristate "Amlogic Secure Monitor driver" 11 Say y here to enable the Amlogic secure monitor driver
|
/linux/Documentation/arch/x86/ |
H A D | amd-memory-encryption.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 Secure Memory Encryption (SME) and Secure Encrypted Virtualization (SEV) are 17 of the guest VM are secured so that a decrypted version is available only 19 memory. Private memory is encrypted with the guest-specific key, while shared 39 is operating in 64-bit or 32-bit PAE mode, in all other modes the SEV hardware 52 memory encryption is enabled (this only affects 78 - Supported: 81 - Enabled: 84 - Active: 87 kernel is non-zero). [all …]
|