Home
last modified time | relevance | path

Searched full:optee (Results 1 – 25 of 187) sorted by relevance

12345678

/openbmc/linux/drivers/tee/optee/
H A Dnotif.c21 static bool have_key(struct optee *optee, u_int key) in have_key() argument
25 list_for_each_entry(entry, &optee->notif.db, link) in have_key()
32 int optee_notif_wait(struct optee *optee, u_int key) in optee_notif_wait() argument
38 if (key > optee->notif.max_key) in optee_notif_wait()
47 spin_lock_irqsave(&optee->notif.lock, flags); in optee_notif_wait()
53 if (test_bit(key, optee->notif.bitmap)) { in optee_notif_wait()
54 clear_bit(key, optee->notif.bitmap); in optee_notif_wait()
62 if (have_key(optee, key)) { in optee_notif_wait()
67 list_add_tail(&entry->link, &optee->notif.db); in optee_notif_wait()
72 spin_unlock_irqrestore(&optee->notif.lock, flags); in optee_notif_wait()
[all …]
H A Dffa_abi.c58 static struct tee_shm *optee_shm_from_ffa_handle(struct optee *optee, in optee_shm_from_ffa_handle() argument
64 mutex_lock(&optee->ffa.mutex); in optee_shm_from_ffa_handle()
65 r = rhashtable_lookup_fast(&optee->ffa.global_ids, &global_id, in optee_shm_from_ffa_handle()
69 mutex_unlock(&optee->ffa.mutex); in optee_shm_from_ffa_handle()
74 static int optee_shm_add_ffa_handle(struct optee *optee, struct tee_shm *shm, in optee_shm_add_ffa_handle() argument
86 mutex_lock(&optee->ffa.mutex); in optee_shm_add_ffa_handle()
87 rc = rhashtable_lookup_insert_fast(&optee->ffa.global_ids, &r->linkage, in optee_shm_add_ffa_handle()
89 mutex_unlock(&optee->ffa.mutex); in optee_shm_add_ffa_handle()
97 static int optee_shm_rem_ffa_handle(struct optee *optee, u64 global_id) in optee_shm_rem_ffa_handle() argument
102 mutex_lock(&optee->ffa.mutex); in optee_shm_rem_ffa_handle()
[all …]
H A Dsmc_abi.c131 * @optee: main service struct
137 static int optee_from_msg_param(struct optee *optee, struct tee_param *params, in optee_from_msg_param() argument
221 * @optee: main service struct
227 static int optee_to_msg_param(struct optee *optee, in optee_to_msg_param() argument
279 * @optee: main service struct
281 static void optee_enable_shm_cache(struct optee *optee) in optee_enable_shm_cache() argument
286 optee_cq_wait_init(&optee->call_queue, &w); in optee_enable_shm_cache()
290 optee->smc.invoke_fn(OPTEE_SMC_ENABLE_SHM_CACHE, in optee_enable_shm_cache()
294 optee_cq_wait_for_completion(&optee->call_queue, &w); in optee_enable_shm_cache()
296 optee_cq_wait_final(&optee->call_queue, &w); in optee_enable_shm_cache()
[all …]
H A Dcore.c91 struct optee *optee = tee_get_drvdata(teedev); in optee_open() local
97 if (teedev == optee->supp_teedev) { in optee_open()
100 mutex_lock(&optee->supp.mutex); in optee_open()
101 if (!optee->supp.ctx) { in optee_open()
103 optee->supp.ctx = ctx; in optee_open()
105 mutex_unlock(&optee->supp.mutex); in optee_open()
111 if (!optee->scan_bus_done) { in optee_open()
112 INIT_WORK(&optee->scan_bus_work, optee_bus_scan); in optee_open()
113 optee->scan_bus_wq = create_workqueue("optee_bus_scan"); in optee_open()
114 if (!optee->scan_bus_wq) { in optee_open()
[all …]
H A Doptee_private.h16 #define DRIVER_NAME "optee"
99 * @optee optee device reference
102 struct optee *optee; member
106 * struct optee_smc - optee smc communication struct
112 * @optee_pcpu per_cpu optee instance for per cpu work or NULL
143 struct optee;
158 int (*to_msg_param)(struct optee *optee,
161 int (*from_msg_param)(struct optee *optee, struct tee_param *params,
167 * struct optee - main service struct
181 * @scan_bus_wq workqueue to scan optee bus and register optee drivers
[all …]
H A Dcall.c34 * (optee->rpc_param_count).
135 void optee_shm_arg_cache_init(struct optee *optee, u32 flags) in optee_shm_arg_cache_init() argument
137 INIT_LIST_HEAD(&optee->shm_arg_cache.shm_args); in optee_shm_arg_cache_init()
138 mutex_init(&optee->shm_arg_cache.mutex); in optee_shm_arg_cache_init()
139 optee->shm_arg_cache.flags = flags; in optee_shm_arg_cache_init()
142 void optee_shm_arg_cache_uninit(struct optee *optee) in optee_shm_arg_cache_uninit() argument
144 struct list_head *head = &optee->shm_arg_cache.shm_args; in optee_shm_arg_cache_uninit()
147 mutex_destroy(&optee->shm_arg_cache.mutex); in optee_shm_arg_cache_uninit()
187 struct optee *optee = tee_get_drvdata(ctx->teedev); in optee_get_msg_arg() local
188 size_t sz = optee_msg_arg_size(optee->rpc_param_count); in optee_get_msg_arg()
[all …]
H A Drpc.c39 struct optee *optee = tee_get_drvdata(ctx->teedev); in handle_rpc_func_cmd_i2c_transfer() local
64 if (optee->ops->from_msg_param(optee, params, arg->num_params, in handle_rpc_func_cmd_i2c_transfer()
108 if (optee->ops->to_msg_param(optee, arg->params, in handle_rpc_func_cmd_i2c_transfer()
130 static void handle_rpc_func_cmd_wq(struct optee *optee, in handle_rpc_func_cmd_wq() argument
142 if (optee_notif_wait(optee, arg->params[0].u.value.b)) in handle_rpc_func_cmd_wq()
146 if (optee_notif_send(optee, arg->params[0].u.value.b)) in handle_rpc_func_cmd_wq()
181 static void handle_rpc_supp_cmd(struct tee_context *ctx, struct optee *optee, in handle_rpc_supp_cmd() argument
195 if (optee->ops->from_msg_param(optee, params, arg->num_params, in handle_rpc_supp_cmd()
203 if (optee->ops->to_msg_param(optee, arg->params, arg->num_params, in handle_rpc_supp_cmd()
214 struct optee *optee = tee_get_drvdata(ctx->teedev); in optee_rpc_cmd_alloc_suppl() local
[all …]
H A DMakefile2 obj-$(CONFIG_OPTEE) += optee.o
3 optee-objs += core.o
4 optee-objs += call.o
5 optee-objs += notif.o
6 optee-objs += rpc.o
7 optee-objs += supp.o
8 optee-objs += device.o
9 optee-objs += smc_abi.o
10 optee-objs += ffa_abi.o
/openbmc/u-boot/lib/optee/
H A DKconfig1 config OPTEE config
2 bool "Support OPTEE images"
4 U-Boot can be configured to boot OPTEE images.
5 Selecting this option will enable shared OPTEE library code and
6 enable an OPTEE specific bootm command that will perform additional
7 OPTEE specific checks before booting an OPTEE image created with
11 hex "OPTEE load address"
13 depends on OPTEE
15 The load address of the bootable OPTEE binary.
18 hex "Amount of Trust-Zone RAM for the OPTEE image"
[all …]
/openbmc/openbmc/meta-arm/meta-arm/recipes-bsp/scp-firmware/files/
H A D0001-OPTEE-Private-Includes.patch4 Subject: [PATCH] OPTEE Private Includes
6 Change the optee module includes to be private instead of public, so they don't get used
14 product/optee/common/module/console/CMakeLists.txt | 2 +-
15 product/optee/common/module/mbx/CMakeLists.txt | 2 +-
18 diff --git a/product/optee/common/module/console/CMakeLists.txt b/product/optee/common/module/conso…
20 --- a/product/optee/common/module/console/CMakeLists.txt
21 +++ b/product/optee/common/module/console/CMakeLists.txt
31 diff --git a/product/optee/common/module/mbx/CMakeLists.txt b/product/optee/common/module/mbx/CMake…
33 --- a/product/optee/common/module/mbx/CMakeLists.txt
34 +++ b/product/optee/common/module/mbx/CMakeLists.txt
/openbmc/linux/Documentation/devicetree/bindings/arm/firmware/
H A Dlinaro,optee-tz.yaml4 $id: http://devicetree.org/schemas/arm/firmware/linaro,optee-tz.yaml#
22 const: optee
25 const: linaro,optee-tz
42 register assignments are specified in drivers/tee/optee/optee_smc.h
54 optee {
55 compatible = "linaro,optee-tz";
63 optee {
64 compatible = "linaro,optee-tz";
/openbmc/openbmc/meta-arm/meta-arm/recipes-security/optee/
H A Doptee-os-tadevkit_4.3.0.bb1 require recipes-security/optee/optee-os_${PV}.bb
11 install -d ${D}${includedir}/optee/export-user_ta/
13 cp -aR $f ${D}${includedir}/optee/export-user_ta/
18 echo "Do not inherit do_deploy from optee-os."
21 FILES:${PN} = "${includedir}/optee/"
25 EXTRA_OEMAKE:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee-spmc-test', \
H A Doptee-test.inc10 require optee.inc
12 DEPENDS = "optee-client optee-os-tadevkit python3-cryptography-native openssl"
42 # install path should match the value set in optee-client/tee-supplicant
51 install -d ${DEPLOYDIR}/${MLPREFIX}optee/ta
52 install -m 644 ${B}/ta/*/*.elf ${DEPLOYDIR}/${MLPREFIX}optee/ta
H A Doptee-test_4.3.0.bb1 require recipes-security/optee/optee-test.inc
8 EXTRA_OEMAKE:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee-spmc-test', \
11 RDEPENDS:${PN} += "${@bb.utils.contains('MACHINE_FEATURES', 'optee-spmc-test', \
H A Doptee-os.inc9 require optee.inc
61 install -d ${DEPLOYDIR}/${MLPREFIX}optee
62 install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/${MLPREFIX}optee
64 install -d ${DEPLOYDIR}/${MLPREFIX}optee/ta
65 install -m 644 ${B}/ta/*/*.elf ${DEPLOYDIR}/${MLPREFIX}optee/ta
H A Doptee-os_4.%.bbappend2 require recipes-security/optee/optee-os-ts.inc
4 # Conditionally include platform specific Trusted Services related OPTEE build parameters
/openbmc/openbmc/meta-arm/documentation/
H A Dtrusted-services.md10 These files are automatically included into optee-os image accordingly to defined MACHINE_FEATURES.
14 To include TS SPs into optee-os image you need to add into MACHINE_FEATURES
26 | spm-test[1-4] | optee-spmc-test |
35 enabled if the `ts-smm-gateway` and/or the `optee-spmc-test` machine features are enabled.
38 2. optee-os might require platform specific OP-TEE build parameters (for example what SEL the SPM C…
39 …You can find examples in `meta-arm/recipes-security/optee/optee-os_%.bbappend` for qemuarm64-secur…
40 …and in `meta-arm-bsp/recipes-security/optee/optee-os-corstone1000-common.inc` for the Corstone1000…
68 [^4]: https://optee.readthedocs.io/en/latest/building/gits/optee_test.html
/openbmc/openbmc/meta-arm/ci/
H A Dqemuarm-secureboot.yml14 optee: |
15 IMAGE_INSTALL:append = " optee-test optee-client optee-os-ta"
16 TEST_SUITES:append = " optee ftpm"
H A Dqemuarm64-secureboot.yml14 optee: |
15 IMAGE_INSTALL:append = " optee-test optee-client optee-os-ta"
16 TEST_SUITES:append = " optee ftpm"
/openbmc/u-boot/doc/device-tree-bindings/firmware/
H A Dlinaro,optee-tz.txt12 - compatible : should contain "linaro,optee-tz"
18 in drivers/tee/optee/optee_smc.h
21 in drivers/tee/optee/optee_smc.h
27 optee {
28 compatible = "linaro,optee-tz";
/openbmc/linux/arch/arm/boot/dts/st/
H A Dstm32mp15-scmi.dtsi9 optee: optee { label
10 compatible = "linaro,optee-tz";
15 compatible = "linaro,scmi-optee";
18 linaro,optee-channel-id = <0>;
/openbmc/openbmc/meta-arm/meta-arm/recipes-security/optee-ftpm/
H A Doptee-ftpm_git.bb1 SUMMARY = "OPTEE fTPM Microsoft TA"
18 DEPENDS = "python3-pyelftools-native optee-os-tadevkit python3-cryptography-native "
32 TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
38 CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_HOST} -I${WORKDIR}/optee-os" \
71 install -d ${DEPLOYDIR}/optee
72 …0644 ${S}/Samples/ARM32-FirmwareTPM/optee_ta/out/fTPM/${FTPM_UUID}.stripped.elf ${DEPLOYDIR}/optee/
H A Doptee-os_%.bbappend4 ${@bb.utils.contains('MACHINE_FEATURES', 'optee-ftpm', 'optee-ftpm', '' , d)} \
8 ${@bb.utils.contains('MACHINE_FEATURES', 'optee-ftpm', \
/openbmc/openbmc/meta-arm/meta-arm/recipes-security/trusted-services/libts/
H A D0001-Remove-TEE-driver-external-component.patch18 .../spm/optee/userspace-programs-on-fvp.rst | 3 +-
19 docs/quickstart/optee-testing.rst | 1 -
135 …environments/secure-partitions/spm/optee/userspace-programs-on-fvp.rst b/docs/environments/secure-…
137 --- a/docs/environments/secure-partitions/spm/optee/userspace-programs-on-fvp.rst
138 +++ b/docs/environments/secure-partitions/spm/optee/userspace-programs-on-fvp.rst
149 diff --git a/docs/quickstart/optee-testing.rst b/docs/quickstart/optee-testing.rst
151 --- a/docs/quickstart/optee-testing.rst
152 +++ b/docs/quickstart/optee-testing.rst
/openbmc/openbmc/meta-arm/meta-arm-bsp/recipes-security/optee/
H A Doptee-os_4.%.bbappend4 MACHINE_OPTEE_OS_REQUIRE:corstone1000 = "optee-os-corstone1000-common.inc"
5 MACHINE_OPTEE_OS_REQUIRE:fvp-base = "optee-os-fvp-base.inc"
6 MACHINE_OPTEE_OS_REQUIRE:sbsa-ref = "optee-os-sbsa-ref.inc"

12345678