/openbmc/u-boot/doc/ |
H A D | README.tee | 2 TEE uclass 5 This document describes the TEE uclass in U-Boot 7 A TEE (Trusted Execution Environment) is a trusted OS running in some 9 secure co-processor etc. A TEE driver handles the details needed to 10 communicate with the TEE. 14 - Registration of TEE drivers 16 - Managing shared memory between U-Boot and the TEE 18 - Providing a generic API to the TEE 20 The TEE interface 23 include/tee.h defines the generic interface to a TEE. [all …]
|
H A D | README.avb2 | 4 Boot 2.0 in U-boot 7 --------------------------------- 10 - Android Boot image: Linux kernel + ramdisk. RAW hashing of the whole 13 - system/vendor partitions: verifying root hash of dm-verity hashtrees. 16 Integrity of the bootloader (U-boot BLOB and environment) is out of scope. 21 1.1. AVB using OP-TEE (optional) 22 --------------------------------- 23 If AVB is configured to use OP-TEE (see 4. below) rollback indexes and 25 OP-TEE (https://www.op-tee.org/) which is a secure OS leveraging ARM 29 2. AVB 2.0 U-BOOT SHELL COMMANDS [all …]
|
/openbmc/linux/Documentation/staging/ |
H A D | tee.rst | 2 TEE subsystem 5 This document describes the TEE subsystem in Linux. 7 A TEE (Trusted Execution Environment) is a trusted OS running in some 9 secure co-processor etc. A TEE driver handles the details needed to 10 communicate with the TEE. 14 - Registration of TEE drivers 16 - Managing shared memory between Linux and the TEE 18 - Providing a generic API to the TEE 20 The TEE interface 23 include/uapi/linux/tee.h defines the generic interface to a TEE. [all …]
|
/openbmc/u-boot/drivers/tee/optee/ |
H A D | Kconfig | 1 # OP-TEE Trusted Execution Environment Configuration 3 bool "OP-TEE" 6 This implements the OP-TEE Trusted Execution Environment (TEE) 7 driver. OP-TEE is a Trusted OS designed primarily to rely on the 9 mechanism. This driver can request services from OP-TEE, but also 10 handle Remote Procedure Calls (RPC) from OP-TEE needed to 11 execute a service. For more information see: https://www.op-tee.org 15 menu "OP-TEE options" 21 Enables support for the AVB Trusted Application (TA) in OP-TEE.
|
H A D | optee_private.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 9 #include <tee.h> 13 * struct optee_private - OP-TEE driver private data 33 * optee_suppl_cmd_rpmb() - route RPMB frames to mmc 35 * @arg: OP-TEE message holding the frames to transmit to the mmc 38 * Routes signed (MACed) RPMB frames from OP-TEE Secure OS to MMC and vice 44 * optee_suppl_rpmb_release() - release mmc device 55 arg->ret = TEE_ERROR_NOT_IMPLEMENTED; in optee_suppl_cmd_rpmb()
|
/openbmc/linux/drivers/tee/optee/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 # OP-TEE Trusted Execution Environment Configuration 4 tristate "OP-TEE" 8 This implements the OP-TEE Trusted Execution Environment (TEE) 12 bool "Load OP-TEE image as firmware" 16 This loads the BL32 image for OP-TEE as firmware when the driver is 17 probed. This returns -EPROBE_DEFER until the firmware is loadable from 23 https://trustedfirmware-a.readthedocs.io/en/latest/threat_model/threat_model.html 26 Documentation/staging/tee.rst.
|
H A D | smc_abi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2015-2021, Linaro Limited 9 #include <linux/arm-smccc.h> 38 * OP-TEE OS via raw SMCs. 49 * A typical OP-TEE private shm allocation is 224 bytes (argument struct 58 /* SMC ABI considers at most a single TEE firmware */ 89 p->attr = TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_INPUT + in from_msg_param_tmp_mem() 90 attr - OPTEE_MSG_ATTR_TYPE_TMEM_INPUT; in from_msg_param_tmp_mem() 91 p->u.memref.size = mp->u.tmem.size; in from_msg_param_tmp_mem() 92 shm = (struct tee_shm *)(unsigned long)mp->u.tmem.shm_ref; in from_msg_param_tmp_mem() [all …]
|
/openbmc/linux/Documentation/ABI/testing/ |
H A D | sysfs-bus-optee-devices | 1 What: /sys/bus/tee/devices/optee-ta-<uuid>/ 4 Contact: op-tee@lists.trustedfirmware.org 6 OP-TEE bus provides reference to registered drivers under this directory. The <uuid> 8 are free to create needed API under optee-ta-<uuid> directory. 10 What: /sys/bus/tee/devices/optee-ta-<uuid>/need_supplicant 13 Contact: op-tee@lists.trustedfirmware.org 15 Allows to distinguish whether an OP-TEE based TA/device requires user-space 16 tee-supplicant to function properly or not. This attribute will be present for 17 devices which depend on tee-supplicant to be running.
|
/openbmc/u-boot/doc/device-tree-bindings/firmware/ |
H A D | linaro,optee-tz.txt | 1 OP-TEE Device Tree Bindings 3 OP-TEE is a piece of software using hardware features to provide a Trusted 10 * OP-TEE based on ARM TrustZone required properties: 12 - compatible : should contain "linaro,optee-tz" 14 - method : The method of calling the OP-TEE Trusted OS. Permitted 18 in drivers/tee/optee/optee_smc.h 21 in drivers/tee/optee/optee_smc.h 28 compatible = "linaro,optee-tz";
|
/openbmc/openbmc/meta-arm/meta-arm/recipes-security/optee/ |
H A D | optee-client.inc | 1 SUMMARY = "OP-TEE Client API" 2 DESCRIPTION = "Open Portable Trusted Execution Environment - Normal World Client side of the TEE" 3 HOMEPAGE = "https://www.op-tee.org/" 5 LICENSE = "BSD-2-Clause" 8 inherit systemd update-rc.d cmake useradd 11 git://github.com/OP-TEE/optee_client.git;branch=master;protocol=https \ 12 file://tee-supplicant@.service \ 13 file://tee-supplicant.sh \ 14 file://optee-udev.rules \ 22 -DBUILD_SHARED_LIBS=ON \ [all …]
|
H A D | optee-os.inc | 1 SUMMARY = "OP-TEE Trusted OS" 2 DESCRIPTION = "Open Portable Trusted Execution Environment - Trusted side of the TEE" 3 HOMEPAGE = "https://www.op-tee.org/" 5 LICENSE = "BSD-2-Clause" 11 CVE_PRODUCT = "linaro:op-tee op-tee:op-tee_os" 13 DEPENDS = "python3-pyelftools-native python3-cryptography-native" 15 DEPENDS:append:toolchain-clang = " compiler-rt" 17 SRC_URI = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https" 28 ta-targets=ta_${OPTEE_ARCH} \ 40 PLAT_LIBGCC_PATH=$(${CC} -print-libgcc-file-name) [all …]
|
H A D | optee-os-tadevkit_4.3.0.bb | 1 require recipes-security/optee/optee-os_${PV}.bb 3 SUMMARY = "OP-TEE Trusted OS TA devkit" 4 DESCRIPTION = "OP-TEE TA devkit for build TAs" 5 HOMEPAGE = "https://www.op-tee.org/" 7 DEPENDS += "python3-pycryptodome-native" 11 install -d ${D}${includedir}/optee/export-user_ta/ 12 for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do 13 cp -aR $f ${D}${includedir}/optee/export-user_ta/ 18 echo "Do not inherit do_deploy from optee-os." 24 # Supported after op-tee v3.20 [all …]
|
H A D | optee-test.inc | 1 SUMMARY = "OP-TEE sanity testsuite" 2 DESCRIPTION = "Open Portable Trusted Execution Environment - Test suite" 3 HOMEPAGE = "https://www.op-tee.org/" 5 LICENSE = "BSD-2-Clause & GPL-2.0-only" 12 DEPENDS = "optee-client optee-os-tadevkit python3-cryptography-native openssl" 14 SRC_URI = "git://github.com/OP-TEE/optee_test.git;branch=master;protocol=https \ 15 file://run-ptest \ 28 CFLAGS += "-Wno-error=deprecated-declarations" 40 install -D -p -m0755 ${B}/xtest/xtest ${D}${bindir}/xtest 42 # install path should match the value set in optee-client/tee-supplicant [all …]
|
/openbmc/linux/drivers/nvmem/ |
H A D | stm32-bsec-optee-ta.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * OP-TEE STM32MP BSEC PTA interface, used by STM32 ROMEM driver 5 * Copyright (C) 2022, STMicroelectronics - All Rights Reserved 10 * stm32_bsec_optee_ta_open() - initialize the STM32 BSEC TA 11 * @ctx: the OP-TEE context on success 14 * On success, 0. On failure, -errno. 19 * stm32_bsec_optee_ta_close() - release the STM32 BSEC TA 20 * @ctx: the OP-TEE context 22 * This function used to clean the OP-TEE resources initialized in 29 * stm32_bsec_optee_ta_read() - nvmem read access using TA client driver [all …]
|
H A D | stm32-bsec-optee-ta.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * OP-TEE STM32MP BSEC PTA interface, used by STM32 ROMEM driver 5 * Copyright (C) 2022, STMicroelectronics - All Rights Reserved 10 #include "stm32-bsec-optee-ta.h" 21 * TEE_SUCCESS - Invoke command success 22 * TEE_ERROR_BAD_PARAMETERS - Incorrect input param 23 * TEE_ERROR_ACCESS_DENIED - OTP not accessible by caller 36 * TEE_SUCCESS - Invoke command success 37 * TEE_ERROR_BAD_PARAMETERS - Incorrect input param 38 * TEE_ERROR_ACCESS_DENIED - OTP not accessible by caller [all …]
|
/openbmc/linux/drivers/firmware/arm_scmi/ |
H A D | optee.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2019-2021 Linaro Ltd. 15 #include <uapi/linux/tee.h> 23 * PTA_SCMI_CMD_CAPABILITIES - Get channel capabilities 31 * PTA_SCMI_CMD_PROCESS_SMT_CHANNEL - Process SCMI message in SMT buffer 37 * and SCMI server (OP-TEE) parts. 38 * The memory uses SMT header to carry SCMI meta-data (protocol ID and 44 * PTA_SCMI_CMD_PROCESS_SMT_CHANNEL_MESSAGE - Process SMT/SCMI message 52 * The memory uses SMT header to carry SCMI meta-data (protocol ID and 58 * PTA_SCMI_CMD_GET_CHANNEL - Get channel handle [all …]
|
/openbmc/u-boot/arch/arm/mach-rockchip/ |
H A D | fit_spl_optee.its | 4 * Simple U-boot fit source file containing U-Boot, dtb and optee 7 /dts-v1/; 10 description = "Simple image with OP-TEE support"; 11 #address-cells = <1>; 15 description = "U-Boot"; 16 data = /incbin/("../../../u-boot-nodtb.bin"); 18 os = "U-Boot"; 24 description = "OP-TEE"; 25 data = /incbin/("../../../tee.bin"); 28 os = "tee"; [all …]
|
/openbmc/linux/arch/arm/mach-at91/ |
H A D | sam_secure.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 #include <linux/arm-smccc.h> 19 struct arm_smccc_res res = {.a0 = -1}; in sam_smccc_call() 41 * We only check that the OP-TEE node is present and available. The in sam_secure_init() 42 * OP-TEE kernel driver is not needed for the type of interaction made in sam_secure_init() 43 * with OP-TEE here so the driver's status is not checked. in sam_secure_init() 51 pr_info("Running under OP-TEE firmware\n"); in sam_secure_init()
|
/openbmc/linux/drivers/firmware/broadcom/ |
H A D | tee_bnxt_fw.c | 1 // SPDX-License-Identifier: GPL-2.0 21 * TA_CMD_BNXT_FASTBOOT - boot bnxt device by copying f/w into sram 29 * TEE_SUCCESS - Invoke command success 30 * TEE_ERROR_ITEM_NOT_FOUND - Corrupt f/w image found on memory 35 * TA_CMD_BNXT_COPY_COREDUMP - copy the core dump into shm 37 * param[0] (inout memref) - Coredump buffer memory reference 38 * param[1] (in value) - value.a: offset, data to be copied from 44 * TEE_SUCCESS - Invoke command success 45 * TEE_ERROR_BAD_PARAMETERS - Incorrect input param 46 * TEE_ERROR_ITEM_NOT_FOUND - Corrupt core dump [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/arm/firmware/ |
H A D | linaro,optee-tz.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/arm/firmware/linaro,optee-tz.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: OP-TEE 10 - Jens Wiklander <jens.wiklander@linaro.org> 13 OP-TEE is a piece of software using hardware features to provide a Trusted 25 const: linaro,optee-tz 31 software is expected to be either a per-cpu interrupt or an 32 edge-triggered peripheral interrupt. [all …]
|
/openbmc/linux/drivers/tee/amdtee/ |
H A D | amdtee_if.h | 1 /* SPDX-License-Identifier: MIT */ 8 * This file has definitions related to Host and AMD-TEE Trusted OS interface. 9 * These definitions must match the definitions on the TEE side. 18 ** TEE Param 23 * struct memref - memory reference structure 52 /* Must be same as in GP TEE specification */ 67 ** TEE Commands 72 * non-contiguous. Below structures are meant to describe a shared memory region 77 * struct tee_sg_desc - sg descriptor for a physically contiguous buffer 89 * struct tee_sg_list - structure describing a scatter/gather list [all …]
|
/openbmc/u-boot/include/ |
H A D | tee.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 11 #define TEE_GEN_CAP_GP BIT(0) /* GlobalPlatform compliant TEE */ 15 #define TEE_SHM_SEC_REGISTER BIT(1) /* TEE notified of this memory */ 55 * struct tee_optee_ta_uuid - OP-TEE Trusted Application (TA) UUID format 57 * Used to identify an OP-TEE TA and define suitable to initialize structs 60 * OP-TEE. See RFC4122 for details on the format. 70 * struct tee_shm - memory shared with the TEE 71 * @dev: The TEE device 86 * struct tee_param_memref - memory reference for a Trusted Application 100 * struct tee_param_value - value parameter for a Trusted Application [all …]
|
/openbmc/openbmc/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/ |
H A D | 0001-fix-zynqmp-handle-secure-SGI-at-EL1-for-OP-TEE.patch | 4 Subject: [PATCH] fix(zynqmp): handle secure SGI at EL1 for OP-TEE 6 OP-TEE requires SGIs to be handled at S-EL1. The 8 GICV2_G0_FOR_EL3 to 0 when the SPD is OP-TEE. 10 Change-Id: I256afa37ddf4ad4a154c43d51807de670c3689bb 11 Signed-off-by: Shen Jiamin <shen_jiamin@comp.nus.edu.sg> 12 --- 13 plat/xilinx/zynqmp/platform.mk | 2 +- 14 1 file changed, 1 insertion(+), 1 deletion(-) 16 Upstream-Status: Backport 18 diff --git a/plat/xilinx/zynqmp/platform.mk b/plat/xilinx/zynqmp/platform.mk [all …]
|
/openbmc/openbmc/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/ |
H A D | trusted-firmware-a-fvp-base.inc | 4 # Armv8-A Base Platform FVP 7 FILESEXTRAPATHS:prepend := "${THISDIR}/files/:${THISDIR}/files/fvp-base" 13 # OP-TEE SPMC related configuration 14 SPMC_IS_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'arm-ffa', '0' \ 19 EXTRA_OEMAKE += "${@bb.utils.contains('MACHINE_FEATURES','arm-ffa', \ 23 # Set OP-TEE SPMC specific TF-A config settings 27 DEPENDS += " ${@oe.utils.conditional('SPMC_IS_OPTEE', '1', 'optee-os', '', d)}" 39 EXTRA_OEMAKE += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-attestation',\ 42 # Add OP-TEE as BL32. 44 '${RECIPE_SYSROOT}/${nonarch_base_libdir}/firmware/tee-pager_v2.bin',\ [all …]
|
/openbmc/linux/drivers/char/hw_random/ |
H A D | optee-rng.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2018-2019 Linaro Ltd. 15 #define DRIVER_NAME "optee-rng" 20 * TA_CMD_GET_ENTROPY - Get Entropy from RNG 22 * param[0] (inout memref) - Entropy buffer memory reference 28 * TEE_SUCCESS - Invoke command success 29 * TEE_ERROR_BAD_PARAMETERS - Incorrect input param 30 * TEE_ERROR_NOT_SUPPORTED - Requested entropy size greater than size of pool 31 * TEE_ERROR_HEALTH_TEST_FAIL - Continuous health testing failed 36 * TA_CMD_GET_RNG_INFO - Get RNG information [all …]
|