<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/u-boot/drivers/tee, branch master</title>
<subtitle>Broadcom-s U-Boot</subtitle>
<id>https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/'/>
<updated>2019-05-09T23:52:55Z</updated>
<entry>
<title>test/py: avb: fix test_avb_persistent_values fail</title>
<updated>2019-05-09T23:52:55Z</updated>
<author>
<name>Igor Opaniuk</name>
</author>
<published>2019-05-06T09:07:31Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=34501d6713d2ba9d6a8e8c7a1f2942cc16ef9043'/>
<id>urn:sha1:34501d6713d2ba9d6a8e8c7a1f2942cc16ef9043</id>
<content type='text'>
Fix test_avb_persistent_values() pytest, which was failing because of
wrong size value provided from tee sandbox driver.

Reported-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
Signed-off-by: Igor Opaniuk &lt;igor.opaniuk@gmail.com&gt;
</content>
</entry>
<entry>
<title>avb: add support for named persistent values</title>
<updated>2019-04-26T22:58:22Z</updated>
<author>
<name>Igor Opaniuk</name>
</author>
<published>2019-04-09T13:38:14Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=fc1fe01b08cedd77a194bb82fa81af4fe1e39031'/>
<id>urn:sha1:fc1fe01b08cedd77a194bb82fa81af4fe1e39031</id>
<content type='text'>
AVB 2.0 spec. revision 1.1 introduces support for named persistent values
that must be tamper evident and allows AVB to store arbitrary key-value
pairs [1].

Introduce implementation of two additional AVB operations
read_persistent_value()/write_persistent_value() for retrieving/storing
named persistent values.

Correspondent pull request in the OP-TEE OS project repo [2].

[1]: https://android.googlesource.com/platform/external/avb/+/android-9.0.0_r22
[2]: https://github.com/OP-TEE/optee_os/pull/2699

Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Sam Protsenko &lt;semen.protsenko@linaro.org&gt;
Signed-off-by: Igor Opaniuk &lt;igor.opaniuk@gmail.com&gt;
</content>
</entry>
<entry>
<title>tee: change return code for REE FS supplicant cmd</title>
<updated>2018-12-15T16:49:19Z</updated>
<author>
<name>Igor Opaniuk</name>
</author>
<published>2018-12-04T12:37:19Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=8b1312662b3b1748c3d5f8a30bc6f9ca72879c7a'/>
<id>urn:sha1:8b1312662b3b1748c3d5f8a30bc6f9ca72879c7a</id>
<content type='text'>
If OP-TEE core is compiled with support of REE FS and RPMB
at the same time (CFG_RPMB_FS ?= y; CFG_RPMB_FS ?= y), and persistent
storage API is used with TEE_STORAGE_PRIVATE storage id, it will
lead to TA panic.

E/TC:? 0 TA panicked with code 0xffff0009
.....
E/TC:? 0 Call stack:
E/TC:? 0  0x000000004002f2f8 TEE_OpenPersistentObject at
lib/libutee/tee_api_objects.c:422

In this particular case TEE_ERROR_STORAGE_NOT_AVAILABLE is more suitable
than TEE_ERROR_NOT_IMPLEMENTED, as it provides to a TA a possibility
to handle this error code [1].

&gt;From GPD TEE Internal Core specification [2]:
TEE_ERROR_STORAGE_NOT_AVAILABLE - if the persistent object is stored in a
storage area which is currently inaccessible. It may be associated with
the device but unplugged, busy, or inaccessible for some other reason.

[1]: https://github.com/OP-TEE/optee_os/blob/94db01ef448d1e552161c2d861d57a5f8bda0cc0/lib/libutee/tee_api_objects.c#L419
[2]: https://globalplatform.org/wp-content/uploads/2018/06/GPD_TEE_Internal_Core_API_Specification_v1.1.2.50_PublicReview.pdf

Signed-off-by: Igor Opaniuk &lt;igor.opaniuk@linaro.org&gt;
Reviewed-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</content>
</entry>
<entry>
<title>tee: add sandbox driver</title>
<updated>2018-10-07T15:04:01Z</updated>
<author>
<name>Jens Wiklander</name>
</author>
<published>2018-09-25T14:40:18Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=eadf26f1834666e6ad3ab8f17556d5939c88549e'/>
<id>urn:sha1:eadf26f1834666e6ad3ab8f17556d5939c88549e</id>
<content type='text'>
Adds a sandbox tee driver which emulates a generic TEE with the OP-TEE
AVB TA.

Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
[trini: Fix printf warnings in ta_avb_invoke_func, slots is uint]
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>tee: optee: support AVB trusted application</title>
<updated>2018-10-07T14:47:38Z</updated>
<author>
<name>Jens Wiklander</name>
</author>
<published>2018-09-25T14:40:15Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=1cc8cc4e675e32cde76487292c8bace5fa927eee'/>
<id>urn:sha1:1cc8cc4e675e32cde76487292c8bace5fa927eee</id>
<content type='text'>
Adds configuration option OPTEE_TA_AVB and a header file describing the
interface to the Android Verified Boot 2.0 (AVB) trusted application
provided by OP-TEE.

Tested-by: Igor Opaniuk &lt;igor.opaniuk@linaro.org&gt;
Reviewed-by: Igor Opaniuk &lt;igor.opaniuk@linaro.org&gt;
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>optee: support routing of rpmb data frames to mmc</title>
<updated>2018-10-07T14:47:38Z</updated>
<author>
<name>Jens Wiklander</name>
</author>
<published>2018-09-25T14:40:14Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=232cfd6d9152fd2a4e7113faec51db2a9ab8c6bd'/>
<id>urn:sha1:232cfd6d9152fd2a4e7113faec51db2a9ab8c6bd</id>
<content type='text'>
Adds support in optee supplicant to route signed (MACed) RPMB frames
from OP-TEE Secure OS to MMC and vice versa to manipulate the RPMB
partition.

Tested-by: Igor Opaniuk &lt;igor.opaniuk@linaro.org&gt;
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>tee: add OP-TEE driver</title>
<updated>2018-10-07T14:47:38Z</updated>
<author>
<name>Jens Wiklander</name>
</author>
<published>2018-09-25T14:40:11Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=d4bd3d25d8b032da8de9c79cbe103d47a3d160df'/>
<id>urn:sha1:d4bd3d25d8b032da8de9c79cbe103d47a3d160df</id>
<content type='text'>
Adds a OP-TEE driver.

* Targets ARM and ARM64
* Supports using any U-Boot memory as shared memory
* Probes OP-TEE version using SMCs
* Uses OPTEE message protocol version 2 to communicate with secure world

Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Tested-by: Igor Opaniuk &lt;igor.opaniuk@linaro.org&gt;
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</content>
</entry>
<entry>
<title>Add UCLASS_TEE for Trusted Execution Environment</title>
<updated>2018-10-07T14:47:38Z</updated>
<author>
<name>Jens Wiklander</name>
</author>
<published>2018-09-25T14:40:09Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=9ff4a31175deb892cf5ea2976c213fb6c6dda080'/>
<id>urn:sha1:9ff4a31175deb892cf5ea2976c213fb6c6dda080</id>
<content type='text'>
Adds a uclass to interface with a TEE (Trusted Execution Environment).

A TEE driver is a driver that interfaces with a trusted OS running in
some secure environment, for example, TrustZone on ARM cpus, or a
separate secure co-processor etc.

The TEE subsystem can serve a TEE driver for a Global Platform compliant
TEE, but it's not limited to only Global Platform TEEs.

The over all design is based on the TEE subsystem in the Linux kernel,
tailored for U-Boot.

Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Tested-by: Igor Opaniuk &lt;igor.opaniuk@linaro.org&gt;
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</content>
</entry>
</feed>
