1#------------------------------------------------------------------------------- 2# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved. 3# 4# SPDX-License-Identifier: BSD-3-Clause 5# 6#------------------------------------------------------------------------------- 7if (NOT DEFINED TGT) 8 message(FATAL_ERROR "mandatory parameter TGT is not defined.") 9endif() 10 11set(FFA_DIRECT_MSG_ROUTING_EXTENSION ON CACHE BOOL "Enable FF-A direct message routing extension") 12set(CFG_FFA_VERSION 0x00010001 CACHE STRING "The supported FF-A protocol's version: (major << 16) | minor") 13 14target_sources(${TGT} PRIVATE 15 "${CMAKE_CURRENT_LIST_DIR}/aarch64/ffa_syscalls_a64.S" 16 "${CMAKE_CURRENT_LIST_DIR}/ffa.c" 17 "${CMAKE_CURRENT_LIST_DIR}/ffa_interrupt_handler.c" 18 "${CMAKE_CURRENT_LIST_DIR}/ffa_memory_descriptors.c" 19 "${CMAKE_CURRENT_LIST_DIR}/sp_discovery.c" 20 "${CMAKE_CURRENT_LIST_DIR}/sp_memory_management.c" 21 "${CMAKE_CURRENT_LIST_DIR}/sp_messaging.c" 22 "${CMAKE_CURRENT_LIST_DIR}/sp_rxtx.c" 23 ) 24 25set_property(TARGET ${TGT} APPEND PROPERTY PUBLIC_HEADER 26 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_api.h 27 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_api_defines.h 28 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_api_types.h 29 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_internal_api.h 30 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_memory_descriptors.h 31 ${CMAKE_CURRENT_LIST_DIR}/include/sp_api.h 32 ${CMAKE_CURRENT_LIST_DIR}/include/sp_api_defines.h 33 ${CMAKE_CURRENT_LIST_DIR}/include/sp_api_types.h 34 ${CMAKE_CURRENT_LIST_DIR}/include/sp_discovery.h 35 ${CMAKE_CURRENT_LIST_DIR}/include/sp_memory_management.h 36 ${CMAKE_CURRENT_LIST_DIR}/include/sp_messaging.h 37 ${CMAKE_CURRENT_LIST_DIR}/include/sp_rxtx.h 38 ) 39 40if (FFA_DIRECT_MSG_ROUTING_EXTENSION) 41 target_sources(${TGT} PRIVATE 42 "${CMAKE_CURRENT_LIST_DIR}/ffa_direct_msg_routing_extension.c" 43 ) 44 45 target_compile_options(${TGT} PUBLIC 46 -DFFA_DIRECT_MSG_ROUTING_EXTENSION=1 47 ) 48endif() 49 50target_compile_definitions(${TGT} 51 PUBLIC 52 "CFG_FFA_VERSION=${CFG_FFA_VERSION}" 53 ) 54 55target_include_directories(${TGT} 56 PUBLIC 57 "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>" 58 "$<INSTALL_INTERFACE:${TS_ENV}/include>" 59 ) 60