1
0
Fork 0
alistair23-linux/arch/arm64/boot/dts
Linus Torvalds a2d9214c73 TEE driver infrastructure and OP-TEE drivers
This branch introduces a generic TEE framework in the kernel, to handle
 trusted environemtns (security coprocessor or software implementations
 such as OP-TEE/TrustZone). I'm sending it separately from the other
 arm-soc driver changes to give it a little more visibility, once
 the subsystem is merged, we will likely keep this in the arm₋soc
 drivers branch or have the maintainers submit pull requests directly,
 depending on the patch volume.
 
 I have reviewed earlier versions in the past, and have reviewed
 the latest version in person during Linaro Connect BUD17.
 
 Here is my overall assessment of the subsystem:
 
 * There is clearly demand for this, both for the generic
   infrastructure and the specific OP-TEE implementation.
 
 * The code has gone through a large number of reviews,
   and the review comments have all been addressed, but
   the reviews were not coming up with serious issues any more
   and nobody volunteered to vouch for the quality.
 
 * The user space ioctl interface is sufficient to work with the
   OP-TEE driver, and it should in principle work with other
   TEE implementations that follow the GlobalPlatform[1] standards,
   but it might need to be extended in minor ways depending on
   specific requirements of future TEE implementations
 
 * The main downside of the API to me is how the user space
   is tied to the TEE implementation in hardware or firmware,
   but uses a generic way to communicate with it. This seems
   to be an inherent problem with what it is trying to do,
   and I could not come up with any better solution than what
   is implemented here.
 
 For a detailed history of the patch series, see
 https://lkml.org/lkml/2017/3/10/1277
 
 Conflicts: needs a fixup after the drm tree was merged, see
 https://patchwork.kernel.org/patch/9691679/
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIVAwUAWRIRzWCrR//JCVInAQLKUhAAiJaBqb4uv5wDWKw8MVV5BbFjq6po/eMK
 r3lgwyBGoRnrYiXo0z2eYNqpHsmNIGrL21qYMzaBGhVeaOOVPZT4q3zH+Se9Oo+J
 HHZZ4J6Q9kDIUy9WkM7ybHVj3C0kQIn7H+/6zi2L97tMQJMZHI0jCSgDa6XPqHzh
 G/vqVx5jlaFj6SvkLR0L0yWTe0wXTHoyObSCWsM/nV8AiTNhMD3kcTEOm0XHcAJB
 k8ei/Pw2INOFZu1B0xpoRkWoAo6YKMcxQp9kiMkcEhChPIkNK+8+npYJ3fiogsii
 BVTXC9Km2jmUfQ21Pegd2XbqzNGU1rJSdHGTyK2Oax+0J+C8xElGMs8U9tqXPqun
 fWkSp0dl7Sk0f9Yhc8JBD1Tsbuo0H+TsMtQ6RNvlxLiNHE/5/bZBCeylvtoUyI+m
 NcvP0x5QeBmkitz7zhYpjaSv5HjZG3PPO3pfaz0Stmen5ZM8DWB1TaS1Nn9MigHt
 RGXlafc6dKybQQBLWDwStv7IkqDRYte+7pwmx+QFCRWj8+uFtTCDPLyaDUTwlErL
 n4ztUL1RWiq48S+yJDJURM4mLpEMnJFFF4tiiHH8eUe2JE+CXwGxkT6BG62W71Oy
 RosiJ84LmdoHRyHx6xmqpoDcL1WG57IgWt05SRUkQatA/ealGX88gguGEAWsPL0h
 cnKPYkiYfug=
 =VzpB
 -----END PGP SIGNATURE-----

Merge tag 'armsoc-tee' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull TEE driver infrastructure and OP-TEE drivers from Arnd Bergmann:
 "This introduces a generic TEE framework in the kernel, to handle
  trusted environemtns (security coprocessor or software implementations
  such as OP-TEE/TrustZone). I'm sending it separately from the other
  arm-soc driver changes to give it a little more visibility, once the
  subsystem is merged, we will likely keep this in the arm₋soc drivers
  branch or have the maintainers submit pull requests directly,
  depending on the patch volume.

  I have reviewed earlier versions in the past, and have reviewed the
  latest version in person during Linaro Connect BUD17.

  Here is my overall assessment of the subsystem:

   - There is clearly demand for this, both for the generic
     infrastructure and the specific OP-TEE implementation.

   - The code has gone through a large number of reviews, and the review
     comments have all been addressed, but the reviews were not coming
     up with serious issues any more and nobody volunteered to vouch for
     the quality.

   - The user space ioctl interface is sufficient to work with the
     OP-TEE driver, and it should in principle work with other TEE
     implementations that follow the GlobalPlatform[1] standards, but it
     might need to be extended in minor ways depending on specific
     requirements of future TEE implementations

   - The main downside of the API to me is how the user space is tied to
     the TEE implementation in hardware or firmware, but uses a generic
     way to communicate with it. This seems to be an inherent problem
     with what it is trying to do, and I could not come up with any
     better solution than what is implemented here.

  For a detailed history of the patch series, see

    https://lkml.org/lkml/2017/3/10/1277"

* tag 'armsoc-tee' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  arm64: dt: hikey: Add optee node
  Documentation: tee subsystem and op-tee driver
  tee: add OP-TEE driver
  tee: generic TEE subsystem
  dt/bindings: add bindings for optee
2017-05-10 11:20:09 -07:00
..
al arm64: dts: alpine: add the MSIX node in the Alpine v2 dtsi 2016-02-26 22:58:10 +01:00
allwinner ARM: 64-bit DT updates 2017-05-09 10:07:33 -07:00
altera arm64: dts: Fix broken architected timer interrupt trigger 2016-09-14 22:47:22 +02:00
amd arm64: dts: amd: Fix-up for ccn504 and kcs nodes 2016-02-24 14:02:19 -08:00
amlogic ARM: 64-bit DT updates 2017-05-09 10:07:33 -07:00
apm ARM: 64-bit DT updates for v4.8 2016-10-07 21:32:39 -07:00
arm arm64: dts: juno: add information about L1 and L2 caches 2017-04-19 12:16:51 +01:00
broadcom ARM: 64-bit DT updates 2017-05-09 10:07:33 -07:00
cavium arm64: dts: move from ARCH_VULCAN to ARCH_THUNDER2 2017-03-31 11:42:30 +02:00
exynos arm64: dts: exynos: Use - instead of @ for DT OPP entries 2017-04-24 20:19:32 +02:00
freescale arm64: dts: Add support for FSL's LS1088A SoC 2017-03-29 11:53:19 +08:00
hisilicon TEE driver infrastructure and OP-TEE drivers 2017-05-10 11:20:09 -07:00
include arm64: dts: add arm/arm64 include symlinks 2017-03-21 17:21:28 -07:00
lg ARM: 64-bit DT updates for v4.8 2016-08-01 18:47:01 -04:00
marvell ARM: 64-bit DT updates 2017-05-09 10:07:33 -07:00
mediatek ARM: 64-bit DT updates for v4.11 2017-02-23 15:52:14 -08:00
nvidia arm64: tegra: Update the Tegra132 flowctrl compatible string 2017-04-04 17:15:05 +02:00
qcom arm64: dts: msm8996: Add ADSP PIL node 2017-03-29 13:43:52 -05:00
renesas arm64: dts: r8a7795: salvator-x: Drop _clk suffix from X12 clock node name 2017-04-05 14:17:19 -04:00
rockchip Basic support for new rk3328, a 4-core Cortex-A53 soc and a fix for the 2017-04-19 06:33:03 -07:00
socionext arm64: dts: uniphier: re-order reset deassertion of USB of LD11 2017-03-13 00:32:40 +09:00
sprd arm64: dts: Add basic DT to support Spreadtrum's SP9860G 2017-04-27 21:56:14 +02:00
xilinx ARM64: zynqmp: Fix i2c node's compatible string 2017-01-02 14:14:36 +01:00
zte arm64: dts: zte: add tvenc device for zx296718 2017-03-24 16:25:19 +08:00
.gitignore arm64: Add dtbs target for building all the enabled dtb files 2012-12-03 17:17:21 -06:00
Makefile arm64: dts: add Pine64 support 2016-11-03 09:08:24 +01:00