Sorry, I missed one comment here: On 6/18/24 2:28 PM, Randy Dunlap wrote: > Hi-- > > On 6/17/24 12:29 AM, Pankaj Gupta wrote: >> Adds the driver for communication interface to secure-enclave, >> for exchanging messages with NXP secure enclave HW IP(s) like >> EdgeLock Enclave from: >> - User-Space Applications via character driver. >> >> ABI documentation for the NXP secure-enclave driver. >> >> User-space library using this driver: >> - i.MX Secure Enclave library: >> -- URL: https://github.com/nxp-imx/imx-secure-enclave.git, >> - i.MX Secure Middle-Ware: >> -- URL: https://github.com/nxp-imx/imx-smw.git >> >> Signed-off-by: Pankaj Gupta <pankaj.gupta@xxxxxxx> >> --- >> Documentation/ABI/testing/se-cdev | 42 +++ >> drivers/firmware/imx/ele_common.c | 153 ++++++++- >> drivers/firmware/imx/ele_common.h | 4 + >> drivers/firmware/imx/se_ctrl.c | 694 ++++++++++++++++++++++++++++++++++++++ >> drivers/firmware/imx/se_ctrl.h | 49 +++ >> include/uapi/linux/se_ioctl.h | 94 ++++++ >> 6 files changed, 1034 insertions(+), 2 deletions(-) >> >> diff --git a/Documentation/ABI/testing/se-cdev b/Documentation/ABI/testing/se-cdev >> new file mode 100644 >> index 000000000000..699525af6b86 >> --- /dev/null >> +++ b/Documentation/ABI/testing/se-cdev >> @@ -0,0 +1,42 @@ >> +What: /dev/<se>_mu[0-9]+_ch[0-9]+ >> +Date: May 2024 >> +KernelVersion: 6.8 >> +Contact: linux-imx@xxxxxxx, pankaj.gupta@xxxxxxx >> +Description: >> + NXP offers multiple hardware IP(s) for secure-enclaves like EdgeLock- > > for secure enclaves > >> + Enclave(ELE), SECO. The character device file-descriptors > > file descriptors > > and what is SECO? > >> + /dev/<se>_mu*_ch* are the interface between user-space NXP's secure- > > userspace secure > >> + enclave shared-library and the kernel driver. > > shared library > >> + >> + The ioctl(2)-based ABI is defined and documented in >> + [include]<linux/firmware/imx/ele_mu_ioctl.h> >> + ioctl(s) are used primarily for: >> + - shared memory management >> + - allocation of I/O buffers >> + - get mu info > > - getting mu info > >> + - setting a dev-ctx as receiver that is slave to fw Documentation/process/coding-style.rst says not to introduce new uses of the word "slave": For symbol names and documentation, avoid introducing new usage of 'master / slave' (or 'slave' independent of 'master') and 'blacklist / whitelist'. Recommended replacements for 'master / slave' are: '{primary,main} / {secondary,replica,subordinate}' '{initiator,requester} / {target,responder}' '{controller,host} / {device,worker,proxy}' 'leader / follower' 'director / performer' >> + - get SoC info > > - getting SoC info > >> + >> + The following file operations are supported: >> + >> + open(2) >> + Currently the only useful flags are O_RDWR. >> + >> + read(2) >> + Every read() from the opened character device context is waiting on >> + wakeup_intruptible, that gets set by the registered mailbox callback > > typo in that name? > or is it something that this patch series introduces? > >> + function; indicating a message received from the firmware on message- > > function, > >> + unit. >> + >> + write(2) >> + Every write() to the opened character device context needs to acquire >> + mailbox_lock, before sending message on to the message unit. > > mailbox_lock before > >> + >> + close(2) >> + Stops and free up the I/O contexts that was associated > > frees up that were associated > >> + with the file descriptor. >> + >> +Users: https://github.com/nxp-imx/imx-secure-enclave.git, >> + https://github.com/nxp-imx/imx-smw.git >> + crypto/skcipher, >> + drivers/nvmem/imx-ocotp-ele.c > > -- ~Randy