qcom_scm_qseecom_app_send(9)
π NAME π
qcom_scm_qseecom_app_send β bestie, this is the <rainbow>"send stuff to a QSEE app and get stuff back"</rainbow> function π«Ά straight out of the Kernel API Manual β¨
πΈ SYNOPSIS πΈ
int qcom_scm_qseecom_app_send (u32 app_id , void *req , size_t req_size
, void *rsp , size_t rsp_size );
No cap, that's the whole vibe π
π ARGUMENTS π
app_idβ the ID of the target app π― like, which QSEE app you're sliding into.reqβ the request buffer you send over to the app. Heads up: must be TZ memory β οΈreq_sizeβ size of the request buffer πrspβ the response buffer, and the app writes into this one. Also must be TZ memory β οΈrsp_sizeβ size of the response buffer π
π¦ DESCRIPTION π¦
okay so here's the tea β this function sends a request to the QSEE app that's associated with the given ID, then reads back that app's response. Simple as that β¨
But β and this is the part you cannot skip, bestie β the caller must provide two DMA memory regions, one for the request and one for the response π
Then you fill out the req region with the respective (app-specific) request data π The QSEE app reads that, and hands you back its response in the rsp region. it's giving pen pal energy, honestly π
π₯ reminder:reqandrspmust both be TZ memory. Don't come crying to me if you forget π€
π RETURN π
- Zero on success π slay
- Nonzero on failure π sad but that's the game
π SEE ALSO π
Kernel file ./drivers/firmware/qcom/qcom_scm.c struct qcom_scm_qseecom_resp(9), plus the whole friend group π:
qcom_scm_call(9)qcom_scm_call_atomic(9)qcom_scm_set_warm_boot_addr(9)qcom_scm_set_cold_boot_addr(9)qcom_scm_cpu_power_down(9)qcom_scm_is_pas_available(9)qcom_scm_restore_sec_cfg_available(9)qcom_scm_assign_mem(9)qcom_scm_ocmem_lock_available(9)qcom_scm_ocmem_lock(9)qcom_scm_ocmem_unlock(9)qcom_scm_ice_available(9)qcom_scm_ice_invalidate_key(9)qcom_scm_ice_set_key(9)qcom_scm_derive_sw_secret(9)qcom_scm_generate_ice_key(9)qcom_scm_prepare_ice_key(9)qcom_scm_import_ice_key(9)qcom_scm_hdcp_available(9)qcom_scm_hdcp_req(9)qcom_scm_qseecom_call(9)qcom_scm_qseecom_get_version(9)qcom_scm_qseecom_app_get_id(9)qcom_scm_qtee_invoke_smc(9)qcom_scm_qtee_callback_response(9)qcom_scm_is_available(9)
and that's the whole page, bestie π§π this one lives over in ./drivers/firmware/qcom, dated October 2026 β mwah, go ship something iconic π
β¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms