lkml.org 
[lkml]   [2020]   [Aug]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 0/5] Add support of SECVIO from SNVS on iMX8q/x
    On Tue, Aug 18, 2020 at 09:52:02AM +0200, Franck LENORMAND (OSS) wrote:
    > Hello,
    >
    > Peng was able to do a firt pass of review on my patchset which led to this
    > second version. I hope a maintainer will be able to take a look at this
    > patchset once rested after all the work they did for 5.9.

    @Peng, are you okay with this version?

    @Aisheng, have a review on this?

    Shawn

    >
    > On mar., 2020-07-21 at 17:20 +0200, franck.lenormand@oss.nxp.com wrote:
    > > From: Franck LENORMAND <franck.lenormand@oss.nxp.com>
    > >
    > > This patchset aims to add support for the SECurity VIOlation (SECVIO) of the
    > > SNVS. A secvio is a signal emitted by the SNVS when a hardware attack
    > > is detected. On imx8x and imx8q SoC, the SNVS is controlled by the
    > > SECO and it is possible to interact with it using the SCU using the SC APIs.
    > >
    > > For the driver to communicate with the SNVS via the SCU and the SECO, I had to:
    > >  - Add support for exchange of big message with the SCU (needed for
    > > imx_scu_irq_get_status)
    > >  - Add API to check linux can control the SECVIO (imx_sc_rm_is_resource_owned)
    > >  - Add APIs for the driver to read the state of the SECVIO registers of the
    > > SNVS and DGO (imx_sc_seco_secvio_enable and imx_sc_seco_secvio_enable).
    > >
    > > To check the state of the SECVIO IRQ in the SCU, I added the
    > > imx_scu_irq_get_status API.
    > >
    > > The secvio driver is designed to receive the IRQ produced by the
    > > SNVS in case of hardware attack and notify the status to the
    > > audit framework which can be used by the user.
    > >
    > > The goal of the driver is to be self suficient but can be extended by the
    > > user to perform custom operations on values read (imx_sc_seco_secvio_enable)
    > >
    > > v2:
    > >  - Removed (firmware: imx: scu-rm: Add Resource Management APIs)
    > > -> Code required is already present
    > >  - Removed (firmware: imx: scu: Support reception of messages of any size)
    > > -> The imx-scu is already working in fast-ipc mode
    > >  - (soc: imx8: Add the SC SECVIO driver):
    > > - Fixed the warnings reported by kernel test robot
    > >
    > > Franck LENORMAND (5):
    > >   firmware: imx: scu-seco: Add SEcure Controller APIS
    > >   firmware: imx: scu-irq: Add API to retrieve status of IRQ
    > >   dt-bindings: firmware: imx-scu: Add SECVIO resource
    > >   dt-bindings: arm: imx: Documentation of the SC secvio driver
    > >   soc: imx8: Add the SC SECVIO driver
    > >
    > >  .../bindings/arm/freescale/fsl,imx-sc-secvio.yaml  |  34 +
    > >  drivers/firmware/imx/Makefile                      |   2 +-
    > >  drivers/firmware/imx/imx-scu-irq.c                 |  37 +-
    > >  drivers/firmware/imx/imx-scu.c                     |   3 +
    > >  drivers/firmware/imx/seco.c                        | 275 +++++++
    > >  drivers/soc/imx/Kconfig                            |  10 +
    > >  drivers/soc/imx/Makefile                           |   1 +
    > >  drivers/soc/imx/secvio/Kconfig                     |  10 +
    > >  drivers/soc/imx/secvio/Makefile                    |   3 +
    > >  drivers/soc/imx/secvio/imx-secvio-audit.c          |  39 +
    > >  drivers/soc/imx/secvio/imx-secvio-debugfs.c        | 379 +++++++++
    > >  drivers/soc/imx/secvio/imx-secvio-sc-int.h         |  84 ++
    > >  drivers/soc/imx/secvio/imx-secvio-sc.c             | 858 +++++++++++++++++++++
    > >  include/dt-bindings/firmware/imx/rsrc.h            |   3 +-
    > >  include/linux/firmware/imx/ipc.h                   |   1 +
    > >  include/linux/firmware/imx/sci.h                   |   5 +
    > >  include/linux/firmware/imx/svc/seco.h              |  73 ++
    > >  include/soc/imx/imx-secvio-sc.h                    | 177 +++++
    > >  18 files changed, 1991 insertions(+), 3 deletions(-)
    > >  create mode 100644 Documentation/devicetree/bindings/arm/freescale/fsl,imx-sc-
    > > secvio.yaml
    > >  create mode 100644 drivers/firmware/imx/seco.c
    > >  create mode 100644 drivers/soc/imx/secvio/Kconfig
    > >  create mode 100644 drivers/soc/imx/secvio/Makefile
    > >  create mode 100644 drivers/soc/imx/secvio/imx-secvio-audit.c
    > >  create mode 100644 drivers/soc/imx/secvio/imx-secvio-debugfs.c
    > >  create mode 100644 drivers/soc/imx/secvio/imx-secvio-sc-int.h
    > >  create mode 100644 drivers/soc/imx/secvio/imx-secvio-sc.c
    > >  create mode 100644 include/linux/firmware/imx/svc/seco.h
    > >  create mode 100644 include/soc/imx/imx-secvio-sc.h
    > >
    >

    \
     
     \ /
      Last update: 2020-08-19 15:24    [W:3.263 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site