commit | 9ac870c9bb8ed00492cb57eb2c6ee399bf24ef36 | [log] [tgz] |
---|---|---|
author | Jerome Forissier <jerome.forissier@linaro.org> | Fri Jan 06 09:33:29 2017 +0100 |
committer | Jerome Forissier <jerome.forissier@linaro.org> | Mon Jan 09 13:53:45 2017 +0100 |
tree | d063e732a124509d60192c9180c89ca86a85f424 | |
parent | 608bd28c3b5baa6fbd29ce89d4bee42945e34ccb [diff] |
Make sure "make clean" removes everything "make" has created under $(O) "make clean" would leave behind some files and many directories. Fix this by correctly tracking the files and directories created under $(O) during the build process: - Fix incorrect file names in $(cleanfiles) and add a few missing ones. - Introduce a makefile macro: $(cleandirs-for-rmdir), defined in a new file: mk/cleandirs.mk. It returns the list of directories that should be removed, given a list of files. The clean target removes the files, then all the directories in depth- first order. $(O) is also removed, if found to be empty. Note that a more straightforward approach was discussed in [1]: use "rm -rf $(O)/some_dir" and get rid of the whole file and directory tracking via $(cleanfiles) and $(cleandirs). Although it was agreed it would be safe, doing so would necessarily break the backward compatibility for build scripts relying on "make O=<some path>", due to the additional level ($(O)/some_dir). Finally, mk/cleandirs.mk is exported to the TA dev kit and the clean rule for the TAs is updated. [1] https://github.com/OP-TEE/optee_os/pull/1270 Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Andy Green <andy@warmcat.com>
The optee_os git
, contains the source code for the TEE in Linux using the ARMĀ® TrustZoneĀ® technology. This component meets the GlobalPlatform TEE System Architecture specification. It also provides the TEE Internal core API v1.1 as defined by the GlobalPlatform TEE Standard for the development of Trusted Applications. For a general overview of OP-TEE and to find out how to contribute, please see the Notice.md file.
The Trusted OS is accessible from the Rich OS (Linux) using the GlobalPlatform TEE Client API Specification v1.0, which also is used to trigger secure execution of applications within the TEE.
The software is distributed mostly under the BSD 2-Clause open source license, apart from some files in the optee_os/lib/libutils
directory which are distributed under the BSD 3-Clause or public domain licenses.
Several platforms are supported. In order to manage slight differences between platforms, a PLATFORM_FLAVOR
flag has been introduced. The PLATFORM
and PLATFORM_FLAVOR
flags define the whole configuration for a chip the where the Trusted OS runs. Note that there is also a composite form which makes it possible to append PLATFORM_FLAVOR
directly, by adding a dash in-between the names. The composite form is shown below for the different boards. For more specific details about build flags etc, please read the file build_system.md. Some platforms have different sub-maintainers, please refer to the file MAINTAINERS.md for contact details for various platforms.
Platform | Composite PLATFORM flag | Publicly available? |
---|---|---|
Allwinner A80 Board | PLATFORM=sunxi | No |
ARM Juno Board | PLATFORM=vexpress-juno | Yes |
FSL ls1021a | PLATFORM=ls-ls1021atwr | Yes |
FSL i.MX6 Quad SABRE Lite Board | PLATFORM=imx | Yes |
FSL i.MX6 Quad SABRE SD Board | PLATFORM=imx | Yes |
FSL i.MX6 UltraLite EVK Board | PLATFORM=imx | Yes |
ARM Foundation FVP | PLATFORM=vexpress-fvp | Yes |
HiSilicon D02 | PLATFORM=d02 | No |
HiKey Board (HiSilicon Kirin 620) | PLATFORM=hikey | Yes |
MediaTek MT8173 EVB Board | PLATFORM=mediatek-mt8173 | No |
QEMU | PLATFORM=vexpress-qemu_virt | Yes |
QEMUv8 | PLATFORM=vexpress-qemu_armv8a | Yes |
Raspberry Pi 3 | PLATFORM=rpi3 | Yes |
Renesas RCAR | PLATFORM=rcar | No |
STMicroelectronics b2260 - h410 (96boards fmt) | PLATFORM=stm-b2260 | No |
STMicroelectronics b2120 - h310 / h410 | PLATFORM=stm-cannes | No |
Texas Instruments DRA7xx | PLATFORM=ti-dra7xx | Yes |
Xilinx Zynq 7000 ZC702 | PLATFORM=zynq7k-zc702 | Yes |
Xilinx Zynq UltraScale+ MPSOC | PLATFORM=zynqmp-zcu102 | Yes |
Spreadtrum SC9860 | PLATFORM=sprd-sc9860 | No |
Please see build for instructions how to run OP-TEE on various devices.
In this project we are trying to adhere to the same coding convention as used in the Linux kernel (see CodingStyle). We achieve this by running checkpatch from Linux kernel. However there are a few exceptions that we had to make since the code also follows GlobalPlatform standards. The exceptions are as follows:
Since checkpatch is licensed under the terms of GNU GPL License Version 2, we cannot include this script directly into this project. Please use checkpatch directly from the Linux kernel git in combination with the local checkpatch script.