1# Copyright (c) 2012-2018 LK Trusty Authors. All Rights Reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
15
16LOCAL_DIR := $(GET_LOCAL_DIR)
17
18ARCH := x86
19SUBARCH := x86-64
20TARGET := generic-x86_64
21
22WITH_LINKER_GC := 1
23
24TRUSTY_USER_ARCH := x86
25
26# Limit heap grows
27GLOBAL_DEFINES += HEAP_GROW_SIZE=8192
28
29# Use lk libc in the kernel for now. musl does not currently link
30LK_LIBC_IMPLEMENTATION := lk
31
32WITH_TRUSTY_VIRTIO_IPC_DEV ?= false
33
34# Derive RPMB key using HKDF
35WITH_HKDF_RPMB_KEY ?= true
36
37# Always allow provisioning for emulator builds
38STATIC_SYSTEM_STATE_FLAG_PROVISIONING_ALLOWED := 1
39
40MODULES += \
41	trusty/kernel/lib/trusty \
42	trusty/kernel/services/apploader \
43
44#
45## user tasks to be compiled into lk.bin
46#
47
48## prebuilt
49TRUSTY_PREBUILT_USER_TASKS :=
50
51# compiled from source
52TRUSTY_BUILTIN_USER_TASKS := \
53	trusty/user/app/gatekeeper \
54	trusty/user/app/keymint/app \
55	trusty/user/app/sample/hwaes \
56	trusty/user/app/sample/hwbcc \
57	trusty/user/app/sample/hwcrypto \
58	trusty/user/app/storage \
59	trusty/user/base/app/apploader \
60	trusty/user/base/app/system_state_server_static \
61
62WITH_TRUSTY_IPC := true
63
64# On generic-x86_64 hwcrypto requires FAKE HWRNG and HWKEY services
65WITH_FAKE_HWRNG ?= true
66WITH_FAKE_HWKEY ?= true
67WITH_FAKE_KEYBOX ?= true
68
69ASLR ?= false
70
71EXTRA_BUILDRULES += trusty/kernel/app/trusty/user-tasks.mk
72