Home
last modified time | relevance | path

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

123456789

/linux/drivers/crypto/ccp/
H A Dtee-dev.c3 * AMD Trusted Execution Environment (TEE) interface
18 #include <linux/psp-tee.h>
21 #include "tee-dev.h"
25 static int tee_alloc_ring(struct psp_tee_device *tee, int ring_size) in tee_alloc_ring() argument
27 struct ring_buf_manager *rb_mgr = &tee->rb_mgr; in tee_alloc_ring()
49 static void tee_free_ring(struct psp_tee_device *tee) in tee_free_ring() argument
51 struct ring_buf_manager *rb_mgr = &tee->rb_mgr; in tee_free_ring()
66 struct tee_init_ring_cmd *tee_alloc_cmd_buffer(struct psp_tee_device *tee) in tee_alloc_cmd_buffer() argument
74 cmd->hi_addr = upper_32_bits(tee->rb_mgr.ring_pa); in tee_alloc_cmd_buffer()
75 cmd->low_addr = lower_32_bits(tee->rb_mgr.ring_pa); in tee_alloc_cmd_buffer()
[all …]
H A Dtee-dev.h10 /* This file describes the TEE communication interface between host and AMD
25 * struct tee_init_ring_cmd - Command to init TEE ring buffer
62 * enum tee_cmd_state - TEE command states for the ring buffer interface
64 * @TEE_CMD_STATE_PROCESS: command being processed by TEE environment
74 * enum cmd_resp_state - TEE command's response status maintained by driver
76 * @CMD_WAITING_FOR_RESPONSE: driver waiting for response from TEE
77 * @CMD_RESPONSE_TIMEDOUT: failed to get response from TEE
78 * @CMD_RESPONSE_COPIED: driver has copied response from TEE
88 * struct tee_ring_cmd - Structure of the command buffer in TEE ring
92 * @status: status of TEE command execution
[all …]
/linux/Documentation/tee/
H A Dop-tee.rst4 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:
21 - OPTEE_SMC_CALL_GET_OS_UUID returns the particular OP-TEE implementation, used
22 to tell, for instance, a TrustZone OP-TEE apart from an OP-TEE running on a
[all …]
H A Damd-tee.rst4 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.
12 software-based Trusted Execution Environment (TEE) designed to enable
16 The following picture shows a high level overview of AMD-TEE::
32 || | | TEE |
36 | TEE | | TEE | AMD-TEE | | AMD-TEE |
40 | Generic TEE API | | ASP | Mailbox |
47 the secure processor and return results to AMD-TEE driver. The interface
48 between AMD-TEE driver and AMD Secure Processor driver can be found in [1].
[all …]
H A Dtee.rst4 TEE (Trusted Execution Environment)
7 This document describes the TEE subsystem in Linux.
12 A TEE is a trusted OS running in some secure environment, for example,
13 TrustZone on ARM CPUs, or a separate secure co-processor etc. A TEE driver
14 handles the details needed to communicate with the TEE.
18 - Registration of TEE drivers
20 - Managing shared memory between Linux and the TEE
22 - Providing a generic API to the TEE
H A Dindex.rst4 TEE Subsystem
10 tee
11 op-tee
12 amd-tee
13 ts-tee
/linux/include/linux/
H A 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 …]
H A Dtee_drv.h13 #include <linux/tee.h>
17 * The file describes the API provided by the TEE subsystem to the
18 * TEE client drivers.
32 * wait for tee-supplicant daemon to be started if not present
34 * that arises from TEE based kernel drivers that should be
36 * @cap_memref_null: flag indicating if the TEE Client support shared
101 * particular TEE client driver
102 * @ctx: The TEE context for shared memory allocation
110 * particular TEE client driver
111 * @ctx: The TEE context for shared memory registration
[all …]
/linux/tools/testing/selftests/rcutorture/bin/
H A Dkvm-remote.sh79 echo | tee -a "$oldrun/remote-log"
80 echo " ----" kvm.sh output: "(`date`)" | tee -a "$oldrun/remote-log"
81 cat $T/kvm.sh.out | tee -a "$oldrun/remote-log"
88 echo $scriptname: kvm-again.sh failed exit code $? | tee -a "$oldrun/remote-log"
89 cat $T/kvm-again.sh.out | tee -a "$oldrun/remote-log"
106 echo $scriptname: kvm-again.sh failed exit code $? | tee -a "$oldrun/remote-log"
107 cat $T/kvm-again.sh.out | tee -a "$oldrun/remote-log"
113 echo | tee -a "$oldrun/remote-log"
114 echo " ----" kvm-again.sh output: "(`date`)" | tee -a "$oldrun/remote-log"
116 echo | tee -a "$oldrun/remote-log"
[all …]
H A Dtorture.sh242 echo " --- " $scriptname $args | tee -a $T/log
243 echo " --- Results directory: " $ds | tee -a $T/log
253 echo " --- Zero time for rcutorture, disabling" | tee -a $T/log
265 echo " --- Zero time for locktorture, disabling" | tee -a $T/log
277 echo " --- Zero time for scftorture, disabling" | tee -a $T/log
297 echo " --- $curflavor:" Start `date` | tee -a $T/log
308 cat $T/$curflavor.out | tee -a $T/log
309 echo retcode=$retcode | tee -a $T/log
360 echo " --- allmodconfig:" Start `date` | tee -a $T/log
363 echo " --- make clean" | tee $amcdir/log > "$amcdir/Make.out" 2>&1
[all …]
H A Dkvm-end-run-stats.sh30 echo | tee -a "$rundir/log"
31 echo | tee -a "$rundir/log"
32 echo " --- `date` Test summary:" | tee -a "$rundir/log"
33 echo Results directory: $rundir | tee -a "$rundir/log"
34 kcsan-collapse.sh "$rundir" | tee -a "$rundir/log"
37 cat $T/kvm-recheck.sh.out | tee -a "$rundir/log"
38 echo " --- Done at `date` (`get_starttime_duration $starttime`) exitcode $ret" | tee -a "$rundir/lo…
/linux/Documentation/driver-api/
H A Dtee.rst4 TEE (Trusted Execution Environment) driver API
7 Kernel provides a TEE bus infrastructure where a Trusted Application is
11 TEE bus infrastructure registers following APIs:
17 process happens whenever a device or a client driver is registered with TEE
22 TEE bus for auto-loading of modularized client drivers.
24 TEE bus device enumeration is specific to underlying TEE implementation, so it
25 is left open for TEE drivers to provide corresponding implementation.
27 Then TEE client driver can talk to a matched Trusted Application using APIs
30 TEE client driver example
33 Suppose a TEE client driver needs to communicate with a Trusted Application
[all …]
/linux/Documentation/userspace-api/
H A Dtee.rst2 .. tee:
5 TEE (Trusted Execution Environment) Userspace API
8 include/uapi/linux/tee.h defines the generic interface to a TEE.
10 User space (the client) connects to the driver by opening /dev/tee[0-9]* or
19 - TEE_IOC_VERSION lets user space know which TEE this driver handles and
31 a helper process for the TEE to access resources in Linux, for example file
32 system access. A normal client opens /dev/tee[0-9]* and a supplicant opens
35 Much of the communication between clients and the TEE is opaque to the
37 clients, forward them to the TEE and send back the results. In the case of
38 supplicants the communication goes in the other direction, the TEE sends
/linux/Documentation/ABI/testing/
H A 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>
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.
H A Dsysfs-class-tee1 What: /sys/class/tee/tee{,priv}X/rpmb_routing_model
4 Contact: op-tee@lists.trustedfirmware.org
7 user-space daemon tee-supplicant or the RPMB subsystem
11 subsystem without assistance from tee-supplicant. It
15 tee-supplicant is needed in the early boot with initramfs.
/linux/drivers/tee/optee/
H A DKconfig2 # OP-TEE Trusted Execution Environment Configuration
4 tristate "OP-TEE"
9 This implements the OP-TEE Trusted Execution Environment (TEE)
13 bool "Load OP-TEE image as firmware"
17 This loads the BL32 image for OP-TEE as firmware when the driver is
27 Documentation/tee/op-tee.rst.
H A Doptee_private.h32 /* API Return Codes are from the GP TEE Internal Core API Specification */
51 * struct optee_call_waiter - TEE entry may need to wait for a free TEE thread
63 * struct optee_call_queue - OP-TEE call queue management
65 * @waiters List of threads waiting to enter OP-TEE
66 * @total_thread_count Overall number of thread context in OP-TEE or 0
67 * @free_thread_count Number of threads context free in OP-TEE
136 * @notif_irq interrupt used as async notification by OP-TEE or 0
156 * OP-TEE in secure world
173 * struct optee_ops - OP-TEE driver internal operations
174 * @do_call_with_arg: enters OP-TEE in secure world
[all …]
/linux/tools/testing/selftests/amd-pstate/
H A Dgitsource.sh31 echo "$1, $2, $3, $4, $5, $6, $7, $8" | tee -a $OUTFILE_GIT.csv > /dev/null 2>&1
106 printf "Gitsource-$1-#$2 avg des perf: $avg_des_perf\n" | tee -a $OUTFILE_GIT.result
110 printf "Gitsource-$1-#$2 avg freq: $avg_freq\n" | tee -a $OUTFILE_GIT.result
114 printf "Gitsource-$1-#$2 avg load: $avg_load\n" | tee -a $OUTFILE_GIT.result
118 printf "Gitsource-$1-#$2 user time(s): $time_sum\n" | tee -a $OUTFILE_GIT.result
122 printf "Gitsource-$1-#$2 power consumption(J): $en_sum\n" | tee -a $OUTFILE_GIT.result
132 printf "Gitsource-$1-#$2 performance per watt(1/J): $ppw\n" | tee -a $OUTFILE_GIT.result
133 printf "\n" | tee -a $OUTFILE_GIT.result
153 printf "Gitsource test result for $1 (loops:$LOOP_TIMES)" | tee -a $OUTFILE_GIT.result
154 printf "\n--------------------------------------------------\n" | tee -a $OUTFILE_GIT.result
[all …]
H A Dtbench.sh26 echo "$1, $2, $3, $4, $5, $6, $7, $8" | tee -a $OUTFILE_TBENCH.csv > /dev/null 2>&1
88 printf "Tbench-$1-#$2 avg des perf: $avg_des_perf\n" | tee -a $OUTFILE_TBENCH.result
92 printf "Tbench-$1-#$2 avg freq: $avg_freq\n" | tee -a $OUTFILE_TBENCH.result
96 printf "Tbench-$1-#$2 avg load: $avg_load\n" | tee -a $OUTFILE_TBENCH.result
100 printf "Tbench-$1-#$2 throughput(MB/s): $tp_sum\n" | tee -a $OUTFILE_TBENCH.result
104 printf "Tbench-$1-#$2 power consumption(J): $en_sum\n" | tee -a $OUTFILE_TBENCH.result
114 printf "Tbench-$1-#$2 performance per watt(MB/J): $ppw\n" | tee -a $OUTFILE_TBENCH.result
115 printf "\n" | tee -a $OUTFILE_TBENCH.result
135 printf "Tbench test result for $1 (loops:$LOOP_TIMES)" | tee -a $OUTFILE_TBENCH.result
136 printf "\n--------------------------------------------------\n" | tee -a $OUTFILE_TBENCH.result
[all …]
/linux/drivers/tee/amdtee/
H A 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 …]
H A 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
125 * @return_origin: [out] origin of return code after TEE processing
136 * struct tee_cmd_unload_ta - command to unload TA binary from TEE environment
148 * @return_origin: [out] origin of return code after TEE processing
175 * @return_origin: [out] origin of return code after TEE processing
/linux/include/uapi/linux/
H A 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
47 #define TEE_GEN_CAP_GP (1 << 0)/* GlobalPlatform compliant TEE */
55 * TEE Implementation ID
62 * OP-TEE specific capabilities
67 * struct tee_ioctl_version_data - TEE version
68 * @impl_id: [out] TEE implementation id
72 * Identifies the TEE implementation, @impl_id is one of TEE_IMPL_ID_* above.
83 * TEE_IOC_VERSION - query version of TEE
85 * Takes a tee_ioctl_version_data struct and returns with the TEE version
[all …]
/linux/drivers/tee/
H A DKconfig3 menuconfig TEE config
12 Environment (TEE).
14 if TEE
16 source "drivers/tee/optee/Kconfig"
17 source "drivers/tee/amdtee/Kconfig"
18 source "drivers/tee/tstee/Kconfig"
/linux/drivers/firmware/arm_scmi/transports/
H A Doptee.c16 #include <uapi/linux/tee.h>
38 * and SCMI server (OP-TEE) parts.
61 * SCMI shm information are 0 if agent expects to use OP-TEE regular SHM
87 * OP-TEE SCMI service capabilities bit flags (32bit)
90 * When set, OP-TEE supports command using SMT header protocol (SCMI shmem) in
94 * When set, OP-TEE supports command using MSG header protocol in an OP-TEE
105 * struct scmi_optee_channel - Description of an OP-TEE SCMI channel
107 * @channel_id: OP-TEE channel ID used for this transport
108 * @tee_session: TEE session identifier
109 * @caps: OP-TEE SCMI channel capabilities
[all …]
/linux/drivers/crypto/ccree/
H A 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

123456789