RE: [EXT] Re: [PATCH v4 5/5] firmware: imx: adds miscdev

From: Pankaj Gupta
Date: Tue Jul 09 2024 - 02:11:29 EST




> -----Original Message-----
> From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Sent: Saturday, July 6, 2024 2:17 AM
> To: Pankaj Gupta <pankaj.gupta@xxxxxxx>; Jonathan Corbet
> <corbet@xxxxxxx>; Rob Herring <robh@xxxxxxxxxx>; Krzysztof Kozlowski
> <krzk+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>; Shawn Guo
> <shawnguo@xxxxxxxxxx>; Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>;
> Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>; Fabio Estevam
> <festevam@xxxxxxxxx>; Rob Herring <robh+dt@xxxxxxxxxx>; Krzysztof
> Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx>
> Cc: linux-doc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx; imx@xxxxxxxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx
> Subject: [EXT] Re: [PATCH v4 5/5] firmware: imx: adds miscdev
>
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
>
>
> On 7/5/24 6:52 AM, Pankaj Gupta wrote:
> > diff --git a/Documentation/ABI/testing/se-cdev
> b/Documentation/ABI/testing/se-cdev
> > new file mode 100644
> > index 000000000000..97a5b2ca115d
> > --- /dev/null
> > +++ b/Documentation/ABI/testing/se-cdev
> > @@ -0,0 +1,43 @@
> > +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-
>
> ^^^ one space only

Will replace "for secure enclaves", with "for secure enclaves"


>
> > + Enclave(ELE), SECO. The character device file descriptors
> > + /dev/<se>_mu*_ch* are the interface between user-space NXP's
> secure-
>
> Please use "userspace" or "user space".

Accepted.
>
> > + enclave shared library and the kernel driver.
> > +
> > + The ioctl(2)-based ABI is defined and documented in
> > + [include]<linux/firmware/imx/ele_mu_ioctl.h>
>
> End the line above with a period.

Accepted.

>
> > + ioctl(s) are used primarily for:
> > + - shared memory management
> > + - allocation of I/O buffers
> > + - getting mu info
> > + - setting a dev-ctx as receiver to receive all the commands from
> FW
> > + - getting SoC info
> > + - send command and receive command response
> > +
> > + 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
> > + wait_event_interruptible, that gets set by the registered mailbox
> callback
> > + function, indicating a message received from the firmware on
> message-
> > + unit.
> > +
> > + write(2)
> > + Every write() to the opened character device context needs to
> acquire
> > + mailbox_lock before sending message on to the message unit.
> > +
> > + close(2)
> > + Stops and frees up the I/O contexts that were associated
> > + with the file descriptor.
> > +
> > +Users:
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithu
> b.com%2Fnxp-imx%2Fimx-secure-
> enclave.git&data=05%7C02%7Cpankaj.gupta%40nxp.com%7Cce675eed648
> 24848da5308dc9d33ae7f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0
> %7C0%7C638558092493138985%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi
> MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0
> %7C%7C%7C&sdata=fJ97U1mUja7gSpb%2FE1GOx6JdsYpfAUf9rnTuul4TOHs
> %3D&reserved=0,
> > +
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithu
> b.com%2Fnxp-imx%2Fimx-
> smw.git&data=05%7C02%7Cpankaj.gupta%40nxp.com%7Cce675eed648248
> 48da5308dc9d33ae7f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C
> 0%7C638558092493147090%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4
> wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C
> %7C%7C&sdata=oH0zIc2YQeERpc8lDXuyvQsGMtKjKZSp46t6X9irntU%3D&re
> served=0
> > + crypto/skcipher,
> > + drivers/nvmem/imx-ocotp-ele.c
>
> --
> ~Randy