# Copyright (C) 2017 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # LOCAL_DIR := $(GET_LOCAL_DIR) DEBUG ?= 2 SMP_MAX_CPUS ?= 2 SMP_CPU_CLUSTER_SHIFT ?= 1 WITH_SMP := 1 KERNEL_32BIT := true # select timer GLOBAL_DEFINES += TIMER_ARM_GENERIC_SELECTED=CNTPS # # GLOBAL definitions # # requires linker GC WITH_LINKER_GC := 1 # Need support for Non-secure memory mapping WITH_NS_MAPPING := true # do not relocate kernel in physical memory GLOBAL_DEFINES += WITH_NO_PHYS_RELOCATION=1 # limit heap grows GLOBAL_DEFINES += HEAP_GROW_SIZE=0x400000 # limit physical memory to 38 bit to prevert tt_trampiline from getting larger than arm64_kernel_translation_table GLOBAL_DEFINES += MMU_IDENT_SIZE_SHIFT=38 # Set max RPMB block to 1024 means it will get 1024*512=512KB space to store critical information. GLOBAL_DEFINES += APP_STORAGE_RPMB_BLOCK_COUNT=1024 GLOBAL_DEFINES += \ WITH_LIB_SM_MONITOR=1 GLOBAL_DEFINES += \ WITH_LIB_VERSION=1 # # Modules to be compiled into lk.bin # MODULES += \ trusty/kernel/lib/sm \ trusty/kernel/lib/trusty \ trusty/kernel/lib/memlog \ TRUSTY_USER_ARCH := arm # # user tasks to be compiled into lk.bin # # prebuilt TRUSTY_PREBUILT_USER_TASKS := # compiled from source TRUSTY_ALL_USER_TASKS := \ trusty/user/app/avb \ trusty/hardware/nxp/app/hwcrypto \ trusty/user/app/keymaster \ trusty/user/app/gatekeeper \ trusty/user/app/storage \ # This project requires trusty IPC WITH_TRUSTY_IPC := true EXTRA_BUILDRULES += trusty/kernel/app/trusty/user-tasks.mk