1*6d57389fSJerome Forissier# OP-TEE - version 2.6.0 2*6d57389fSJerome Forissier 3*6d57389fSJerome Forissier[Link][github_commits_2_6_0] to a list of all commits between this release and 4*6d57389fSJerome Forissierthe previous one (2.5.0). 5*6d57389fSJerome Forissier 6*6d57389fSJerome Forissier## New features 7*6d57389fSJerome Forissier 8*6d57389fSJerome Forissier* New supported platforms: Atmel SAMA5 ([#1714]), HiSilicon HiKey960 ([#1684]), 9*6d57389fSJerome Forissier Rockchip RK322X ([#1666]), NXP LS1043A-RDB/LS1046A-RDB ([#1787]), Marvell 10*6d57389fSJerome Forissier Armada 70x0/80x0 ([#1807]). 11*6d57389fSJerome Forissier* Dynamic shared memory (non-contiguous, non-secure memory can be mapped into 12*6d57389fSJerome Forissier Trusted Applications VA space) ([#1631]) 13*6d57389fSJerome Forissier* Dump TA call stack on panic ([#1858]) 14*6d57389fSJerome Forissier* i.MX: PSCI reset ([#1849]) 15*6d57389fSJerome Forissier* plat-ti: AM43xx: suspend/resume support ([#1822]) 16*6d57389fSJerome Forissier* QEMU SMP support ([#1820]) 17*6d57389fSJerome Forissier* plat-ti: AM43xx: disable TRNG ([#1816]) 18*6d57389fSJerome Forissier* plat-ti: enable Secure Data Path by default ([#1815]) 19*6d57389fSJerome Forissier* Improve symbolize.py ([#1778], [#1767], [#1766]) 20*6d57389fSJerome Forissier* Early TAs (TAs linked in tee.bin) ([#1733]) 21*6d57389fSJerome Forissier* Suspend/resume framework for arm32 and imx7d support ([#1729]) 22*6d57389fSJerome Forissier* RK322X PSCI version, features and suspend support ([#1720]) 23*6d57389fSJerome Forissier* arm32: handle aborts in system mode ([#1703]) 24*6d57389fSJerome Forissier* i.MX: add SNVS SRTC support ([#1700]) 25*6d57389fSJerome Forissier* GCC7 support ([#1693]) 26*6d57389fSJerome Forissier* Improve detection of programming errors in locking code ([#1671], [#1670]) 27*6d57389fSJerome Forissier* Support TEE RAM size larger than page directory size ([#1669]) 28*6d57389fSJerome Forissier 29*6d57389fSJerome Forissier## Removed features 30*6d57389fSJerome Forissier 31*6d57389fSJerome Forissier* Remove TUI code ([#1842]) 32*6d57389fSJerome Forissier 33*6d57389fSJerome Forissier## Bug fixes 34*6d57389fSJerome Forissier 35*6d57389fSJerome Forissier* Add missing synchronization barrier in core_mmu_map_pages() ([#1827]) 36*6d57389fSJerome Forissier* Secure storage: REE FS: fix bug in error path ([#1801]) 37*6d57389fSJerome Forissier* ASAN bug fixes ([#1799]) 38*6d57389fSJerome Forissier* Fix race in core_mmu_user_mapping_is_active() ([#1785]) 39*6d57389fSJerome Forissier* libutee: printf() and puts() fixes, add putchar() ([#1759], [#1754]) 40*6d57389fSJerome Forissier* arm32: GICv3: fix FIQ masking in IRQ/ABT/SVC/UND handlers ([#1748]) 41*6d57389fSJerome Forissier* arm32: preserve r12 in native_intr_handler() ([#1682]) 42*6d57389fSJerome Forissier* arm64: fix print_kernel_stack() ([#1664]) 43*6d57389fSJerome Forissier* benchmark: fix core data-abort ([#1658]) 44*6d57389fSJerome Forissier 45*6d57389fSJerome Forissier## Security fixes or enhancements 46*6d57389fSJerome Forissier 47*6d57389fSJerome Forissier* crypto: fix software PRNG weaknesses 48*6d57389fSJerome Forissier ([OP-TEE-2017-0001][OP-TEE-2017-0001]) ([#1843]) 49*6d57389fSJerome Forissier 50*6d57389fSJerome Forissier## Tested on 51*6d57389fSJerome Forissier 52*6d57389fSJerome ForissierThe release was tested successfuly on the platforms listed below. 53*6d57389fSJerome ForissierIf a platform is not listed, it means the release was not tested on this 54*6d57389fSJerome Forissierplatform. 55*6d57389fSJerome Forissier 56*6d57389fSJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically --> 57*6d57389fSJerome Forissier* d02 58*6d57389fSJerome Forissier* hikey 59*6d57389fSJerome Forissier* hikey-hikey960 60*6d57389fSJerome Forissier* imx-mx6ulevk 61*6d57389fSJerome Forissier* imx-mx7dsabresd 62*6d57389fSJerome Forissier* ls-ls1021a??? (single core) 63*6d57389fSJerome Forissier* ls-ls1043ardb 64*6d57389fSJerome Forissier* ls-ls1046ardb 65*6d57389fSJerome Forissier* mediatek-mt8173 66*6d57389fSJerome Forissier* rcar 67*6d57389fSJerome Forissier* rockchip-rk322x 68*6d57389fSJerome Forissier* rpi3 69*6d57389fSJerome Forissier* sam 70*6d57389fSJerome Forissier* stm-b2260 71*6d57389fSJerome Forissier* stm-cannes 72*6d57389fSJerome Forissier* ti-??? 73*6d57389fSJerome Forissier* vexpress-fvp 74*6d57389fSJerome Forissier* vexpress-juno 75*6d57389fSJerome Forissier* vexpress-qemu_armv8a 76*6d57389fSJerome Forissier* vexpress-qemu_virt 77*6d57389fSJerome Forissier 78*6d57389fSJerome Forissier[github_commits_2_6_0]: https://github.com/OP-TEE/optee_os/compare/2.5.0...HEAD 79*6d57389fSJerome Forissier[#1858]: https://github.com/OP-TEE/optee_os/issues/1858 80*6d57389fSJerome Forissier[#1849]: https://github.com/OP-TEE/optee_os/issues/1849 81*6d57389fSJerome Forissier[#1843]: https://github.com/OP-TEE/optee_os/issues/1843 82*6d57389fSJerome Forissier[#1842]: https://github.com/OP-TEE/optee_os/issues/1842 83*6d57389fSJerome Forissier[#1827]: https://github.com/OP-TEE/optee_os/issues/1827 84*6d57389fSJerome Forissier[#1822]: https://github.com/OP-TEE/optee_os/issues/1822 85*6d57389fSJerome Forissier[#1820]: https://github.com/OP-TEE/optee_os/issues/1820 86*6d57389fSJerome Forissier[#1816]: https://github.com/OP-TEE/optee_os/issues/1816 87*6d57389fSJerome Forissier[#1815]: https://github.com/OP-TEE/optee_os/issues/1815 88*6d57389fSJerome Forissier[#1807]: https://github.com/OP-TEE/optee_os/issues/1807 89*6d57389fSJerome Forissier[#1801]: https://github.com/OP-TEE/optee_os/issues/1801 90*6d57389fSJerome Forissier[#1799]: https://github.com/OP-TEE/optee_os/issues/1799 91*6d57389fSJerome Forissier[#1787]: https://github.com/OP-TEE/optee_os/issues/1787 92*6d57389fSJerome Forissier[#1785]: https://github.com/OP-TEE/optee_os/issues/1785 93*6d57389fSJerome Forissier[#1778]: https://github.com/OP-TEE/optee_os/issues/1778 94*6d57389fSJerome Forissier[#1767]: https://github.com/OP-TEE/optee_os/issues/1767 95*6d57389fSJerome Forissier[#1766]: https://github.com/OP-TEE/optee_os/issues/1766 96*6d57389fSJerome Forissier[#1759]: https://github.com/OP-TEE/optee_os/issues/1759 97*6d57389fSJerome Forissier[#1754]: https://github.com/OP-TEE/optee_os/issues/1754 98*6d57389fSJerome Forissier[#1748]: https://github.com/OP-TEE/optee_os/issues/1748 99*6d57389fSJerome Forissier[#1733]: https://github.com/OP-TEE/optee_os/issues/1733 100*6d57389fSJerome Forissier[#1729]: https://github.com/OP-TEE/optee_os/issues/1729 101*6d57389fSJerome Forissier[#1720]: https://github.com/OP-TEE/optee_os/issues/1720 102*6d57389fSJerome Forissier[#1714]: https://github.com/OP-TEE/optee_os/issues/1714 103*6d57389fSJerome Forissier[#1703]: https://github.com/OP-TEE/optee_os/issues/1703 104*6d57389fSJerome Forissier[#1700]: https://github.com/OP-TEE/optee_os/issues/1700 105*6d57389fSJerome Forissier[#1693]: https://github.com/OP-TEE/optee_os/issues/1693 106*6d57389fSJerome Forissier[#1684]: https://github.com/OP-TEE/optee_os/issues/1684 107*6d57389fSJerome Forissier[#1682]: https://github.com/OP-TEE/optee_os/issues/1682 108*6d57389fSJerome Forissier[#1671]: https://github.com/OP-TEE/optee_os/issues/1671 109*6d57389fSJerome Forissier[#1670]: https://github.com/OP-TEE/optee_os/issues/1670 110*6d57389fSJerome Forissier[#1669]: https://github.com/OP-TEE/optee_os/issues/1669 111*6d57389fSJerome Forissier[#1666]: https://github.com/OP-TEE/optee_os/issues/1666 112*6d57389fSJerome Forissier[#1664]: https://github.com/OP-TEE/optee_os/issues/1664 113*6d57389fSJerome Forissier[#1658]: https://github.com/OP-TEE/optee_os/issues/1658 114*6d57389fSJerome Forissier[#1631]: https://github.com/OP-TEE/optee_os/issues/1631 115*6d57389fSJerome Forissier[OP-TEE-2017-0001]: https://www.op-tee.org/security-advisories/ 116*6d57389fSJerome Forissier 1175d8aaa04SJerome Forissier# OP-TEE - version 2.5.0 1185d8aaa04SJerome Forissier 1195d8aaa04SJerome Forissier[Link][github_commits_2_5_0] to a list of all commits between this release and 1205d8aaa04SJerome Forissierthe previous one (2.4.0). 1215d8aaa04SJerome Forissier 1225d8aaa04SJerome Forissier## New features 1235d8aaa04SJerome Forissier 1245d8aaa04SJerome Forissier* New supported platform: i.MX7D ([#1639]) 1255d8aaa04SJerome Forissier* Secure storage: anti-rollback protection for REE FS using RPMB FS ([#1630]) 1265d8aaa04SJerome Forissier* Assign non-secure DDR configuration from DT if CFG_DT=y ([#1623]) 1275d8aaa04SJerome Forissier* Add new image format: split image into three separate binaries suitable for 1285d8aaa04SJerome Forissier upcoming ARM Trusted Firmware ([#1589]). 1295d8aaa04SJerome Forissier* Make alignment check configurable ([#1586]) 1305d8aaa04SJerome Forissier* drivers: add TZC380 driver ([#1578]) 1315d8aaa04SJerome Forissier* plat-imx: PSCI CPU off ([#1577]) 1325d8aaa04SJerome Forissier* 64-bit paging on QEMU v8 and HiKey ([#1575], [#1592]) 1335d8aaa04SJerome Forissier* Benchmark framework ([#1365]) 1345d8aaa04SJerome Forissier* Dump call stack of user TAs on abort ([#1552]) 1355d8aaa04SJerome Forissier* plat-hikey: enable Secure Data Path ([#1440]) 1365d8aaa04SJerome Forissier* Add interface to load and decrypt/authenticate user TAs ([#1513]) 1375d8aaa04SJerome Forissier* plat-ti: add secure paging support ([#1493]) 1385d8aaa04SJerome Forissier* plat-ti: add OTP hardware key support ([#1492]) 1395d8aaa04SJerome Forissier* Support ARM GICv3 ([#1465]) 1405d8aaa04SJerome Forissier 1415d8aaa04SJerome Forissier## Removed features 1425d8aaa04SJerome Forissier 1435d8aaa04SJerome Forissier* stm-orly2 is not supported anymore ([#1650]) 1445d8aaa04SJerome Forissier* Remove secure storage based on SQL FS (`CFG_SQL_FS=y`) ([#1490]) 1455d8aaa04SJerome Forissier* Remove support for mapping user TAs with 1 MiB or 2 MiB granularity 1465d8aaa04SJerome Forissier (`CFG_SMALL_PAGE_USER_TA=n`) ([#1559]). TAs are always mapped using small 1475d8aaa04SJerome Forissier pages. 1485d8aaa04SJerome Forissier 1495d8aaa04SJerome Forissier## Bug fixes 1505d8aaa04SJerome Forissier 1515d8aaa04SJerome Forissier* Reduce size of non-pageable code ([#1621]) 1525d8aaa04SJerome Forissier* Ignore `TA_FLAG_MULTI_SESSION` and `TA_FLAG_INSTANCE_KEEP_ALIVE` when 1535d8aaa04SJerome Forissier `TA_FLAG_SINGLE_INSTANCE` is not set ([#1574]) 1545d8aaa04SJerome Forissier* libutee: remove buffering for AES GCM (PR#1573) and AES CTR ([#1580]) 1555d8aaa04SJerome Forissier* Fix ROUNDUP()/ROUNDDOWN() macros ([#1519]) 1565d8aaa04SJerome Forissier* Do not touch other bits in GICD_CTLR ([#1508]) 1575d8aaa04SJerome Forissier* Fix build issue with `DEBUG=y` and `CFG_TEE_CORE_LOG_LEVEL=0` ([#1502]) 1585d8aaa04SJerome Forissier* crypto: do not restrict hash size when algorithm is ECDSA ([#1497]) 1595d8aaa04SJerome Forissier 1605d8aaa04SJerome Forissier## Security fixes or enhancements 1615d8aaa04SJerome Forissier 1625d8aaa04SJerome Forissier- crypto: fix RSA key leakage after fault injection attack 1635d8aaa04SJerome Forissier ([OP-TEE-2016-0003][OP-TEE-2016-0003]) ([#1610]) 1645d8aaa04SJerome Forissier* crypto: fix RSA key leakage after side channel attack 1655d8aaa04SJerome Forissier ([OP-TEE-2016-0002][OP-TEE-2016-0002]) ([#1610]) 1665d8aaa04SJerome Forissier* Make pager aliased pages not always writable ([#1551]) 1675d8aaa04SJerome Forissier* Support for no-exec RO and RW data ([#1459], [#1550]) 1685d8aaa04SJerome Forissier 1695d8aaa04SJerome Forissier## New issues 1705d8aaa04SJerome Forissier 1715d8aaa04SJerome Forissier* armv7: some platform-specific code (`plat_cpu_reset_early()`) overwrites 1725d8aaa04SJerome ForissierSCTLR bits configured by generic code. This affects alignment checks (`SCTLR.A`) 1735d8aaa04SJerome Forissierand write-implies-no-exec (`SCTLR.WXN`, `SCTLR.UWXN`), which can therefore not 1745d8aaa04SJerome Forissierbe configured via the compile-time `CFG_` variables. 1755d8aaa04SJerome Forissier* armv7: plat-imx: Cortex-A9 cores should enable branch prediction (`SCLTR.Z`) 1765d8aaa04SJerome Forissierfor improved performance. 1775d8aaa04SJerome Forissier* [#1656] qemu_armv8a: init hangs when secure data path and pager are both 1785d8aaa04SJerome Forissier enabled. 1795d8aaa04SJerome Forissier 1805d8aaa04SJerome Forissier## Tested on 1815d8aaa04SJerome Forissier 1825d8aaa04SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with 1835d8aaa04SJerome Forissierits default configuration, while _extended_ means it was run successfully 1845d8aaa04SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite 1855d8aaa04SJerome Forissierv1.1.0.4. 1865d8aaa04SJerome Forissier 1875d8aaa04SJerome ForissierIf a platform is not listed, it means the release was not tested on this 1885d8aaa04SJerome Forissierplatform. 1895d8aaa04SJerome Forissier 1905d8aaa04SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically --> 1915d8aaa04SJerome Forissier* d02: extended 1925d8aaa04SJerome Forissier* hikey: extended 1935d8aaa04SJerome Forissier* imx-mx6ulevk: standard 1945d8aaa04SJerome Forissier* imx-mx6ullevk: standard 1955d8aaa04SJerome Forissier* imx-mx7dsabresd: standard 1965d8aaa04SJerome Forissier* ls-ls1021atwr: standard 1975d8aaa04SJerome Forissier* mediatek-mt8173: standard 1985d8aaa04SJerome Forissier* rcar-h3: standard 1995d8aaa04SJerome Forissier* rpi3: standard 2005d8aaa04SJerome Forissier* stm-b2260: extended 2015d8aaa04SJerome Forissier* stm-cannes: extended 2025d8aaa04SJerome Forissier* ti-am43xx: standard 2035d8aaa04SJerome Forissier* ti-am57xx: standard 2045d8aaa04SJerome Forissier* ti-dra7xx: standard 2055d8aaa04SJerome Forissier* vexpress-fvp: standard 2065d8aaa04SJerome Forissier* vexpress-juno: standard 2075d8aaa04SJerome Forissier* vexpress-qemu_armv8a: standard 2085d8aaa04SJerome Forissier* vexpress-qemu_virt: standard 2095d8aaa04SJerome Forissier 2105d8aaa04SJerome Forissier[github_commits_2_5_0]: https://github.com/OP-TEE/optee_os/compare/2.4.0...2.5.0-rc1 2115d8aaa04SJerome Forissier[#1656]: https://github.com/OP-TEE/optee_os/issues/1656 2125d8aaa04SJerome Forissier[#1650]: https://github.com/OP-TEE/optee_os/pull/1650 2135d8aaa04SJerome Forissier[#1639]: https://github.com/OP-TEE/optee_os/pull/1639 2145d8aaa04SJerome Forissier[#1630]: https://github.com/OP-TEE/optee_os/pull/1630 2155d8aaa04SJerome Forissier[#1623]: https://github.com/OP-TEE/optee_os/pull/1623 2165d8aaa04SJerome Forissier[#1621]: https://github.com/OP-TEE/optee_os/pull/1621 2175d8aaa04SJerome Forissier[#1610]: https://github.com/OP-TEE/optee_os/pull/1610 2185d8aaa04SJerome Forissier[#1592]: https://github.com/OP-TEE/optee_os/pull/1592 2195d8aaa04SJerome Forissier[#1589]: https://github.com/OP-TEE/optee_os/pull/1589 2205d8aaa04SJerome Forissier[#1586]: https://github.com/OP-TEE/optee_os/pull/1586 2215d8aaa04SJerome Forissier[#1580]: https://github.com/OP-TEE/optee_os/pull/1580 2225d8aaa04SJerome Forissier[#1578]: https://github.com/OP-TEE/optee_os/pull/1578 2235d8aaa04SJerome Forissier[#1577]: https://github.com/OP-TEE/optee_os/pull/1577 2245d8aaa04SJerome Forissier[#1574]: https://github.com/OP-TEE/optee_os/pull/1574 2255d8aaa04SJerome Forissier[#1559]: https://github.com/OP-TEE/optee_os/pull/1559 2265d8aaa04SJerome Forissier[#1551]: https://github.com/OP-TEE/optee_os/pull/1551 2275d8aaa04SJerome Forissier[#1550]: https://github.com/OP-TEE/optee_os/pull/1550 2285d8aaa04SJerome Forissier[#1519]: https://github.com/OP-TEE/optee_os/pull/1519 2295d8aaa04SJerome Forissier[#1502]: https://github.com/OP-TEE/optee_os/pull/1502 2305d8aaa04SJerome Forissier[#1365]: https://github.com/OP-TEE/optee_os/pull/1365 2315d8aaa04SJerome Forissier[#1552]: https://github.com/OP-TEE/optee_os/pull/1552 2325d8aaa04SJerome Forissier[#1513]: https://github.com/OP-TEE/optee_os/pull/1513 2335d8aaa04SJerome Forissier[#1508]: https://github.com/OP-TEE/optee_os/pull/1508 2345d8aaa04SJerome Forissier[#1493]: https://github.com/OP-TEE/optee_os/pull/1493 2355d8aaa04SJerome Forissier[#1497]: https://github.com/OP-TEE/optee_os/pull/1497 2365d8aaa04SJerome Forissier[#1492]: https://github.com/OP-TEE/optee_os/pull/1492 2375d8aaa04SJerome Forissier[#1490]: https://github.com/OP-TEE/optee_os/pull/1490 2385d8aaa04SJerome Forissier[#1465]: https://github.com/OP-TEE/optee_os/pull/1465 2395d8aaa04SJerome Forissier[#1459]: https://github.com/OP-TEE/optee_os/pull/1459 2405d8aaa04SJerome Forissier[#1440]: https://github.com/OP-TEE/optee_os/pull/1440 2415d8aaa04SJerome Forissier[OP-TEE-2016-0003]: https://www.op-tee.org/security-advisories/ 2425d8aaa04SJerome Forissier[OP-TEE-2016-0002]: https://www.op-tee.org/security-advisories/ 2435d8aaa04SJerome Forissier 244702609a7SJerome Forissier# OP-TEE - version 2.4.0 245702609a7SJerome Forissier 246702609a7SJerome Forissier[Link][github_commits_2_4_0] to a list of all commits between this release and 247702609a7SJerome Forissierthe previous one (2.3.0). 248702609a7SJerome Forissier 249702609a7SJerome ForissierPlease note: this release is API-compatible with the previous one, but the 250702609a7SJerome ForissierSecure Storage internal format for the REE and SQL FS is not compatible due to 251702609a7SJerome Forissiercommits [a238b74][commit_a238b74] ("core: REE FS: use the new hash tree 252702609a7SJerome Forissierinterface") and [44e900e][commit_44e900e] ("core: SQL FS: use the new hash tree 253702609a7SJerome Forissierinterface"). 254702609a7SJerome Forissier 255702609a7SJerome Forissier## New features 256702609a7SJerome Forissier 257702609a7SJerome Forissier* Add porting guidelines 258702609a7SJerome Forissier 259702609a7SJerome Forissier* Add support for Secure Data Path which allows Client and Trusted Applications 260702609a7SJerome Forissier to share references to secure memory 261702609a7SJerome Forissier 262702609a7SJerome Forissier* New supported platform: Texas Instruments AM57xx (`PLATFORM=ti-am57xx`) 263702609a7SJerome Forissier 264702609a7SJerome Forissier* ARMv7-A: add support for platform services in secure monitor and add these 265702609a7SJerome Forissier services for the DRA7xx platform 266702609a7SJerome Forissier 267702609a7SJerome Forissier* SPI framework and PL022 driver cleanup and improvements 268702609a7SJerome Forissier 269702609a7SJerome Forissier* Use CNTPCT (when available) to add entropy to the software PRNG 270702609a7SJerome Forissier 271702609a7SJerome Forissier* Add GlobalPlatform Socket API for UDP and TCP (IPv4 and IPv6) 272702609a7SJerome Forissier 273702609a7SJerome Forissier* DRA7: add TRNG driver, enable GICv2 driver 274702609a7SJerome Forissier 275702609a7SJerome Forissier* Support load address larger than 4G 276702609a7SJerome Forissier 277702609a7SJerome Forissier* libutee: preserve error code when calling TEE_Panic() for easier 278702609a7SJerome Forissier troubleshooting 279702609a7SJerome Forissier 280702609a7SJerome Forissier* Support TA profiling with gprof (-pg compiler switch) 281702609a7SJerome Forissier 282702609a7SJerome Forissier* Optimize the ELF loader for TAs when pager is enabled 283702609a7SJerome Forissier 284702609a7SJerome Forissier* Update documentation 285702609a7SJerome Forissier 286702609a7SJerome Forissier* Add paged secure shared memory that can be transferred between TAs as 287702609a7SJerome Forissier needed 288702609a7SJerome Forissier 289702609a7SJerome Forissier* Introduce MOBJ abstraction 290702609a7SJerome Forissier 291702609a7SJerome Forissier* i.MX6: add PSCI "on" function 292702609a7SJerome Forissier 293702609a7SJerome Forissier* arm32: introduce PSCI framework 294702609a7SJerome Forissier 295702609a7SJerome Forissier## Bug fixes 296702609a7SJerome Forissier 297702609a7SJerome Forissier* Secure storage: improve integrity checking of the REE and SQL filesystems by 298702609a7SJerome Forissier adding a hash tree on the internal data structures. Any external modification 299702609a7SJerome Forissier is detected, except full rollback. Fixes [#1188][issue1188]. 300702609a7SJerome Forissier 301702609a7SJerome Forissier* The linux driver will set the 'privileged' flag (TEE_GEN_CAP_PRIVILEGED) on 302702609a7SJerome Forissier the device intended for use by tee-supplicant. Fixes [#1199][issue1199]. 303702609a7SJerome Forissier 304702609a7SJerome Forissier* RPMB: don't try to program the RPMB key by default 305702609a7SJerome Forissier 306702609a7SJerome Forissier* Fix "make clean" error cases 307702609a7SJerome Forissier 308702609a7SJerome Forissier* Fix issue when resetting persistent storage enumerator [#1332][issue1332] 309702609a7SJerome Forissier 310702609a7SJerome Forissier* Fix TA panic when doing AES CTS with specific buffer sizes 311702609a7SJerome Forissier [#1203][issue1203]. 312702609a7SJerome Forissier 313702609a7SJerome Forissier## Known issues 314702609a7SJerome Forissier 315702609a7SJerome Forissier* On RPi3 xtest sometimes stall (rcu_sched self-detected stall on CPU) [#1353][issue1353] 316702609a7SJerome Forissier* For multi-core PSCI support is to be added for ls1021atwr in OP-TEE. 317702609a7SJerome Forissier* USB keyboard cannot be used to stop the u-boot timeout ([build issue131]). 318702609a7SJerome Forissier* Travis service (build.git) seems unstable from time to time. 319702609a7SJerome Forissier 320702609a7SJerome Forissier## Tested on 321702609a7SJerome Forissier 322702609a7SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with 323702609a7SJerome Forissierits default configuration, while _extended_ means it was run successfully 324702609a7SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite 325702609a7SJerome Forissierv1.1.0.4. 326702609a7SJerome Forissier 327702609a7SJerome ForissierIf a platform is not listed, it means the release was not tested on this 328702609a7SJerome Forissierplatform. 329702609a7SJerome Forissier 330702609a7SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically --> 331702609a7SJerome Forissier* d02: extended 332702609a7SJerome Forissier* hikey: extended 333702609a7SJerome Forissier* imx-mx6ulevk: standard 334702609a7SJerome Forissier* ls-ls1021atwr: standard (single core) 335702609a7SJerome Forissier* mediatek-mt8173: standard 336702609a7SJerome Forissier* rcar-h3: standard 337702609a7SJerome Forissier* rpi3: standard 338702609a7SJerome Forissier* stm-b2260: extended 339702609a7SJerome Forissier* ti-dra7xx: standard 340702609a7SJerome Forissier* vexpress-fvp: standard 341702609a7SJerome Forissier* vexpress-juno: standard 342702609a7SJerome Forissier* vexpress-qemu_armv8a: standard 343702609a7SJerome Forissier* vexpress-qemu_virt: standard 344702609a7SJerome Forissier* zynqmp-zc1751_dc1: standard 345702609a7SJerome Forissier* zynqmp-zc1751_dc2: standard 346702609a7SJerome Forissier* zynqmp-zcu102: standard 347702609a7SJerome Forissier 348702609a7SJerome Forissier[github_commits_2_4_0]: https://github.com/OP-TEE/optee_os/compare/2.3.0...2.4.0 349702609a7SJerome Forissier[issue1332]: https://github.com/OP-TEE/optee_os/issues/1332 350702609a7SJerome Forissier[issue1353]: https://github.com/OP-TEE/optee_os/issues/1353 351702609a7SJerome Forissier[build issue131]: https://github.com/OP-TEE/build/issues/131 352702609a7SJerome Forissier[commit_a238b74]: https://github.com/OP-TEE/optee_os/commit/a238b744b1b3 353702609a7SJerome Forissier[commit_44e900e]: https://github.com/OP-TEE/optee_os/commit/44e900eabfc1 354702609a7SJerome Forissier 35528fcee17SJerome Forissier# OP-TEE - version 2.3.0 35628fcee17SJerome Forissier 35728fcee17SJerome Forissier[Link][github_commits_2_3_0] to a list of all commits between this release and 35828fcee17SJerome Forissierthe previous one (2.2.0). 35928fcee17SJerome Forissier 36028fcee17SJerome ForissierPlease note: this release is API-compatible with the previous one, but the 36128fcee17SJerome ForissierSecure Storage internal format for the REE FS is not compatible due to commit 36228fcee17SJerome Forissier[361fb3e][commit_361fb3e] ("core: REE FS: use a single file per object"). 36328fcee17SJerome Forissier 36428fcee17SJerome Forissier[commit_361fb3e]: https://github.com/OP-TEE/optee_os/commit/361fb3e 36528fcee17SJerome Forissier 36628fcee17SJerome Forissier## New features 36728fcee17SJerome Forissier 36828fcee17SJerome Forissier* New supported platform: Xilinx Zynq 7000 ZC702 (`PLATFORM=zynq7k-zc702`) 36928fcee17SJerome Forissier 37028fcee17SJerome Forissier* Add debug assertions to spinlocks and mutexes 37128fcee17SJerome Forissier 37228fcee17SJerome Forissier* Add more CP15 register access macros for Cortex-A9 37328fcee17SJerome Forissier 37428fcee17SJerome Forissier* ARMv7-A: redesign secure monitor to make it easier to register services 37528fcee17SJerome Forissier 37628fcee17SJerome Forissier* ARMv7-A: cleanup boot arguments 37728fcee17SJerome Forissier 37828fcee17SJerome Forissier* libutee: extend `TEE_CheckMemoryAccessRights()` with 37928fcee17SJerome Forissier `TEE_MEMORY_ACCESS_SECURE` and `TEE_MEMORY_ACCESS_NONSECURE` 38028fcee17SJerome Forissier 38128fcee17SJerome Forissier* plat-hikey: enable SPI by default and add sample test code 38228fcee17SJerome Forissier 38328fcee17SJerome Forissier* Consider `CFLAGS_ta_arm64` and `CFLAGS_ta_arm32` when building TAs 38428fcee17SJerome Forissier 38528fcee17SJerome Forissier* Secure storage refactoring 38628fcee17SJerome Forissier - Simplify interface with tee-supplicant. Minimize round trips with normal 38728fcee17SJerome Forissier world, especially by adding a cache for FS RPC payload data. 38828fcee17SJerome Forissier - REE FS: use a single file per object, remove block cache. 38928fcee17SJerome Forissier 39028fcee17SJerome Forissier* Print call stack in panic() 39128fcee17SJerome Forissier 39228fcee17SJerome Forissier## Bug fixes 39328fcee17SJerome Forissier 39428fcee17SJerome Forissier* Fix UUID encoding when communicating with normal world (use big endian 39528fcee17SJerome Forissier mode instead of native endianness). Related to this, the string format 39628fcee17SJerome Forissier for UUIDs has changed in tee-supplicant, so that TA file names now follow 39728fcee17SJerome Forissier the format defined in RFC4122 (a missing hyphen was added). The old format 39828fcee17SJerome Forissier is still supported, but deprecated, and will likely be removed with the 39928fcee17SJerome Forissier next major release. 40028fcee17SJerome Forissier 40128fcee17SJerome Forissier* Drop write permission to non-writable ELF segments after TA loading is 40228fcee17SJerome Forissier complete. 40328fcee17SJerome Forissier 40428fcee17SJerome Forissier* mm: fix confusing memory mapping debug traces 40528fcee17SJerome Forissier 40628fcee17SJerome Forissier* plat-ti: fix issues with MMU mapping 40728fcee17SJerome Forissier 40828fcee17SJerome Forissier* crypto: fix clearing of big numbers 40928fcee17SJerome Forissier 41028fcee17SJerome Forissier* build: allow spaces and double quotes in CFG_ variables 41128fcee17SJerome Forissier 41228fcee17SJerome Forissier* mm: use paddr_t to support both 32- and 64-bit architectures properly. 41328fcee17SJerome Forissier Resolves 32-bit truncation error when pool is at top of 32 bit address 41428fcee17SJerome Forissier space on 64-bit architecture. 41528fcee17SJerome Forissier 41628fcee17SJerome Forissier* plat-stm: support pager. Fix pager on ARMv7-A SMP boards. 41728fcee17SJerome Forissier 41828fcee17SJerome Forissier* Fix debug output of Trusted Applications (remove "ERROR: TEE-CORE:" prefix) 41928fcee17SJerome Forissier 42028fcee17SJerome Forissier* Do not consider TA memref parameters as TA private memory 42128fcee17SJerome Forissier 42228fcee17SJerome Forissier* crypto: fix `cipher_final()` which would not call `cbc_done()` for CBC_MAC 42328fcee17SJerome Forissier algorithms 42428fcee17SJerome Forissier 42528fcee17SJerome Forissier* fix for 16-way PL310 42628fcee17SJerome Forissier 42728fcee17SJerome Forissier* arm32: fix call stack unwinding (`print_stack()`) 42828fcee17SJerome Forissier 42928fcee17SJerome Forissier* arm32: fix spinlock assembly code 43028fcee17SJerome Forissier 43128fcee17SJerome Forissier* plat-stm, plat-imx: fix SCR initalization 43228fcee17SJerome Forissier 43328fcee17SJerome Forissier* Fix user L1 MMU entries calculation (non-LPAE), allowing TTBCR.N values 43428fcee17SJerome Forissier other than 7. 43528fcee17SJerome Forissier 43628fcee17SJerome Forissier* mtk-mt8173: fix panic caused by incorrect size of SHMEM 43728fcee17SJerome Forissier 43828fcee17SJerome Forissier* plat-stm: fix RNG driver (non-flat mapping) 43928fcee17SJerome Forissier 44028fcee17SJerome Forissier## Known issues 44128fcee17SJerome Forissier 44228fcee17SJerome Forissier* New issues open on GitHub 44328fcee17SJerome Forissier * [#1203][issue1203] AES-CTS mode will fail when inlen=0x100, in_incr=0x80 44428fcee17SJerome Forissier * [#1199][issue1199] Both tee and teepriv reported GlobalPlatform compliant 44528fcee17SJerome Forissier * [#1188][issue1188] Secure storage (SQL FS and REE FS): blocks not tied to 44628fcee17SJerome Forissier current meta header 44728fcee17SJerome Forissier * [#1172][issue1172] paddr_t should be larger than 32 bits when 44828fcee17SJerome Forissier CFG_WITH_LPAE is enabled 44928fcee17SJerome Forissier 45028fcee17SJerome Forissier## Tested on 45128fcee17SJerome Forissier 45228fcee17SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with 45328fcee17SJerome Forissierits default configuration, while _extended_ means it was run successfully 45428fcee17SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite 45528fcee17SJerome Forissierv1.1.0.4. 45628fcee17SJerome Forissier 45728fcee17SJerome ForissierIf a platform is not listed, it means the release was not tested on this 45828fcee17SJerome Forissierplatform. 45928fcee17SJerome Forissier 46028fcee17SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically --> 46128fcee17SJerome Forissier* d02: extended 46228fcee17SJerome Forissier* hikey: extended 46328fcee17SJerome Forissier* imx-mx6ulevk: standard 46428fcee17SJerome Forissier* ls-ls1021atwr: standard 46528fcee17SJerome Forissier* mediatek-mt8173: standard 46628fcee17SJerome Forissier* rcar-h3: standard 46728fcee17SJerome Forissier* rpi3: standard 46828fcee17SJerome Forissier* stm-b2260: extended 46928fcee17SJerome Forissier* stm-cannes: extended 47028fcee17SJerome Forissier* ti-dra7xx: standard 47128fcee17SJerome Forissier* vexpress-fvp: standard 47228fcee17SJerome Forissier* vexpress-juno: standard 47328fcee17SJerome Forissier* vexpress-qemu_armv8a: standard 47428fcee17SJerome Forissier* vexpress-qemu_virt: extended 47528fcee17SJerome Forissier* zynqmp-zcu102: standard 47628fcee17SJerome Forissier 47728fcee17SJerome Forissier[github_commits_2_3_0]: https://github.com/OP-TEE/optee_os/compare/2.2.0...2.3.0 47828fcee17SJerome Forissier[issue1172]: https://github.com/OP-TEE/optee_os/issues/1172 47928fcee17SJerome Forissier[issue1188]: https://github.com/OP-TEE/optee_os/issues/1188 48028fcee17SJerome Forissier[issue1199]: https://github.com/OP-TEE/optee_os/issues/1199 48128fcee17SJerome Forissier[issue1203]: https://github.com/OP-TEE/optee_os/issues/1203 48228fcee17SJerome Forissier 483c0c5d399SJerome Forissier# OP-TEE - version 2.2.0 484c0c5d399SJerome Forissier 485c0c5d399SJerome Forissier[Link][github_commits_2_2_0] to a list of all commits between this release and 486c0c5d399SJerome Forissierthe previous one (2.1.0). 487c0c5d399SJerome Forissier 488c0c5d399SJerome ForissierPlease note: this release is API-compatible with the previous one, but the 489c0c5d399SJerome ForissierSecure Storage internal format is not compatible due to commit 490c0c5d399SJerome Forissier[fde4a75][commit_fde4a75] ("storage: encrypt the FEK with a TA-specific key"). 491c0c5d399SJerome Forissier 492c0c5d399SJerome Forissier[commit_fde4a75]: https://github.com/OP-TEE/optee_os/commit/fde4a75 493c0c5d399SJerome Forissier 494c0c5d399SJerome Forissier## New features 495c0c5d399SJerome Forissier 496c0c5d399SJerome Forissier* New supported platforms: 497c0c5d399SJerome Forissier * Freescale i.MX6 Quad SABRE Lite & SD 498c0c5d399SJerome Forissier * HiSilicon D02 499c0c5d399SJerome Forissier * Raspberry Pi3 500c0c5d399SJerome Forissier * Renesas RCAR H3 501c0c5d399SJerome Forissier * STMicroelectronics b2260 - h410 502c0c5d399SJerome Forissier 503c0c5d399SJerome Forissier* Pager: Support paging of read/write pages by encrypting them with AES-GCM. 504c0c5d399SJerome Forissier Support paging of user TAs. Add global setting for TZSRAM size 505c0c5d399SJerome Forissier (CFG_CORE_TZSRAM_EMUL_SIZE), defaults to 300K. 506c0c5d399SJerome Forissier 507c0c5d399SJerome Forissier* Support for more than 8 CPU cores 508c0c5d399SJerome Forissier 509c0c5d399SJerome Forissier* Added SPI framework and PL022 driver 510c0c5d399SJerome Forissier 511c0c5d399SJerome Forissier* GPIO: framework supports multiple instances, PL061 driver now has get/set 512c0c5d399SJerome Forissier interrupt and mode control functions 513c0c5d399SJerome Forissier 514c0c5d399SJerome Forissier* Secure storage: Encrypt the File Encryption Key with a TA-specific key for 515c0c5d399SJerome Forissier better TA isolation. Add build-time and run-time support for multiple storage 516c0c5d399SJerome Forissier backends. Add SQLite backend. 517c0c5d399SJerome Forissier 518c0c5d399SJerome Forissier* Trusted User Interface: some code is introduced to support the implementation 519c0c5d399SJerome Forissier of TUI. This includes: a generic framebuffer driver, display and serial 520c0c5d399SJerome Forissier abstractions, and drivers for PL111 (LCD) / PL050 (KMI) / TZC400 and PS2 521c0c5d399SJerome Forissier mouse. 522c0c5d399SJerome Forissier 523c0c5d399SJerome Forissier* AES acceleration using ARMv8-A Cryptographic Extensions instructions is 524c0c5d399SJerome Forissier now supported in AArch32 mode 525c0c5d399SJerome Forissier 526c0c5d399SJerome Forissier* Add support for GCC flags: -fsanitize=undefined and -fsanitize=kernel-address 527c0c5d399SJerome Forissier 528c0c5d399SJerome Forissier* Use a global setting for core heap size (CFG_CORE_HEAP_SIZE), 64K by default. 529c0c5d399SJerome Forissier 530c0c5d399SJerome Forissier* Add macros to unwind and print the call stack of TEE core 531c0c5d399SJerome Forissier 532c0c5d399SJerome Forissier* Libtomcrypt: sync with the latest `develop` branch. 533c0c5d399SJerome Forissier 534c0c5d399SJerome Forissier* The Trusted Application SDK (ta_dev_kit.mk) can produce libraries (.a) 535c0c5d399SJerome Forissier 536c0c5d399SJerome Forissier* Rework assertions and TEE core panics and properly honor NDEBUG 537c0c5d399SJerome Forissier 538c0c5d399SJerome Forissier## Bug fixes 539c0c5d399SJerome Forissier 540c0c5d399SJerome Forissier* Fix incorrect algorithm passed to cipher.final() 541c0c5d399SJerome Forissier 542c0c5d399SJerome Forissier* scripts: support Python 2.x and 3.x 543c0c5d399SJerome Forissier 544c0c5d399SJerome Forissier* Secure storage: Add proper locking to support concurrent access. Fix sign 545c0c5d399SJerome Forissier extension bug with offset parameter of syscall storage_obj_seek which could 546c0c5d399SJerome Forissier cause errors in Aarch32 mode. Fix reading beyond end of file. 547c0c5d399SJerome Forissier 548c0c5d399SJerome Forissier* Aarch64: mask all maskable exceptions before doing a normal return from call. 549c0c5d399SJerome Forissier 550c0c5d399SJerome Forissier* Device Tree: add no-map property to OP-TEE node in reserved-memory. 551c0c5d399SJerome Forissier 552c0c5d399SJerome Forissier* LibTomcrypt: fix CVE-2016-6129 553c0c5d399SJerome Forissier 554c0c5d399SJerome Forissier## Known issues 555c0c5d399SJerome Forissier 556c0c5d399SJerome Forissier* New issues open on GitHub 557c0c5d399SJerome Forissier * [#1093][issue1093] rcar-h3: xtest 6010 hangs 558c0c5d399SJerome Forissier * [#1092][issue1092] rcar-h3: xtest 4010 fails 559c0c5d399SJerome Forissier * [#1081][issue1081] Bad mapping of TA secure memref parameters 560c0c5d399SJerome Forissier * [#1071][issue1071] __data_end may not correctly represent text start position when using CFG_WITH_PAGER 561c0c5d399SJerome Forissier * [#1069][issue1069] armv7/Aarch32: crash in stack unwind (DPRINT_STACK()) 562c0c5d399SJerome Forissier 563c0c5d399SJerome Forissier## Tested on 564c0c5d399SJerome Forissier 565c0c5d399SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with 566c0c5d399SJerome Forissierits default configuration, while _extended_ means it was run successfully 567c0c5d399SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite 568c0c5d399SJerome Forissierv1.1.0.4. 569c0c5d399SJerome Forissier 570c0c5d399SJerome ForissierIf a platform is not listed, it means the release was not tested on this 571c0c5d399SJerome Forissierplatform. 572c0c5d399SJerome Forissier 573c0c5d399SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically --> 574c0c5d399SJerome Forissier* d02: extended 575c0c5d399SJerome Forissier* hikey: extended 576c0c5d399SJerome Forissier* imx-mx6qsabrelite: standard 577c0c5d399SJerome Forissier* imx-mx6qsabresd: standard 578c0c5d399SJerome Forissier* rcar-h3: standard, pass except issues [#1092][issue1092] and [#1093][issue1093] 579c0c5d399SJerome Forissier* rpi3: standard 580c0c5d399SJerome Forissier* stm-b2260: standard 581c0c5d399SJerome Forissier* stm-cannes: standard 582c0c5d399SJerome Forissier* ti-dra7xx: standard 583c0c5d399SJerome Forissier* vexpress-fvp: standard 584c0c5d399SJerome Forissier* vexpress-juno: standard 585c0c5d399SJerome Forissier* vexpress-qemu_armv8a: standard 586c0c5d399SJerome Forissier* vexpress-qemu_virt: extended 587c0c5d399SJerome Forissier* zynqmp-zcu102: standard 588c0c5d399SJerome Forissier 589c0c5d399SJerome Forissier[github_commits_2_2_0]: https://github.com/OP-TEE/optee_os/compare/2.1.0...2.2.0 590c0c5d399SJerome Forissier[issue1081]: https://github.com/OP-TEE/optee_os/issues/1081 591c0c5d399SJerome Forissier[issue1071]: https://github.com/OP-TEE/optee_os/issues/1071 592c0c5d399SJerome Forissier[issue1069]: https://github.com/OP-TEE/optee_os/issues/1069 593c0c5d399SJerome Forissier[issue1092]: https://github.com/OP-TEE/optee_os/issues/1092 594c0c5d399SJerome Forissier[issue1093]: https://github.com/OP-TEE/optee_os/issues/1093 595c0c5d399SJerome Forissier 596ac3cc110SPascal Brand# OP-TEE - version 2.1.0 597a0cd5d60SPascal Brand 598ac3cc110SPascal Brand## New features 599ac3cc110SPascal Brand 600ac3cc110SPascal Brand* New supported platforms: 601ac3cc110SPascal Brand * Xilinx Zynq UltraScale+ MPSOC 602ac3cc110SPascal Brand * Spreadtrum SC9860 603ac3cc110SPascal Brand 604ac3cc110SPascal Brand* GCC5 support 605ac3cc110SPascal Brand 606ac3cc110SPascal Brand* Non Linear Mapping support: In OP-TEE kernel mode, the physical to virtual 607ac3cc110SPascal Brand addresses was linear until this release, meaning the virtual addresses 608ac3cc110SPascal Brand were equal to the physical addresses. This is no more the case in this 609ac3cc110SPascal Brand release. 610ac3cc110SPascal Brand 611ac3cc110SPascal Brand* Font rendering routines have been introduced in order to ease an 612ac3cc110SPascal Brand implementation of Trusted UI. 613ac3cc110SPascal Brand 614ac3cc110SPascal Brand* File Storage: Possibility to use the normal world filesystem and the RPMB 615ac3cc110SPascal Brand implementations simultaneously. 616ac3cc110SPascal Brand 617ac3cc110SPascal Brand* AOSP: There is a [local manifest][aosp_local_manifest] to build OP-TEE into an AOSP build, running on HiKey. 618ac3cc110SPascal Brand Please refer to the README in that repo for instructions. 619ac3cc110SPascal Brand 620ac3cc110SPascal Brand* OpenEmbedded: In addition to the makefile-based build described in the optee_os README, there is an 621ac3cc110SPascal Brand [OpenEmbedded-based build][oe_build] that supports Qemu (32-bit), FVP (64-bit), and HiKey (64-bit). 622ac3cc110SPascal Brand Please refer to the README in that repo for instructions. 623ac3cc110SPascal Brand 624ac3cc110SPascal Brand* [Link][github_commits_2_1_0] to a list of all commits between this and 625ac3cc110SPascal Brand previous release. 626ac3cc110SPascal Brand 627ac3cc110SPascal Brand 628ac3cc110SPascal Brand## Tested on 629ac3cc110SPascal BrandDefinitions: 630ac3cc110SPascal Brand 631ac3cc110SPascal Brand| Type | Meaning | 632ac3cc110SPascal Brand| ---- | ------- | 633ac3cc110SPascal Brand| Standard tests | The [optee_test][optee_test] project. | 634ac3cc110SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 635ac3cc110SPascal Brand 636ac3cc110SPascal Brand* ARM Juno Board (vexpress-juno), standard. 637ac3cc110SPascal Brand* Foundation Models (vexpress-fvp), standard tests + extended tests, 638ac3cc110SPascal Brand using FVP ARM V8 Foundation Platformr0p0 (platform build 10.0.37) 639ac3cc110SPascal Brand* FSL i.MX6 UltraLite EVK (imx), standard. 640ac3cc110SPascal Brand* FSL ls1021a (ls-ls1021atwr), standard tests. 641ac3cc110SPascal Brand* HiKey (hikey), standard + extended tests. 642ac3cc110SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 643ac3cc110SPascal Brand* Xilinx Zynq UltraScale+ MPSOC, standard tests 644ac3cc110SPascal Brand 645ac3cc110SPascal BrandNote that the following platform has not been tested: 646ac3cc110SPascal Brand* MTK8173-EVB (mediatek-mt8173) 647ac3cc110SPascal Brand 648ac3cc110SPascal Brand 649ac3cc110SPascal Brand## Known issues 650ac3cc110SPascal Brand* Issue(s) open on GitHub 651ac3cc110SPascal Brand * [#868][pr868]: python-wand font generation sometimes times out 652ac3cc110SPascal Brand * [#863][pr863]: "double free or corruption" error when building optee_os 653ac3cc110SPascal Brand * [#858][pr858]: UUIDs in binary format have wrong endinanness 654ac3cc110SPascal Brand * [#857][pr857]: Formatting of UUIDs is incorrect 655ac3cc110SPascal Brand * [#847][pr847]: optee_os panic(TEE-CORE: Assertion) 656ac3cc110SPascal Brand * [#838][pr838]: TUI font rendering is _very_ slow 657ac3cc110SPascal Brand * [#814][pr814]: Persistent objects : save informations after close 658ac3cc110SPascal Brand * [#665][pr665]: xtest 1013 stalled on HiKey when log levels are 4 and optee_os is on its own UART 659ac3cc110SPascal Brand * [#506][pr506]: tee-supplicant panic & ta panic 660ac3cc110SPascal Brand 661ac3cc110SPascal Brand[github_commits_2_1_0]: https://github.com/OP-TEE/optee_os/compare/2.0.0...2.1.0 662ac3cc110SPascal Brand[pr868]: https://github.com/OP-TEE/optee_os/issues/868 663ac3cc110SPascal Brand[pr863]: https://github.com/OP-TEE/optee_os/issues/863 664ac3cc110SPascal Brand[pr858]: https://github.com/OP-TEE/optee_os/issues/858 665ac3cc110SPascal Brand[pr857]: https://github.com/OP-TEE/optee_os/issues/857 666ac3cc110SPascal Brand[pr847]: https://github.com/OP-TEE/optee_os/issues/847 667ac3cc110SPascal Brand[pr838]: https://github.com/OP-TEE/optee_os/issues/838 668ac3cc110SPascal Brand[pr814]: https://github.com/OP-TEE/optee_os/issues/814 669ac3cc110SPascal Brand[pr665]: https://github.com/OP-TEE/optee_os/issues/665 670ac3cc110SPascal Brand[aosp_local_manifest]: https://github.com/linaro-swg/optee_android_manifest 671ac3cc110SPascal Brand[oe_build]: https://github.com/linaro-swg/oe-optee 672ac3cc110SPascal Brand 673ac3cc110SPascal Brand# OP-TEE - version 2.0.0 674a0cd5d60SPascal Brand 675a0cd5d60SPascal Brand## New features 676a0cd5d60SPascal Brand 677a0cd5d60SPascal Brand* Generic driver: A new generic TEE driver is in the process of being 678a0cd5d60SPascal Brand [upstreamed][gendrv_v9]. 679a0cd5d60SPascal Brand In this release, [OP-TEE/optee_linuxdriver][optee_linuxdriver] is no more used. 680a0cd5d60SPascal Brand Instead, linux v4.5 is being patched using the proposed Generic TEE Driver, 681a0cd5d60SPascal Brand as it can be found in [https://github.com/linaro-swg/linux/tree/optee][linux_optee] 682a0cd5d60SPascal Brand 683a0cd5d60SPascal Brand* RPMB support: Secure Storage can now use Replay Protected Memory Block (RPMB) partition 684a0cd5d60SPascal Brand of an eMMC device. Check the [full documentation][rpmb_doc] 685a0cd5d60SPascal Brand 686a0cd5d60SPascal Brand* Hard-float ABI is now available. 687a0cd5d60SPascal Brand 688a0cd5d60SPascal Brand* [Link][github_commits_2_0_0] to a list of all commits between this and 689a0cd5d60SPascal Brand previous release. 690a0cd5d60SPascal Brand 691a0cd5d60SPascal Brand 692a0cd5d60SPascal Brand## Tested on 693a0cd5d60SPascal BrandDefinitions: 694a0cd5d60SPascal Brand 695a0cd5d60SPascal Brand| Type | Meaning | 696a0cd5d60SPascal Brand| ---- | ------- | 697a0cd5d60SPascal Brand| Standard tests | The [optee_test][optee_test] project. | 698a0cd5d60SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 699a0cd5d60SPascal Brand 700a0cd5d60SPascal Brand* ARM Juno Board (vexpress-juno), standard. 701a0cd5d60SPascal Brand* Foundation Models (vexpress-fvp), standard tests + extended tests, 702a0cd5d60SPascal Brand using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40) 703eb00c7b9SPascal Brand* FSL ls1021a (ls-ls1021atwr), standard. 704a0cd5d60SPascal Brand* HiKey (hikey), standard. 705a0cd5d60SPascal Brand* MTK8173-EVB (mediatek-mt8173), standard. 706a0cd5d60SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 707a0cd5d60SPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 708a0cd5d60SPascal Brand 709a0cd5d60SPascal Brand## Known issues 710a0cd5d60SPascal Brand* Issue(s) open on GitHub 711a0cd5d60SPascal Brand * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant 712a0cd5d60SPascal Brand * [#506][pr506]: tee-supplicant panic & ta panic 713a0cd5d60SPascal Brand 714a0cd5d60SPascal Brand[github_commits_2_0_0]: https://github.com/OP-TEE/optee_os/compare/1.1.0...2.0.0 715a0cd5d60SPascal Brand[rpmb_doc]: https://github.com/OP-TEE/optee_os/blob/master/documentation/secure_storage_rpmb.md 716a0cd5d60SPascal Brand[optee_linuxdriver]: https://github.com/OP-TEE/optee_linuxdriver 717a0cd5d60SPascal Brand[gendrv_v9]: https://lkml.org/lkml/2016/4/1/205 718a0cd5d60SPascal Brand[linux_optee]: https://github.com/linaro-swg/linux/tree/optee 719a0cd5d60SPascal Brand 720a0cd5d60SPascal Brand 721c5bbfb4dSPascal Brand# OP-TEE - version 1.1.0 722c5bbfb4dSPascal Brand 723c5bbfb4dSPascal Brand 724c5bbfb4dSPascal Brand## New features 725c5bbfb4dSPascal Brand 726c5bbfb4dSPascal Brand* Softfloat library: floating point support is now available in 32bits TA. 727c5bbfb4dSPascal Brand 728c5bbfb4dSPascal Brand* Support running 64-bits TA: on ARMv8-A platform, TA can be compiled in 729c5bbfb4dSPascal Brand AArch32 and/or in AArch64 in case the core is compiled in AArch64. 730c5bbfb4dSPascal Brand An example can be found in HiKey configuration file. Using the following 731c5bbfb4dSPascal Brand excerpt code, the user TA libraries are compiled in both AArch32 and 732c5bbfb4dSPascal Brand AArch64, and can be found in `out/arm-plat-hikey/export-ta_arm32` and 733c5bbfb4dSPascal Brand `out/arm-plat-hikey/export-ta_arm64` 734c5bbfb4dSPascal Brand 735c5bbfb4dSPascal Brand``` 736c5bbfb4dSPascal Brand ta-targets = ta_arm32 737c5bbfb4dSPascal Brand ta-targets += ta_arm64 738c5bbfb4dSPascal Brand``` 739c5bbfb4dSPascal Brand 740c5bbfb4dSPascal Brand* Concurrent TA support: multiple TA can run in parallel on 741c5bbfb4dSPascal Brand several cores. 742c5bbfb4dSPascal Brand 743c5bbfb4dSPascal Brand* New tests added in xtest test suite: concurrent TA (xtest 1013), 744c5bbfb4dSPascal Brand floating point tests (xtest 1006 and os_test TA) and corruption 745c5bbfb4dSPascal Brand file storage (xtest 20000) 746c5bbfb4dSPascal Brand 747c5bbfb4dSPascal Brand* [Link][github_commits_1_1_0] to a list of all commits between this and 748c5bbfb4dSPascal Brand previous release. 749c5bbfb4dSPascal Brand 750c5bbfb4dSPascal Brand 751c5bbfb4dSPascal Brand## Tested on 752c5bbfb4dSPascal BrandDefinitions: 753c5bbfb4dSPascal Brand 754c5bbfb4dSPascal Brand| Type | Meaning | 755c5bbfb4dSPascal Brand| ---- | ------- | 756c5bbfb4dSPascal Brand| Standard tests | The [optee_test][optee_test] project. | 757c5bbfb4dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 758c5bbfb4dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 759c5bbfb4dSPascal Brand 760c5bbfb4dSPascal Brand* Foundation Models (vexpress-fvp), standard tests + extended tests, 761c5bbfb4dSPascal Brand using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40) 762c5bbfb4dSPascal Brand* HiKey (hikey), standard + extended tests. 763c5bbfb4dSPascal Brand* MT8173 (mediatek), standard tests. 764c5bbfb4dSPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 765c5bbfb4dSPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 766c5bbfb4dSPascal Brand 767c5bbfb4dSPascal Brand## Known issues 768c5bbfb4dSPascal Brand* Secure Storage is implemented, but note that anti-rollback protection 769c5bbfb4dSPascal Brand is not implemented yet. 770c5bbfb4dSPascal Brand 771c5bbfb4dSPascal Brand* Issue(s) open on GitHub 772c5bbfb4dSPascal Brand * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant 773c5bbfb4dSPascal Brand * [#296][pr296]: Connecting RPMB to the storage APIs. 774c5bbfb4dSPascal Brand * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries 775c5bbfb4dSPascal Brand * [#506][pr506]: tee-supplicant panic & ta panic 776c5bbfb4dSPascal Brand 777c5bbfb4dSPascal Brand[prld40]: https://github.com/OP-TEE/optee_linuxdriver/issues/40 778c5bbfb4dSPascal Brand[pr506]: https://github.com/OP-TEE/optee_os/issues/506 779c5bbfb4dSPascal Brand[github_commits_1_1_0]: https://github.com/OP-TEE/optee_os/compare/1.0.1...1.1.0 780c5bbfb4dSPascal Brand 781c5bbfb4dSPascal Brand 782c5bbfb4dSPascal Brand 7838a7ee79dSPascal Brand# OP-TEE - version 1.0.0 7848a7ee79dSPascal Brand 7858a7ee79dSPascal BrandOP-TEE is now maintained by Linaro. Contributors do not need to 7868a7ee79dSPascal Brandsign a CLA anymore, but must follow the rules of the [DCO][DCO] 7878a7ee79dSPascal Brand(Developer Certificate of Origin) instead. 7888a7ee79dSPascal Brand 7898a7ee79dSPascal Brand 7908a7ee79dSPascal Brand## New features 7918a7ee79dSPascal Brand 7928a7ee79dSPascal Brand* Add hardware support for Texas Instruments DRA7xx, ARMv7 (plat-ti) 7938a7ee79dSPascal Brand 7948a7ee79dSPascal Brand* GlobalPlatform™ TEE Internal Core API Specification v1.1, 7958a7ee79dSPascal Brand including ECC algorithms. 7968a7ee79dSPascal Brand 7978a7ee79dSPascal Brand* Secure Storage: Files stored by the REE are now encrypted. Operations 7988a7ee79dSPascal Brand are made atomic in order to prevent inconsistencies in case of errors 7998a7ee79dSPascal Brand during the storage operations. [Slides][LCStorage] describing the 8008a7ee79dSPascal Brand Secure Storage have been presented at the Linaro Connect SFO15. 8018a7ee79dSPascal Brand 8028a7ee79dSPascal Brand* Change of format of the Trusted Applications: they follow a 8038a7ee79dSPascal Brand [signed ELF format][elf] 8048a7ee79dSPascal Brand 8058a7ee79dSPascal Brand* Rework thread [synchronization][synchro] in optee_os. 8068a7ee79dSPascal Brand 8078a7ee79dSPascal Brand* Use of ARMv8 native cryptographic support. 8088a7ee79dSPascal Brand 8098a7ee79dSPascal Brand* [OP-TEE/optee_test][optee_test] test suite is released. 8108a7ee79dSPascal Brand 8118a7ee79dSPascal Brand* Introduce [OP-TEE/manifest][manifest] and [OP-TEE/build][build] 8128a7ee79dSPascal Brand to setup and build QEMU, FVP, HiKey and Mediatek platforms. Setup scripts 8138a7ee79dSPascal Brand that used to be in optee_os have been removed, except for Juno board. 8148a7ee79dSPascal Brand 81595422146SPascal Brand* [Link][github_commits_1_0_0] to a list of all commits between this and 81695422146SPascal Brand previous release. 81795422146SPascal Brand 8188a7ee79dSPascal Brand 8198a7ee79dSPascal Brand## Tested on 8208a7ee79dSPascal BrandDefinitions: 8218a7ee79dSPascal Brand 8228a7ee79dSPascal Brand| Type | Meaning | 8238a7ee79dSPascal Brand| ---- | ------- | 8248a7ee79dSPascal Brand| Standard tests | The [optee_test][optee_test] project. | 8258a7ee79dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 8268a7ee79dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 8278a7ee79dSPascal Brand 8288a7ee79dSPascal Brand* ARM Juno Board (vexpress-juno), standard + extended tests. 8298a7ee79dSPascal Brand* Foundation Models (vexpress-fvp), standard tests. 8308a7ee79dSPascal Brand* HiKey (hikey), standard + extended tests. 8318a7ee79dSPascal Brand* MT8173 (mediatek), standard tests. 8328a7ee79dSPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 8338a7ee79dSPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 8348a7ee79dSPascal Brand 83595422146SPascal Brand## Known issues 83695422146SPascal Brand* Secure Storage is implemented, but note that anti-rollback protection 83795422146SPascal Brand is not implemented yet. 83895422146SPascal Brand 83995422146SPascal Brand* Issue(s) open on GitHub 84095422146SPascal Brand * [#210][pr210]: libteec.so 32-bit does not communicate well 84195422146SPascal Brand with 64-bit kernel module 84295422146SPascal Brand * [#296][pr296]: Connecting RPMB to the storage APIs. 84395422146SPascal Brand * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries 84495422146SPascal Brand * [#494][pr494]: HiKey: xtest 7671 fails (1.0.0-rc2) 84595422146SPascal Brand 84695422146SPascal Brand[pr210]: https://github.com/OP-TEE/optee_os/issues/210 84795422146SPascal Brand[pr296]: https://github.com/OP-TEE/optee_os/issues/296 84895422146SPascal Brand[pr493]: https://github.com/OP-TEE/optee_os/issues/493 84995422146SPascal Brand[pr494]: https://github.com/OP-TEE/optee_os/issues/494 85095422146SPascal Brand[github_commits_1_0_0]: https://github.com/OP-TEE/optee_os/compare/0.3.0...1.0.0 8518a7ee79dSPascal Brand[DCO]: https://github.com/OP-TEE/optee_os/blob/master/Notice.md#contributions 8528a7ee79dSPascal Brand[LCStorage]: http://www.slideshare.net/linaroorg/sfo15503-secure-storage-in-optee 8538a7ee79dSPascal Brand[synchro]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#4-thread-handling 8548a7ee79dSPascal Brand[elf]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#format 8558a7ee79dSPascal Brand[optee_test]: https://github.com/OP-TEE/optee_test 8568a7ee79dSPascal Brand[manifest]: https://github.com/OP-TEE/manifest 8578a7ee79dSPascal Brand[build]: https://github.com/OP-TEE/build 8588a7ee79dSPascal Brand 85995422146SPascal Brand 86095422146SPascal Brand 86111d59085SPascal Brand# OP-TEE - version 0.3.0 86211d59085SPascal Brand 86311d59085SPascal Brand## New features 86411d59085SPascal Brand 86511d59085SPascal Brand* Add hardware support for 86611d59085SPascal Brand * Mediatek MT8173 Board, ARMv8-A (plat-mediatek) 86711d59085SPascal Brand * Hisilicon HiKey Board, ARMv8-A (plat-hikey) 86811d59085SPascal Brand* AArch64 build of optee_os is now possible through the configuration `CFG_ARM64_core=y` 86911d59085SPascal Brand* Secure Storage: Data can be encrypted prior to their storage in the non-secure. 87011d59085SPascal Brand Build is configured using `CFG_ENC_FS=y` 87111d59085SPascal Brand* A generic boot scheme can be used. Boot configuration is commonalized. This helps 87211d59085SPascal Brand new board support. It is applied on plat-hikey, plat-vexpress, plat-mediatek, plat-stm 87311d59085SPascal Brand and plat-vexpress. 87411d59085SPascal Brand 87511d59085SPascal Brand## Tested on 87611d59085SPascal BrandDefinitions: 87711d59085SPascal Brand 87811d59085SPascal Brand| Type | Meaning | 87911d59085SPascal Brand| ---- | ------- | 88011d59085SPascal Brand| Standard tests | The optee_test project. | 88111d59085SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 88211d59085SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 88311d59085SPascal Brand 88411d59085SPascal Brand* ARM Juno Board (vexpress-juno), standard tests. 88511d59085SPascal Brand* Foundation Models (vexpress-fvp), standard tests. 88611d59085SPascal Brand* HiKey (hikey), standard tests. 88711d59085SPascal Brand* MT8173 (mediatek), standard tests. 88811d59085SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 88911d59085SPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 89011d59085SPascal Brand 89111d59085SPascal Brand------------------------------------------- 89211d59085SPascal Brand 893f5117af2SPascal Brand# OP-TEE - version 0.2.0 894759cc499SJoakim Bech 895f5117af2SPascal Brand## New features 896f5117af2SPascal Brand 897f5117af2SPascal Brand### Linux Driver Refactoring 898f5117af2SPascal Brand 899f5117af2SPascal BrandLinux Driver has been refactored. It is now split in two parts: 900f5117af2SPascal Brand* optee.ko, the generic Linux driver. It contains all functionality 901f5117af2SPascal Brand common to all backends. 902f5117af2SPascal Brand* optee_armtz.ko, a specific backend dedicated to the TrustZone optee. 903f5117af2SPascal Brand It depends on optee.ko. 904f5117af2SPascal Brand 905f5117af2SPascal BrandLoading the TrustZone optee linux driver module is now performed using 906f5117af2SPascal Brand 907f5117af2SPascal Brand modprobe optee_armtz 908f5117af2SPascal Brand 909f5117af2SPascal BrandThanks to the dependency between the generic and the backend modules, optee.ko is then automatically loaded. 910f5117af2SPascal Brand 911f5117af2SPascal Brand### Misc new features 912f5117af2SPascal Brand* support PL310 lock down at TEE boot 913f5117af2SPascal Brand* add 64bits support (division / print) 914f5117af2SPascal Brand 915f5117af2SPascal Brand## Tested on 916f5117af2SPascal BrandDefinitions: 917f5117af2SPascal Brand 918f5117af2SPascal Brand| Type | Meaning | 919f5117af2SPascal Brand| ---- | ------- | 920f5117af2SPascal Brand| Standard tests | The optee_test project. | 921f5117af2SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 922f5117af2SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 923f5117af2SPascal Brand 924f5117af2SPascal Brand* ARM Juno Board (vexpress-juno), standard tests + extended tests. 925f5117af2SPascal Brand 926f5117af2SPascal Brand* Foundation Models (vexpress-fvp), standard + extended tests. 927f5117af2SPascal Brand 928f5117af2SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 929f5117af2SPascal Brand 930f5117af2SPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 931f5117af2SPascal Brand 932f5117af2SPascal Brand 93328fcee17SJerome Forissier## Issues resolved since last release 934f5117af2SPascal Brand* Fix user TA trace issue, in order each TA is able to select its own trace level 935f5117af2SPascal Brand 936f5117af2SPascal Brand 937f5117af2SPascal Brand------------------------------------------- 938f5117af2SPascal Brand# OP-TEE - version 0.1.0 939f5117af2SPascal Brand 940f5117af2SPascal Brand## New features 941759cc499SJoakim BechBelow is a summary of the most important features added, but at the end you will 942759cc499SJoakim Bechfind a link that present you all commits between the current and previous 943759cc499SJoakim Bechrelease tag. 944759cc499SJoakim Bech 945759cc499SJoakim Bech* GlobalPlatform Client API v1.0 support. 946759cc499SJoakim Bech 947759cc499SJoakim Bech* GlobalPlatform Internal API v1.0 support. 948759cc499SJoakim Bech 949759cc499SJoakim Bech* GlobalPlatform Secure Elements v1.0 support. 950759cc499SJoakim Bech 951759cc499SJoakim Bech* Add hardware support for 952759cc499SJoakim Bech 953759cc499SJoakim Bech * Allwinner A80, ARMv7-A. 954759cc499SJoakim Bech 955759cc499SJoakim Bech * ARM Juno Board, ARMv8-A. 956759cc499SJoakim Bech 957759cc499SJoakim Bech * Foundation Models, ARMv8-A. 958759cc499SJoakim Bech 959759cc499SJoakim Bech * Fast Models, ARMv8-A. 960759cc499SJoakim Bech 961759cc499SJoakim Bech * QEMU, ARMv7-A. 962759cc499SJoakim Bech 963759cc499SJoakim Bech * STM Cannes, ARMv7-A. 964759cc499SJoakim Bech 965759cc499SJoakim Bech * STM Orly2, ARMv7-A. 966759cc499SJoakim Bech 967759cc499SJoakim Bech* Add LibTomCrypt as the default software cryptographic library. 968759cc499SJoakim Bech 969759cc499SJoakim Bech* Add cryptographic abstraction layer in on secure side to ease the use of 970759cc499SJoakim Bech other cryptographic software libraries or adding support for hardware 971759cc499SJoakim Bech acceleration. 972759cc499SJoakim Bech 973759cc499SJoakim Bech* Extended cryptographic API with support for HKDF, Concat KDF and PBKDF2. 974759cc499SJoakim Bech 975759cc499SJoakim Bech* SHA-1 and SHA-256 ARMv8-A crypto extension implementation. 976759cc499SJoakim Bech 977759cc499SJoakim Bech* Enabled paging support in OP-TEE OS. 978759cc499SJoakim Bech 979759cc499SJoakim Bech* Add support for xtest (both standard and extended) in QEMU and FVP setup 980759cc499SJoakim Bech scripts. 981759cc499SJoakim Bech 982759cc499SJoakim Bech* Add documentation for the OS design, cryptographic abstraction layer, secure 983759cc499SJoakim Bech elements design, the build system, GitHub usage, key derivation extensions, 984759cc499SJoakim Bech ARM-Trusted Firmware usage within OP-TEE and GlobalPlatform usage within 985759cc499SJoakim Bech OP-TEE. 986759cc499SJoakim Bech 987759cc499SJoakim Bech* Integrate support for Travis CI. 988759cc499SJoakim Bech 989759cc499SJoakim Bech* [Link][github_commits_0_1_0] to a list of all commits between this and 990759cc499SJoakim Bech previous release. 991759cc499SJoakim Bech 992759cc499SJoakim Bech 993f5117af2SPascal Brand## Tested on 994759cc499SJoakim BechDefinitions: 995759cc499SJoakim Bech 996759cc499SJoakim Bech| Type | Meaning | 997759cc499SJoakim Bech| ---- | ------- | 998759cc499SJoakim Bech| Standard tests | The optee_test project. | 999759cc499SJoakim Bech| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.0.0. | 1000759cc499SJoakim Bech| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 1001759cc499SJoakim Bech 1002759cc499SJoakim Bech* Allwinner A80 (plat-sunxi), hello world test. 1003759cc499SJoakim Bech 1004759cc499SJoakim Bech* ARM Juno Board (vexpress-juno), standard tests. 1005759cc499SJoakim Bech 1006759cc499SJoakim Bech* Foundation Models (plat-vexpress-fvp), standard + extended tests 1007759cc499SJoakim Bech 1008759cc499SJoakim Bech* QEMU (plat-vexpress-qemu), standard + extended tests (and Secure Elements 1009759cc499SJoakim Bech tested separately). 1010759cc499SJoakim Bech 1011759cc499SJoakim Bech* STM Cannes (plat-stm-cannes), standard + extended tests. 1012759cc499SJoakim Bech 1013759cc499SJoakim Bech 101428fcee17SJerome Forissier## Issues resolved since last release 1015759cc499SJoakim BechN/A since this is the first release tag on OP-TEE. 1016759cc499SJoakim Bech 1017759cc499SJoakim Bech 1018f5117af2SPascal Brand## Known issues 1019759cc499SJoakim Bech* Storage is implemented, but not "Secure storage", meaning that a client 1020759cc499SJoakim Bech needs to do encrypt files on their own before storing the files. 1021759cc499SJoakim Bech 1022759cc499SJoakim Bech* Issue(s) open on GitHub 1023759cc499SJoakim Bech * [#95][pr95]: An error about building the test code of libtomcrypt. 1024759cc499SJoakim Bech 1025759cc499SJoakim Bech * [#149][pr149]: when testing optee os with arm trusted firmware (I 1026759cc499SJoakim Bech utilized optee os tee.bin as bl32 image) on juno platform, I got an 1027759cc499SJoakim Bech error. 1028759cc499SJoakim Bech 1029759cc499SJoakim Bech * [#161][pr161]: tee_svc_cryp.c lacks accessibility checks on 1030759cc499SJoakim Bech user-supplied TEE_Attributes. 1031759cc499SJoakim Bech 1032759cc499SJoakim Bech[hello_world]: https://github.com/jenswi-linaro/lcu14_optee_hello_world 1033759cc499SJoakim Bech[github_commits_0_1_0]: https://github.com/OP-TEE/optee_os/compare/b01047730e77127c23a36591643eeb8bb0487d68...999e4a6c0f64d3177fd3d0db234107b6fb860884 1034759cc499SJoakim Bech[pr95]: https://github.com/OP-TEE/optee_os/issues/95 1035759cc499SJoakim Bech[pr149]: https://github.com/OP-TEE/optee_os/issues/149 1036759cc499SJoakim Bech[pr161]: https://github.com/OP-TEE/optee_os/issues/161 1037759cc499SJoakim Bech 10387583c59eSCedric Chaumont* Global Platform Device Internal Core API v1.1 10397583c59eSCedric Chaumont * [#230][pr230]: Persistent object corruption support (TEE_ERROR_CORRUPT_OBJECT/_2) 10407583c59eSCedric Chaumont * [#230][pr230]: Persistent object access support (TEE_ERROR_STORAGE_NOT_AVAILABLE/_2) 1041