Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/961285/?format=api
{ "id": 961285, "url": "http://patchwork.ozlabs.org/api/patches/961285/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20180823104334.16083-9-jens.wiklander@linaro.org/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api", "name": "U-Boot", "link_name": "uboot", "list_id": "u-boot.lists.denx.de", "list_email": "u-boot@lists.denx.de", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20180823104334.16083-9-jens.wiklander@linaro.org>", "list_archive_url": null, "date": "2018-08-23T10:43:27", "name": "[U-Boot,v2,08/15] Documentation: tee uclass and op-tee driver", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "2d9c70023c1094f16bc637fcf5bf3b48da50d062", "submitter": { "id": 66201, "url": "http://patchwork.ozlabs.org/api/people/66201/?format=api", "name": "Jens Wiklander", "email": "jens.wiklander@linaro.org" }, "delegate": { "id": 3651, "url": "http://patchwork.ozlabs.org/api/users/3651/?format=api", "username": "trini", "first_name": "Tom", "last_name": "Rini", "email": "trini@ti.com" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20180823104334.16083-9-jens.wiklander@linaro.org/mbox/", "series": [ { "id": 62144, "url": "http://patchwork.ozlabs.org/api/series/62144/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=62144", "date": "2018-08-23T10:43:19", "name": "AVB using OP-TEE", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/62144/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/961285/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/961285/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<u-boot-bounces@lists.denx.de>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)", "ozlabs.org;\n\tdmarc=fail (p=none dis=none) header.from=linaro.org", "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=linaro.org header.i=@linaro.org\n\theader.b=\"SO0yq9SR\"; dkim-atps=neutral" ], "Received": [ "from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 41x1Q02Swxz9s3C\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 23 Aug 2018 20:49:44 +1000 (AEST)", "by lists.denx.de (Postfix, from userid 105)\n\tid 04F32C21EFC; Thu, 23 Aug 2018 10:49:16 +0000 (UTC)", "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 49130C21F2A;\n\tThu, 23 Aug 2018 10:44:12 +0000 (UTC)", "by lists.denx.de (Postfix, from userid 105)\n\tid 98D6BC21EE4; Thu, 23 Aug 2018 10:43:57 +0000 (UTC)", "from mail-lj1-f181.google.com (mail-lj1-f181.google.com\n\t[209.85.208.181])\n\tby lists.denx.de (Postfix) with ESMTPS id 47598C21ED5\n\tfor <u-boot@lists.denx.de>; Thu, 23 Aug 2018 10:43:52 +0000 (UTC)", "by mail-lj1-f181.google.com with SMTP id u83-v6so3750502lje.12\n\tfor <u-boot@lists.denx.de>; Thu, 23 Aug 2018 03:43:52 -0700 (PDT)", "from jax.ideon.se ([85.235.10.227])\n\tby smtp.gmail.com with ESMTPSA id\n\ty5-v6sm679771ljj.75.2018.08.23.03.43.50\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tThu, 23 Aug 2018 03:43:50 -0700 (PDT)" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de", "X-Spam-Level": "", "X-Spam-Status": "No, score=0.0 required=5.0 tests=T_DKIM_INVALID\n\tautolearn=unavailable autolearn_force=no version=3.4.0", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=mOlAzX4rskDe688TGp+DOEy7nGfsRMcytWGRg/6ByEQ=;\n\tb=SO0yq9SR9ThssQKmINzwDf3is+33Nltsl8BSg1b7QNh89LKVT0aRHsFstMp13HED0I\n\t2pXGr1yROozIPAymS3VS0dtPEhQIludtfIDrZSLIkqKiDPLEe0BLef6x1ngApNbiaOXi\n\tAoShiPQRg2+/UeXGs5w2tdschNRmtQdSkeLwc=", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=mOlAzX4rskDe688TGp+DOEy7nGfsRMcytWGRg/6ByEQ=;\n\tb=pZDOpkktj/xAK+PlCH4fNUzPovmwKkFAtTaXLrErEt9+78WC9uKi8CKavrf4IrY/9s\n\tmt2NzYQQf5p0mtiAHyuTgDkc72Hq7598MR6Hn8U6DBcUD1DE9Glx+i4uXjKEKjw7UQpW\n\tPRzIDw4fPOESZhuIITcoxccm/6haRim61aeMe5+j6mYhhd/NPbybhkof8iGd8bZGu1Km\n\thl4O/7AyaqbPjQQFgq6myrM8pe3cMSrqAkNB6gEMJKbWmo9obrqE2z2zik8izKia8uOi\n\tHwnEgFmKTjiczWR8A6U8dSLHxn9M3NDAvWmkq0tFGQRvdzNYImWA3uYtZNhLBxBAfWnq\n\t6kLw==", "X-Gm-Message-State": "AOUpUlGnU2GM1UzrueU46Vz6ROAfK9iSIpw0crCt3oVjp7H393A6SrVy\n\tcxxE+DvyoFbiRcPrLfZ7AQbolNkvdYk=", "X-Google-Smtp-Source": "AA+uWPwYPBsMjPnZ4VWDPiyxLPPYhm6sVKw8ux6sApcypJqd0eOPJ7E5nvBmUdP7tQigKQwosIqUQw==", "X-Received": "by 2002:a2e:8:: with SMTP id 8-v6mr39636895lja.112.1535021031378;\n\tThu, 23 Aug 2018 03:43:51 -0700 (PDT)", "From": "Jens Wiklander <jens.wiklander@linaro.org>", "To": "u-boot@lists.denx.de", "Date": "Thu, 23 Aug 2018 12:43:27 +0200", "Message-Id": "<20180823104334.16083-9-jens.wiklander@linaro.org>", "X-Mailer": "git-send-email 2.17.1", "In-Reply-To": "<20180823104334.16083-1-jens.wiklander@linaro.org>", "References": "<20180823104334.16083-1-jens.wiklander@linaro.org>", "Cc": "Tom Rini <trini@konsulko.com>, Pierre Aubert <p.aubert@staubli.com>", "Subject": "[U-Boot] [PATCH v2 08/15] Documentation: tee uclass and op-tee\n\tdriver", "X-BeenThere": "u-boot@lists.denx.de", "X-Mailman-Version": "2.1.18", "Precedence": "list", "List-Id": "U-Boot discussion <u-boot.lists.denx.de>", "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>", "List-Archive": "<http://lists.denx.de/pipermail/u-boot/>", "List-Post": "<mailto:u-boot@lists.denx.de>", "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>", "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "Errors-To": "u-boot-bounces@lists.denx.de", "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>" }, "content": "Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>\n---\n doc/README.tee | 112 +++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 112 insertions(+)\n create mode 100644 doc/README.tee", "diff": "diff --git a/doc/README.tee b/doc/README.tee\nnew file mode 100644\nindex 000000000000..e9c9ef67877a\n--- /dev/null\n+++ b/doc/README.tee\n@@ -0,0 +1,112 @@\n+=============\n+TEE uclass\n+=============\n+\n+This document describes the TEE uclass in U-boot\n+\n+A TEE (Trusted Execution Environment) is a trusted OS running in some\n+secure environment, for example, TrustZone on ARM CPUs, or a separate\n+secure co-processor etc. A TEE driver handles the details needed to\n+communicate with the TEE.\n+\n+This uclass deals with:\n+\n+- Registration of TEE drivers\n+\n+- Managing shared memory between U-boot and the TEE\n+\n+- Providing a generic API to the TEE\n+\n+The TEE interface\n+=================\n+\n+include/tee.h defines the generic interface to a TEE.\n+\n+A client finds the TEE device via tee_find_device(). Other important functions\n+when interfacing with a TEE are:\n+\n+- tee_shm_alloc(), tee_shm_register() and tee_shm_free() to manage shared\n+ memory objects often needed when communicating with the TEE.\n+\n+- tee_get_version() lets the client know which the capabilities of the TEE\n+ device.\n+\n+- tee_open_session() opens a session to a Trusted Application\n+\n+- tee_invoke_func() invokes a function in a Trusted Application\n+\n+- tee_close_session() closes a session to a Trusted Application\n+\n+Much of the communication between clients and the TEE is opaque to the\n+driver. The main job for the driver is to receive requests from the\n+clients, forward them to the TEE and send back the results.\n+\n+OP-TEE driver\n+=============\n+\n+The OP-TEE driver handles OP-TEE [1] based TEEs. Currently it is only the ARM\n+TrustZone based OP-TEE solution that is supported.\n+\n+Lowest level of communication with OP-TEE builds on ARM SMC Calling\n+Convention (SMCCC) [2], which is the foundation for OP-TEE's SMC interface\n+[3] used internally by the driver. Stacked on top of that is OP-TEE Message\n+Protocol [4].\n+\n+OP-TEE SMC interface provides the basic functions required by SMCCC and some\n+additional functions specific for OP-TEE. The most interesting functions are:\n+\n+- OPTEE_SMC_FUNCID_CALLS_UID (part of SMCCC) returns the version information\n+ which is then returned by TEE_IOC_VERSION\n+\n+- OPTEE_SMC_CALL_GET_OS_UUID returns the particular OP-TEE implementation, used\n+ to tell, for instance, a TrustZone OP-TEE apart from an OP-TEE running on a\n+ separate secure co-processor.\n+\n+- OPTEE_SMC_CALL_WITH_ARG drives the OP-TEE message protocol\n+\n+- OPTEE_SMC_GET_SHM_CONFIG lets the driver and OP-TEE agree on which memory\n+ range to used for shared memory between Linux and OP-TEE.\n+\n+The GlobalPlatform TEE Client API [5] is implemented on top of the generic\n+TEE API.\n+\n+Picture of the relationship between the different components in the\n+OP-TEE architecture:\n+\n+ U-boot Secure world\n+ ~~~~~~ ~~~~~~~~~~~~\n+ +------------+ +-------------+\n+ | Client | | Trusted |\n+ | | | Application |\n+ +------------+ +-------------+\n+ /\\ /\\\n+ || ||\n+ \\/ \\/\n+ +------------+ +-------------+\n+ | TEE | | TEE Internal|\n+ | uclass | | API |\n+ +------------+ +-------------+\n+ | OP-TEE | | OP-TEE |\n+ | driver | | Trusted OS |\n+ +------------+-----------+-------------+\n+ | OP-TEE MSG |\n+ | SMCCC (OPTEE_SMC_CALL_*) |\n+ +--------------------------------------+\n+\n+RPC (Remote Procedure Call) are requests from secure world to the driver.\n+An RPC is identified by a special range of SMCCC return values from\n+OPTEE_SMC_CALL_WITH_ARG.\n+\n+References\n+==========\n+\n+[1] https://github.com/OP-TEE/optee_os\n+\n+[2] http://infocenter.arm.com/help/topic/com.arm.doc.den0028a/index.html\n+\n+[3] drivers/tee/optee/optee_smc.h\n+\n+[4] drivers/tee/optee/optee_msg.h\n+\n+[5] http://www.globalplatform.org/specificationsdevice.asp look for\n+ \"TEE Client API Specification v1.0\" and click download.\n", "prefixes": [ "U-Boot", "v2", "08/15" ] }