Home
last modified time | relevance | path

Searched full:tee (Results 1 – 25 of 127) sorted by relevance

123456

/Linux-v5.15/drivers/crypto/ccp/
Dtee-dev.c3 * AMD Trusted Execution Environment (TEE) interface
17 #include <linux/psp-tee.h>
20 #include "tee-dev.h"
24 static int tee_alloc_ring(struct psp_tee_device *tee, int ring_size) in tee_alloc_ring() argument
26 struct ring_buf_manager *rb_mgr = &tee->rb_mgr; in tee_alloc_ring()
48 static void tee_free_ring(struct psp_tee_device *tee) in tee_free_ring() argument
50 struct ring_buf_manager *rb_mgr = &tee->rb_mgr; in tee_free_ring()
64 static int tee_wait_cmd_poll(struct psp_tee_device *tee, unsigned int timeout, in tee_wait_cmd_poll() argument
71 *reg = ioread32(tee->io_regs + tee->vdata->cmdresp_reg); in tee_wait_cmd_poll()
78 dev_err(tee->dev, "tee: command timed out, disabling PSP\n"); in tee_wait_cmd_poll()
[all …]
Dtee-dev.h10 /* This file describes the TEE communication interface between host and AMD
24 * enum tee_ring_cmd_id - TEE interface commands for ring buffer configuration
36 * struct tee_init_ring_cmd - Command to init TEE ring buffer
73 * enum tee_cmd_state - TEE command states for the ring buffer interface
75 * @TEE_CMD_STATE_PROCESS: command being processed by TEE environment
85 * enum cmd_resp_state - TEE command's response status maintained by driver
87 * @CMD_WAITING_FOR_RESPONSE: driver waiting for response from TEE
88 * @CMD_RESPONSE_TIMEDOUT: failed to get response from TEE
89 * @CMD_RESPONSE_COPIED: driver has copied response from TEE
99 * struct tee_ring_cmd - Structure of the command buffer in TEE ring
[all …]
/Linux-v5.15/Documentation/staging/
Dtee.rst2 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 …]
/Linux-v5.15/include/linux/
Dpsp-tee.h3 * AMD Trusted Execution Environment (TEE) interface
17 /* This file defines the Trusted Execution Environment (TEE) interface commands
19 * AMD-TEE Trusted OS.
23 * enum tee_cmd_id - TEE Interface Command IDs
25 * TEE environment
26 * @TEE_CMD_ID_UNLOAD_TA: Unload TA binary from TEE environment
46 * @cmd_id: TEE command ID (&enum tee_cmd_id)
47 * @buf: Command buffer for TEE processing. On success, is updated
50 * @status: On success, holds the TEE command execution status
53 * TEE environment and waits for a response or until the command times out.
[all …]
Dtee_drv.h14 #include <linux/tee.h>
19 * The file describes the API provided by the generic TEE driver to the
20 * specific TEE driver.
30 #define TEE_SHM_PRIV BIT(7) /* Memory private to TEE driver */
47 * wait for tee-supplicant daemon to be started if not present
49 * that arises from TEE based kernel drivers that should be
51 * @cap_memref_null: flag indicating if the TEE Client support shared
94 * @shm_register: register shared memory buffer in TEE
95 * @shm_unregister: unregister shared memory buffer in TEE
121 * struct tee_desc - Describes the TEE driver to the subsystem
[all …]
/Linux-v5.15/tools/testing/selftests/rcutorture/bin/
Dkvm-remote.sh80 echo | tee -a "$oldrun/remote-log"
81 echo " ----" kvm.sh output: "(`date`)" | tee -a "$oldrun/remote-log"
82 cat $T/kvm.sh.out | tee -a "$oldrun/remote-log"
89 echo $scriptname: kvm-again.sh failed exit code $? | tee -a "$oldrun/remote-log"
90 cat $T/kvm-again.sh.out | tee -a "$oldrun/remote-log"
107 echo $scriptname: kvm-again.sh failed exit code $? | tee -a "$oldrun/remote-log"
108 cat $T/kvm-again.sh.out | tee -a "$oldrun/remote-log"
114 echo | tee -a "$oldrun/remote-log"
115 echo " ----" kvm-again.sh output: "(`date`)" | tee -a "$oldrun/remote-log"
117 echo | tee -a "$oldrun/remote-log"
[all …]
Dtorture.sh206 echo " --- " $scriptname $args | tee -a $T/log
207 echo " --- Results directory: " $ds | tee -a $T/log
217 echo " --- Zero time for rcutorture, disabling" | tee -a $T/log
229 echo " --- Zero time for locktorture, disabling" | tee -a $T/log
241 echo " --- Zero time for scftorture, disabling" | tee -a $T/log
261 echo " --- $curflavor:" Start `date` | tee -a $T/log
272 cat $T/$curflavor.out | tee -a $T/log
273 echo retcode=$retcode | tee -a $T/log
319 echo " --- allmodconfig:" Start `date` | tee -a $T/log
404 echo " --- " Done `date` | tee -a $T/log
[all …]
Dkvm-end-run-stats.sh31 echo | tee -a "$rundir/log"
32 echo | tee -a "$rundir/log"
33 echo " --- `date` Test summary:" | tee -a "$rundir/log"
34 echo Results directory: $rundir | tee -a "$rundir/log"
35 kcsan-collapse.sh "$rundir" | tee -a "$rundir/log"
38 cat $T/kvm-recheck.sh.out | tee -a "$rundir/log"
39 echo " --- Done at `date` (`get_starttime_duration $starttime`) exitcode $ret" | tee -a "$rundir/lo…
/Linux-v5.15/drivers/tee/optee/
DKconfig2 # OP-TEE Trusted Execution Environment Configuration
4 tristate "OP-TEE"
8 This implements the OP-TEE Trusted Execution Environment (TEE)
17 used by OP-TEE TEE driver.
Dcall.c119 * optee_do_call_with_arg() - Do an SMC to OP-TEE in secure world
123 * Does and SMC to OP-TEE in secure world and handles eventual resulting
124 * Remote Procedure Calls (RPC) from OP-TEE.
397 * in OP-TEE
420 * allocation in OP-TEE
463 * allocations in OP-TEE
473 * allocations in OP-TEE which are not
512 * Currently OP-TEE uses 4k page size and it does not looks in optee_fill_pages_list()
525 * because they bear no value data for OP-TEE. in optee_fill_pages_list()
600 * Allow kernel address to register with OP-TEE as kernel in check_mem_type()
[all …]
/Linux-v5.15/drivers/tee/
DKconfig3 config TEE config
12 Environment (TEE).
14 if TEE
16 menu "TEE drivers"
18 source "drivers/tee/optee/Kconfig"
19 source "drivers/tee/amdtee/Kconfig"
DMakefile2 obj-$(CONFIG_TEE) += tee.o
3 tee-objs += tee_core.o
4 tee-objs += tee_shm.o
5 tee-objs += tee_shm_pool.o
/Linux-v5.15/drivers/tee/amdtee/
Dcall.c7 #include <linux/tee.h>
9 #include <linux/psp-tee.h>
15 static int tee_params_to_amd_params(struct tee_param *tee, u32 count, in tee_params_to_amd_params() argument
24 if (!tee || !amd || count > TEE_MAX_PARAMS) in tee_params_to_amd_params()
29 /* AMD TEE does not support meta parameter */ in tee_params_to_amd_params()
30 if (tee[i].attr > TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_INOUT) in tee_params_to_amd_params()
33 amd->param_types |= ((tee[i].attr & 0xF) << i * 4); in tee_params_to_amd_params()
48 u32 buf_id = get_buffer_id(tee[i].u.memref.shm); in tee_params_to_amd_params()
51 amd->params[i].mref.offset = tee[i].u.memref.shm_offs; in tee_params_to_amd_params()
52 amd->params[i].mref.size = tee[i].u.memref.size; in tee_params_to_amd_params()
[all …]
Damdtee_if.h8 * 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
52 /* Must be same as in GP TEE specification */
67 ** TEE Commands
120 * struct tee_cmd_load_ta - load Trusted Application (TA) binary into TEE
134 * struct tee_cmd_unload_ta - command to unload TA binary from TEE environment
146 * @return_origin: [out] origin of return code after TEE processing
173 * @return_origin: [out] origin of return code after TEE processing
Dcore.c19 #include <linux/psp-tee.h>
96 * @ctxdata: TEE Context data structure
100 * Scans the TEE context's session list to check if TA is already loaded in to
101 * TEE. If yes, returns the 'session' structure for that TA. Else allocates,
115 /* Scan session list to check if TA is already loaded in to TEE */ in alloc_session()
254 /* Load the TA binary into TEE environment */ in amdtee_open_session()
361 * Send a MAP command to TEE and get the corresponding in amdtee_map_shmem()
393 /* Unmap the shared memory from TEE */ in amdtee_unmap_shmem()
462 pr_err("amd-tee driver: tee not present\n"); in amdtee_driver_init()
498 pr_info("amd-tee driver initialization successful\n"); in amdtee_driver_init()
[all …]
Damdtee_private.h18 #define DRIVER_AUTHOR "AMD-TEE Linux driver team"
47 * @ta_handle: handle to Trusted Application (TA) loaded in TEE environment
66 * struct amdtee_context_data - AMD-TEE driver context data
67 * @sess_list: Keeps track of sessions opened in current TEE context
68 * @shm_list: Keeps track of buffers allocated and mapped in current TEE
100 * @ta_handle: Handle to TA loaded in TEE
DKconfig2 # AMD-TEE Trusted Execution Environment Configuration
4 tristate "AMD-TEE"
8 This implements AMD's Trusted Execution Environment (TEE) driver.
/Linux-v5.15/include/uapi/linux/
Dtee.h35 * This file describes the API provided by a TEE driver to user space.
37 * Each TEE driver defines a TEE specific protocol which is used for the
51 #define TEE_GEN_CAP_GP (1 << 0)/* GlobalPlatform compliant TEE */
59 * TEE Implementation ID
65 * OP-TEE specific capabilities
70 * struct tee_ioctl_version_data - TEE version
71 * @impl_id: [out] TEE implementation id
75 * Identifies the TEE implementation, @impl_id is one of TEE_IMPL_ID_* above.
86 * TEE_IOC_VERSION - query version of TEE
88 * Takes a tee_ioctl_version_data struct and returns with the TEE version
[all …]
/Linux-v5.15/drivers/crypto/ccree/
Dcc_fips.c20 * whether TEE FIPS error occurred.
27 /* Did the TEE report status? */ in cc_get_tee_fips_status()
37 * This function should push the FIPS REE library status towards the TEE library
52 /* Push REE side FIPS test failure to TEE side */
62 dev_info(dev, "Notifying TEE of FIPS test failure...\n"); in cc_ree_fips_failure()
94 panic("ccree: TEE reported cryptographic error in fips mode!\n"); in tee_fips_error()
96 dev_err(dev, "TEE reported error!\n"); in tee_fips_error()
100 * This function check if cryptocell tee fips error occurred
/Linux-v5.15/Documentation/security/keys/
Dtrusted-encrypted.rst33 (2) TEE (Trusted Execution Environment: OP-TEE based on Arm TrustZone)
36 fuses and is accessible to TEE only.
44 (2) TEE
61 (2) TEE
64 be extended with TEE based measured boot process.
72 (2) TEE
75 more details refer to ``Documentation/staging/tee.rst``.
80 The strength and appropriateness of a particular TPM or TEE for a given
100 * TEE (OP-TEE based on Arm TrustZone) based RNG
178 Trusted Keys usage: TEE
[all …]
/Linux-v5.15/drivers/firmware/broadcom/
Dtee_bnxt_fw.c52 * struct tee_bnxt_fw_private - OP-TEE bnxt private data
53 * @dev: OP-TEE based bnxt device.
54 * @ctx: OP-TEE context handler.
95 * Uses an OP-TEE call to start a secure
113 "TA_CMD_BNXT_FASTBOOT invoke failed TEE err: %x, ret:%x\n", in tee_bnxt_fw_load()
124 * Uses an OP-TEE call to copy coredump
157 "TA_CMD_BNXT_COPY_COREDUMP invoke failed TEE err: %x, ret:%x\n", in tee_bnxt_copy_coredump()
193 /* Open context with TEE driver */ in tee_bnxt_fw_probe()
258 MODULE_DEVICE_TABLE(tee, tee_bnxt_fw_id_table);
/Linux-v5.15/Documentation/devicetree/bindings/arm/firmware/
Dlinaro,optee-tz.yaml7 title: OP-TEE Device Tree Bindings
13 OP-TEE is a piece of software using hardware features to provide a Trusted
30 The method of calling the OP-TEE Trusted OS depending on smc or hvc
35 register assignments are specified in drivers/tee/optee/optee_smc.h
/Linux-v5.15/security/keys/trusted-keys/
Dtrusted_tee.c19 #define DRIVER_NAME "trusted-key-tee"
45 * struct trusted_key_tee_private - TEE Trusted key private data
46 * @dev: TEE based Trusted key device.
47 * @ctx: TEE context handler.
49 * @shm_pool: Memory pool shared with TEE device.
61 * Have the TEE seal(encrypt) the symmetric key
122 * Have the TEE unseal(decrypt) the symmetric key
183 * Have the TEE generate random symmetric key
289 MODULE_DEVICE_TABLE(tee, trusted_key_id_table);
/Linux-v5.15/Documentation/ABI/testing/
Dsysfs-bus-optee-devices1 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>
/Linux-v5.15/drivers/char/hw_random/
Doptee-rng.c53 * struct optee_rng_private - OP-TEE Random Number Generator private data
54 * @dev: OP-TEE based RNG device.
55 * @ctx: OP-TEE context handler.
59 * @optee_rng: OP-TEE RNG driver structure.
222 /* Open context with TEE driver */ in optee_rng_probe()
278 MODULE_DEVICE_TABLE(tee, optee_rng_id_table);
305 MODULE_DESCRIPTION("OP-TEE based random number generator driver");

123456