platform/core/security/tef-optee_os.git
5 years agocore: define syscall_t as void (*)(void) sandbox/mkashkarov/tizen_6.0_build
Jerome Forissier [Thu, 5 Jul 2018 11:07:52 +0000 (13:07 +0200)]
core: define syscall_t as void (*)(void)

syscall_t is currently typedef'ed as TEE_Result (*)(void). It is used to
represent a pointer to any system call, in the syscall table for instance.
As such, the exact type behind syscall_t cannot reflect all the syscalls
since they have different prototypes. The current declaration with a
TEE_Result return type was probably chosen because it was a common
characteristic of all syscalls to return a TEE_Result.

However, this type causes compilation warnings with GCC 8.1:

core/arch/arm/tee/arch_svc.c:43:36: warning: cast between incompatible function types from ‘void (*)(long unsigned int)’ to ‘TEE_Result (*)(void)’ {aka ‘unsigned int (*)(void)’} [-Wcast-function-type]
 #define SYSCALL_ENTRY(_fn) { .fn = (syscall_t)_fn }
                                    ^
core/arch/arm/tee/arch_svc.c:50:2: note: in expansion of macro ‘SYSCALL_ENTRY’
  SYSCALL_ENTRY(syscall_sys_return),
  ^~~~~~~~~~~~~

The solution is to use 'void (*)(void)' instead, as explained in the GCC
documentation:

 -Wcast-function-type

  Warn when a function pointer is cast to an incompatible function
  pointer. [...] The function type void (*) (void) is special and matches
  everything, which can be used to suppress this warning. [...]

Link: [1] https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
(cherry picked from commit f6d17e33e7b95c90a2521cfd37cd5cb511909fc4)

5 years agolibutee: remove Trusted UI code
Jerome Forissier [Wed, 27 Sep 2017 00:46:17 +0000 (17:46 -0700)]
libutee: remove Trusted UI code

Removes all the TUI-related code from libutee (lib/libutee/tui), as
well as its  dependencies: lib/libpng and lib/libzlib. Two reasons for
this:
1. This is far from being a complete and testable TUI implementation.
In other words, it is dead code, more or less.
2. lib/libzlib (version 1.2.8) contains several CVE vulnerabilities.
Even if the code is not used, it may trigger some code analysis tools
and is a problem for some projects.

Reported-by: Jianhui Li <airbak.li@hisilicon.com>
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
(Backported from commit be5c06caa42db2c7c59eca9311f5485c15a99029)

5 years agocore: gcc 7 ready
Jens Wiklander [Fri, 14 Jul 2017 12:34:08 +0000 (14:34 +0200)]
core: gcc 7 ready

Remove the armv7 compiler option -mno-apcs-float as it's not supported
by gcc 7. -apcs-float has be default disabled since at least gcc 4.8.

Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
(cherry picked from commit 23381c107ef501ea6d5a52357e0105df054a3177)

5 years agocore: avoid incremental linking with -gc
Jens Wiklander [Thu, 25 May 2017 05:48:20 +0000 (07:48 +0200)]
core: avoid incremental linking with -gc

The AArch64 linkers seems to have occasional problems with incremental
linking (-i) in combination with garbage collect of sections (-gc). The
way we're organizing the layout of the binary used for paging depends on
-gc to build the different dependency trees for unpaged and
initialization code.

The problem in the linker is tracked in
https://bugs.linaro.org/show_bug.cgi?id=3006 and
https://sourceware.org/bugzilla/show_bug.cgi?id=21524

The problem typically manifests itself by:
aarch64-toolchain/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ld: BFD (Linaro_Binutils-2017.02) 2.27.0.20161019 assertion fail /home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/aarch64-linux-gnu/snapshots/binutils-gdb.git~linaro_binutils-2_27-branch/bfd/elflink.c:8380
core/arch/arm/kernel/link.mk:90: recipe for target 'out/arm-plat-vexpress/core/init.o' failed
make: *** [out/arm-plat-vexpress/core/init.o] Error 1

With this patch we replace the incremental linking with a full link
using a special link script. With a full link we can't have undefined
symbols so some dummy symbols are provided by the link script when some
object files are skipped when reducing the dependency tree. To
completely get rid of those dummy symbols the script that gathers the
sections is replaced by a python script that skips listed sections (if
provided).

In terms of features in the resulting binary, nothing is changed in this
commit.

Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
(Backported from commit 5976a0a5b9bf7aaebe65320eb5e1709f7bd1f04e,
chmod 644 gen_ld_sects.py for obs build, invoke with python)

5 years agoMigrate to openssl 1.1 87/206987/2 accepted/tizen_5.5_unified accepted/tizen_5.5_unified_mobile_hotfix accepted/tizen_unified tizen tizen_5.5 tizen_5.5_mobile_hotfix tizen_5.5_tv accepted/tizen/5.5/unified/20191031.004235 accepted/tizen/5.5/unified/mobile/hotfix/20201027.085956 accepted/tizen/unified/20190709.071109 submit/tizen/20190704.131235 submit/tizen/20190708.094956 submit/tizen_5.5/20191031.000010 submit/tizen_5.5_mobile_hotfix/20201026.185104 tizen_5.5.m2_release
Konrad Lipinski [Wed, 29 May 2019 16:42:52 +0000 (18:42 +0200)]
Migrate to openssl 1.1

Change-Id: Id690a8dd55bd4b85e1a31848241fd82cf8272ff7

5 years agoFix optee-os-ta dependency to openssl and python 58/208058/1
Dariusz Michaluk [Mon, 17 Jun 2019 16:27:55 +0000 (18:27 +0200)]
Fix optee-os-ta dependency to openssl and python

optee-os-ta provides sign.py script which require openssl and python

Change-Id: I8761fe37210224df1a6965f53b3595a45eff5de7

7 years agoDisable building repository with ASan extra packs. 55/170955/2 accepted/tizen_5.0_unified tizen_5.0 accepted/tizen/5.0/unified/20181102.020848 accepted/tizen/unified/20180305.062905 submit/tizen/20180301.154949 submit/tizen_5.0/20181101.000004
r.tyminski [Fri, 23 Feb 2018 12:55:33 +0000 (13:55 +0100)]
Disable building repository with ASan extra packs.

Change-Id: Ia3b8b6a9503667b6a0549526a8c7ea2ec1246ae3

7 years agoInclude all necessary licenses. 92/161492/4
r.tyminski [Thu, 23 Nov 2017 14:58:51 +0000 (15:58 +0100)]
Include all necessary licenses.

Including BSD-2-Clause and BSD-3-Clause for OpTEE OS.
Including BSD-2-Clause, BSD-3-Clause and PNG license for OpTEE userspace.

Change-Id: I5a3c4cdadb1273d5cf4a03b04ccdb0551c396364

7 years agoBuild artik710 and rpi3 in one spec file. 24/162024/1
r.tyminski [Tue, 28 Nov 2017 12:54:23 +0000 (13:54 +0100)]
Build artik710 and rpi3 in one spec file.

Change spec file to be more generic.

Change-Id: Iefbf5668b25242a811f5e553cc79304ab95830b5

7 years agoremove optee-os-artik710.spec file to fix multiple spec file issue in OBS 25/161725/1 accepted/tizen/unified/20171127.152018 submit/tizen/20171127.070203
Dongsun Lee [Mon, 27 Nov 2017 06:51:35 +0000 (15:51 +0900)]
remove optee-os-artik710.spec file to fix multiple spec file issue in OBS

Change-Id: Ic1cb2d10dd03711fa7ebdbfa4d97bc1b2a8d71ba
Signed-off-by: Dongsun Lee <ds73.lee@samsung.com>
7 years agoMerge remote-tracking branch 'origin/tizen_4.0' into 'origin/tizen' 02/161402/2 accepted/tizen/unified/20171124.064555 submit/tizen/20171123.081046
r.tyminski [Thu, 23 Nov 2017 07:27:00 +0000 (08:27 +0100)]
Merge remote-tracking branch 'origin/tizen_4.0' into 'origin/tizen'

Change-Id: Ic78fa653d759783441b75aff4d332b383d711163

7 years agoSetting low log level by default. 24/161324/1 accepted/tizen/4.0/unified/20171123.184115 submit/tizen_4.0/20171123.051832
r.tyminski [Wed, 15 Nov 2017 14:30:36 +0000 (15:30 +0100)]
Setting low log level by default.

If there is need to see debug logs, please recompile with build_type=DEBUG.

Change-Id: Ia3419dcec3acfe6b8e50a501438bdef414de2870
(cherry picked from commit 493442391fcebb623711f41789b2346902aa6ce9)

7 years agoSetting low log level by default. 55/160355/2
r.tyminski [Wed, 15 Nov 2017 14:30:36 +0000 (15:30 +0100)]
Setting low log level by default.

If there is need to see debug logs, please recompile with build_type=DEBUG.

Change-Id: Ia3419dcec3acfe6b8e50a501438bdef414de2870

7 years agoartik710: Add packaging for s5p6818 52/157252/7
egukim [Fri, 13 Oct 2017 12:28:29 +0000 (21:28 +0900)]
artik710: Add packaging for s5p6818

Added TA build for artick710

Change-Id: I9e8ef12090b6630c2c422f6444c14cdf60b9b6e9
Signed-off-by: egukim <egukim@dignsys.com>
7 years agoartik710: porting for optee 2.4 51/157251/4
egukim [Tue, 24 Oct 2017 02:49:47 +0000 (11:49 +0900)]
artik710: porting for optee 2.4

This patch rewrote the s5p6818 uart driver for the optee2.4 framework. And revised build config for optee 2.4 build
Cryptographic extensions disable as rpi3

Change-Id: Ie31101761bb1b278804824c60e1081666054c021
Signed-off-by: egukim <egukim@dignsys.com>
7 years agoartik710: initial drop to support s5p6818 50/157250/1
egukim [Fri, 13 Oct 2017 12:19:31 +0000 (21:19 +0900)]
artik710: initial drop to support s5p6818

this patch is ported in from optee 1.1 implement by nexell

Change-Id: I3072b4f1fa5ea6d03a6718d5bb5ed095065b8d65
Signed-off-by: egukim <egukim@dignsys.com>
7 years agoMerge optee-os-ta-devel-rpi3.spec with optee-os-rpi3.spec 51/154851/1 accepted/tizen/4.0/unified/20171012.074511 accepted/tizen/unified/20171012.075103 submit/tizen/20171011.123005 submit/tizen_4.0/20171011.123522 tizen_4.0.IoT.p1_release tizen_4.0.m2_release
r.tyminski [Wed, 11 Oct 2017 09:55:30 +0000 (11:55 +0200)]
Merge optee-os-ta-devel-rpi3.spec with optee-os-rpi3.spec

Change-Id: I45b717f1fe40e3eadb71cef8e54304abc2f21684

7 years agoCompile 32-bit userspace only with 32-bit kernel. 40/154840/1
r.tyminski [Wed, 11 Oct 2017 09:42:26 +0000 (11:42 +0200)]
Compile 32-bit userspace only with 32-bit kernel.

Change-Id: Idec66a78bfad5e79cfadd505618e6d1d3967faf7

7 years agoCompile with GBS only for ARM architectures. 86/150186/1
r.tyminski [Thu, 14 Sep 2017 14:04:38 +0000 (16:04 +0200)]
Compile with GBS only for ARM architectures.

Change-Id: Ifa847c10f96bdfce441ab953c3dfd6cc2366befd

7 years agoBuild and Provide tee.bin 29/148029/3
egukim [Wed, 6 Sep 2017 09:56:36 +0000 (18:56 +0900)]
Build and Provide tee.bin

ATF biuling use tee.bin in this packge for BL32 Image

Change-Id: Ia8316feeff335f714782fb086bd77f9a67ea5ae7
Signed-off-by: egukim <egukim@dignsys.com>
7 years agoAdded packaging and necessary changes for gbs compilation. 31/134031/3
r.tyminski [Wed, 14 Jun 2017 08:31:43 +0000 (10:31 +0200)]
Added packaging and necessary changes for gbs compilation.

Packaging for optee-os binary and optee-os TA devkit.
Modify pem_to_pub_c.py and sign.py script to use openssl
if pycrypto is not available.
Allow to disable Terminal User Interface (TUI) from compilation.
Compile 32-bit TA devkit with CFG_WITH_VFP=n. GBS compile with softfp.

Change-Id: If3ad89d8871c1a8f7f1a519b07941316acdbdd14

8 years agoUpdate from upstream to 2.4.0 version 68/132468/1 upstream upstream/2.4.0
r.tyminski [Mon, 5 Jun 2017 10:44:25 +0000 (12:44 +0200)]
Update from upstream to 2.4.0 version

Change-Id: I2b3a30f20684d6629fe379d9cd7895aff759c301

8 years agoInitial commit with upstream sources 71/131471/1
r.tyminski [Mon, 29 May 2017 09:42:10 +0000 (11:42 +0200)]
Initial commit with upstream sources

Change-Id: Ie9460111f21fc955102fd8732a0173b2d0499a4a

8 years agoInitial empty repository master
Tizen Infrastructure [Mon, 3 Apr 2017 06:28:04 +0000 (23:28 -0700)]
Initial empty repository