Calling OPTEE_SMC_CALL_GET_OS_UUID from driver code

Marc Gonzalez mgonzalez at freebox.fr
Tue Feb 20 09:29:49 PST 2024


Hello,

The driver code I'm working on hard-codes

#define TEE_SMC_FAST_CALL_VAL(func_num) \
    ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, ARM_SMCCC_SMC_32, \
            ARM_SMCCC_OWNER_TRUSTED_OS, (func_num))

#define TEE_SMC_FUNCID_CALLS_UID 0xFF01
#define TEE_SMC_CALLS_UID \
    ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, ARM_SMCCC_SMC_32, \
               ARM_SMCCC_OWNER_TRUSTED_OS_END, \
               TEE_SMC_FUNCID_CALLS_UID)

    arm_smccc_smc(TEE_SMC_CALLS_UID,
            0, 0, 0/*is_swap*/, 0, 0, 0, 0, &res);
    dev_err(dev, "TEE UID %x %x %x %x\n", res.a0, res.a1, res.a2, res.a3);


but it seems I would be required to somehow use
OPTEE_SMC_CALL_GET_OS_UUID

But it's not exported, and no code seems to use it...?

$ git grep OPTEE_SMC_CALL_GET_OS_UUID
Documentation/tee/op-tee.rst:- OPTEE_SMC_CALL_GET_OS_UUID returns the particular OP-TEE implementation, used
drivers/tee/optee/optee_smc.h:#define OPTEE_SMC_CALL_GET_OS_UUID \

How do I make calls to OP-TEE from driver code?

Regards,

Marc Gonzalez



More information about the linux-arm-kernel mailing list