| 1d171f95 | 30-Aug-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add support for kernel address sanitizer
Adds support for kernel address sanitizer. Currently only for plat-vexpress-qemu_virt.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tes
core: add support for kernel address sanitizer
Adds support for kernel address sanitizer. Currently only for plat-vexpress-qemu_virt.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU v7) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0251b775 | 22-Aug-2016 |
Zhizhou Zhang <zhizhou.zh@gmail.com> |
build: add PLATFORM_FLAVOR for BUILD_OPTEE_OS
fix build error: In file included from core/arch/arm/kernel/thread.c:29:0: core/arch/arm/plat-aquila/./platform_config.h:51:2: error: #error "Unknown pl
build: add PLATFORM_FLAVOR for BUILD_OPTEE_OS
fix build error: In file included from core/arch/arm/kernel/thread.c:29:0: core/arch/arm/plat-aquila/./platform_config.h:51:2: error: #error "Unknown platform flavor" #error "Unknown platform flavor"
Signed-off-by: Zhizhou Zhang <zhizhou.zh@gmail.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 3f17b838 | 16-Aug-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core debug: cleanup CFG_TEE_CORE_DEBUG
Fix inconsistencies in CFG_TEE_CORE_DEBUG. This change proposes to define CFG_TEE_CORE_DEBUG as a y/n directive.
This change also fixes the comment describing
core debug: cleanup CFG_TEE_CORE_DEBUG
Fix inconsistencies in CFG_TEE_CORE_DEBUG. This change proposes to define CFG_TEE_CORE_DEBUG as a y/n directive.
This change also fixes the comment describing DEBUG directive.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (qemu_v7/v8) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4d62e91a | 16-Aug-2016 |
Victor Chong <victor.chong@linaro.org> |
Enable static TA and core self tests..
..for all platforms by setting
CFG_TEE_CORE_EMBED_INTERNAL_TESTS ?= y
in mk/config.mk.
Signed-off-by: Victor Chong <victor.chong@linaro.org> Suggested-by: J
Enable static TA and core self tests..
..for all platforms by setting
CFG_TEE_CORE_EMBED_INTERNAL_TESTS ?= y
in mk/config.mk.
Signed-off-by: Victor Chong <victor.chong@linaro.org> Suggested-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2ef14de1 | 11-May-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
secure storage: add SQL filesystem
This commit adds a new container type for trusted storage: SQL FS. Data are stored in the non-secure world, just like the REE FS (CFG_REE_FS). But, unlike REE FS w
secure storage: add SQL filesystem
This commit adds a new container type for trusted storage: SQL FS. Data are stored in the non-secure world, just like the REE FS (CFG_REE_FS). But, unlike REE FS which manipulates several files for each secure object, this implementation needs only one container in a SQLite database per secure object. We rely on the transaction-based nature of the database to provide atomicity.
A storage identifier is added to the TA API: TEE_STORAGE_PRIVATE_SQL. Trusted applications can use it to select this filesystem. The value TEE_STORAGE_PRIVATE defined by GlobalPlatform will also select the SQL FS if all other implementations are disabled.
This feature is enabled with CFG_SQL_FS=y. It depends on SQL support in tee-supplicant [1].
[1] https://github.com/OP-TEE/optee_client/pull/50
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: David Brown <david.brown@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 5ef74e73 | 06-Aug-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Simplify platform testing macros
Update the main Makefile so that PLATFORM_$(PLATFORM) and PLATFORM_FLAVOR_$(PLATFORM_FLAVOR) are set to 'y', and add these variables to the export list for the gener
Simplify platform testing macros
Update the main Makefile so that PLATFORM_$(PLATFORM) and PLATFORM_FLAVOR_$(PLATFORM_FLAVOR) are set to 'y', and add these variables to the export list for the generation of conf.h.
As a result, the definition of numerical flavor identifiers in the multiple platform_config.h files is not needed anymore, and we can also get rid of the PLATFORM_FLAVOR_IS() test macro. Instead, replace all occurrences of '#if PLATFORM_FLAVOR_IS(foo)' with '#if defined(PLATFORM_FLAVOR_foo)'.
This makes it possible to test the platform and not only the flavor in any source file, so drop the manual definition of PLATFORM_hikey.
Finally, remove the definitions of platform_$(PLATFORM) and platform_flavor_$(PLATFORM_FLAVOR) from core/core.mk since they are not used.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: David Brown <david.brown@linaro.org>
show more ...
|
| ac3cc110 | 23-Jun-2016 |
Pascal Brand <pascal.brand@st.com> |
Release Notes of 2.1.0
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com> |
| ca6737b4 | 02-Jun-2016 |
Yongqin Liu <yongqin.liu@linaro.org> |
asop: Add common Makefile for core and TA's
With this fix it's sufficient to add the following to the respective Android.mk files in the TA directories:
LOCAL_PATH := $(call my-dir) local_modul
asop: Add common Makefile for core and TA's
With this fix it's sufficient to add the following to the respective Android.mk files in the TA directories:
LOCAL_PATH := $(call my-dir) local_module := 11111111-2222-3333-4444444444444444.ta include $(BUILT_OPTEE_MK)
Where BUILT_OPTEE_MK is the variant pointing to this aosp_optee.mk, which has been set in the device.mk for a particular platform.
Doing so gives us the ability to control where the TA files will be installed, where the intermediates will be generated, and other things in a single place.
The contents contained in this mk file is mainly related to OP-TEE and do normally not need to be modified, except when the OP-TEE team wants to change some behavior. This is why we put this mk file here instead of putting it into the platform device config repository.
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 76358bec | 25-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: generic boot: edit device tree
If configured with CFG_DT configures supplied device tree to add a node for OP-TEE and reservation of shared memory.
Reviewed-by: Jerome Forissier <jerome.
core: arm: generic boot: edit device tree
If configured with CFG_DT configures supplied device tree to add a node for OP-TEE and reservation of shared memory.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b908c675 | 25-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
Import libfdt v1.4.1
Imports libfdt code from https://git.kernel.org/cgit/utils/dtc/dtc.git tag "v1.4.1" commit 302fca9f4c283e1994cf0a5a9ce1cf43ca15e6d2.
API header files are moved to libfdt/includ
Import libfdt v1.4.1
Imports libfdt code from https://git.kernel.org/cgit/utils/dtc/dtc.git tag "v1.4.1" commit 302fca9f4c283e1994cf0a5a9ce1cf43ca15e6d2.
API header files are moved to libfdt/include.
Small changes to make fdt.h and libfdt.h c99 compiant.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Suggested-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c95ce41f | 30-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
build: remove old gensrc facility
Removes the build facility for auto generated source files now that it's replaced by a new and more advanced.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Rev
build: remove old gensrc facility
Removes the build facility for auto generated source files now that it's replaced by a new and more advanced.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 36a06054 | 02-Jun-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
mk: add new gensrc build facility
Adds a new build facility for auto generated source files.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro
mk: add new gensrc build facility
Adds a new build facility for auto generated source files.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| be715239 | 15-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add CFG_CORE_SANITIZE_UNDEFINED
Adds CFG_CORE_SANITIZE_UNDEFINED to enabled undefined behavior santizer with -fsanitize=undefined as option to compiler with supporting routines in core/kernel/
core: add CFG_CORE_SANITIZE_UNDEFINED
Adds CFG_CORE_SANITIZE_UNDEFINED to enabled undefined behavior santizer with -fsanitize=undefined as option to compiler with supporting routines in core/kernel/ubsan.c.
This option consumes a lot of memory, expect link problems unless pager and debug is disabled.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b44708c1 | 18-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: secure storage: dual filesystems support
Adds support for multiple filesystems by keeping a pointer to tee_file_operations in the tee_pobj and tee_storage_enum structures.
Two identifiers are
core: secure storage: dual filesystems support
Adds support for multiple filesystems by keeping a pointer to tee_file_operations in the tee_pobj and tee_storage_enum structures.
Two identifiers are added to the API to be used as the storage_id parameter, so that TAs may dynamically choose the filesystem: - TEE_STORAGE_PRIVATE_REE (requires CFG_REE_FS=y) - TEE_STORAGE_PRIVATE_RPMB (requires CFG_RPMB_FS=y) The value TEE_STORAGE_PRIVATE will select the REE FS if available, otherwise RPMB. At least one FS has to be enabled at build time. Only the REE filesystem is enabled by default.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| f4aa5b11 | 12-May-2015 |
Jerome Forissier <jerome.forissier@linaro.org> |
Update trace format to be less verbose in INFO and ERROR levels
- By default, traces of severity TRACE_INFO or lower will not print the thread ID, function name or line number. Can be controlled by
Update trace format to be less verbose in INFO and ERROR levels
- By default, traces of severity TRACE_INFO or lower will not print the thread ID, function name or line number. Can be controlled by CFG_MSG_LONG_PREFIX_THRESHOLD (see mk/config.mk). - The trace level string is updated ("DEBUG", "INFO" etc. instead of "DBG", "INF" etc.) for consistency with ARM Trusted Firmware.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2a142248 | 05-Jan-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: support mapping user TAs with 4k pages
Maps user TAs with small pages (aka 4k pages) if CFG_SMALL_PAGE_USER_TA = y If pager is active the translation tables are allocated using tee_pager_reque
core: support mapping user TAs with 4k pages
Maps user TAs with small pages (aka 4k pages) if CFG_SMALL_PAGE_USER_TA = y If pager is active the translation tables are allocated using tee_pager_request_zi() to only use the physical page when needed.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a0cd5d60 | 01-Apr-2016 |
Pascal Brand <pascal.brand@st.com> |
Release Notes 2.0.0
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com> |
| 35c507f2 | 17-Mar-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
mk/config.mk: hardcode CFG_OPTEE_REVISION_{MAJOR,MINOR}
There is really no guarantee that the values of CFG_OPTEE_REVISION_MAJOR and CFG_OPTEE_REVISION_MINOR can be extracted from Git (think about b
mk/config.mk: hardcode CFG_OPTEE_REVISION_{MAJOR,MINOR}
There is really no guarantee that the values of CFG_OPTEE_REVISION_MAJOR and CFG_OPTEE_REVISION_MINOR can be extracted from Git (think about building from a tarball or "git clone --depth=1"), so let's just hardcode them into the configuration.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 6fbac37e | 05-Nov-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
Minimal OP-TEE without user TAs
Hide all user TA related code under CFG_WITH_USER_TA. When compiled with: CFG_WITH_USER_TA=n CFG_CRYPTO=n CFG_ENC_FS=n CFG_SE_API=n CFG_PCSC_PASSTHRU_READER_DRV=n
Sk
Minimal OP-TEE without user TAs
Hide all user TA related code under CFG_WITH_USER_TA. When compiled with: CFG_WITH_USER_TA=n CFG_CRYPTO=n CFG_ENC_FS=n CFG_SE_API=n CFG_PCSC_PASSTHRU_READER_DRV=n
Skips building in static TA tests for features not enabled.
The size of OP-TEE is reduced to one third of its original size.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU xtest 1001) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e43888b8 | 27-Mar-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: new OPTEE_MSG interface
* Changes to a new OPTEE_MSG interface to work with the generic TEE driver. * Removes TEESMC64_* defines as the TEESMC32_* functions are enhanced to take 64bit values
core: new OPTEE_MSG interface
* Changes to a new OPTEE_MSG interface to work with the generic TEE driver. * Removes TEESMC64_* defines as the TEESMC32_* functions are enhanced to take 64bit values where required in pairs of 32bit registers instead. * Changes open session meta information to be passed in two value parameters instead of one memref.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 02598914 | 26-Feb-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
mk/compile.mk: add 'remove' flags variable for submodule
With this commit it is possible to remove a CPP/C/AS flag for the submodule being built. For instance suppose one adds the following to core/
mk/compile.mk: add 'remove' flags variable for submodule
With this commit it is possible to remove a CPP/C/AS flag for the submodule being built. For instance suppose one adds the following to core/core.mk: cflags-remove-core += -pedantic ...then the '-pedantic' flag will be stripped off from the command line when building any C file of the TEE core.
Previously, one could remove flags only on a global basis or for a single file.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b09cddca | 24-Feb-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Introduce CFLAGS32 and CFLAGS64
Previously, compile.mk and gcc.mk were using $(CFLAGS) which cannot properly handle 32-bit and 64-bit compiles. This commit introduces CFLAGS32 and CFLAGS64 instead,
Introduce CFLAGS32 and CFLAGS64
Previously, compile.mk and gcc.mk were using $(CFLAGS) which cannot properly handle 32-bit and 64-bit compiles. This commit introduces CFLAGS32 and CFLAGS64 instead, which are set to $(CFLAGS) by defaut for convenience.
For each submodule (core, ta_arm32, ta_arm64) a new internal variable is defined in the architecture makefile (core/arch/arm/arm.mk): arch-bits-$(sm). Its value is either 32 or 64. This can later be used to reference the proper CFLAGS.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 92db3e0c | 23-Feb-2016 |
Zoltan Kuscsik <zoltan.kuscsik@linaro.org> |
Add CFLAGS to libgcc lookup command
GCC may require the --sysroot command line parameter to find libgcc.a
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.f
Add CFLAGS to libgcc lookup command
GCC may require the --sysroot command line parameter to find libgcc.a
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Zoltan Kuscsik <zoltan.kuscsik@linaro.org> Signed-off-by: Zoltan Kuscsik <zoltan.kuscsik@linaro.org>
show more ...
|
| c02f9fb0 | 12-Jan-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
arm: add auto generated asm-defines.h
Adds defines for assembly access to: * struct thread_ctx * struct thread_user_mode_rec * struct thread_core_local * struct thread_smc_args * struct thread_abort
arm: add auto generated asm-defines.h
Adds defines for assembly access to: * struct thread_ctx * struct thread_user_mode_rec * struct thread_core_local * struct thread_smc_args * struct thread_abort_regs * struct thread_user_mode_rec as needed from assembly code replacing previous definitions in kernel/thread.h and thread_private.h.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d5a887c8 | 12-Jan-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add auto generated asm-defines.h
The temporary files are all stored alongside asm-defines.h, and are named: .asm-defines.s, .asm-defines.s.d, .asm-defines.s.cmd.
Reviewed-by: Jerome Forissier
core: add auto generated asm-defines.h
The temporary files are all stored alongside asm-defines.h, and are named: .asm-defines.s, .asm-defines.s.d, .asm-defines.s.cmd.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|