forked from niwis/channel-bench
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
51 lines (39 loc) · 1.49 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#
# Copyright 2019, Data61
# Commonwealth Scientific and Industrial Research Organisation (CSIRO)
# ABN 41 687 119 230.
#
# This software may be distributed and modified according to the terms of
# the BSD 2-Clause license. Note that NO WARRANTY is provided.
# See "LICENSE_BSD2.txt" for details.
#
# @TAG(DATA61_BSD)
#
cmake_minimum_required(VERSION 3.7.2)
include(settings.cmake)
project(channel-bench C CXX ASM)
find_package(seL4 REQUIRED)
find_package(elfloader-tool REQUIRED)
find_package(sel4benchsupport REQUIRED)
# Set the rootttask CNode size to be large enough for DTB, timer caps, etc
# Note that this works for the platforms that we have at the moment, and may
# need to be increased in the future
set(KernelRootCNodeSizeBits 20 CACHE INTERNAL "")
set(LibSel4CacheColourAllocSizeBits 17 CACHE INTERNAL "")
set(LibSel4MuslcSysMorecoreBytes 0x400000 CACHE INTERNAL "")
# Set our custom domain schedule
set(KernelDomainSchedule "${CMAKE_CURRENT_LIST_DIR}/domain_schedule.c" CACHE INTERNAL "")
sel4_import_kernel()
if((NOT ChannelBenchAllowSettingsOverride) AND (KernelArchARM OR KernelArchRiscV))
# Elfloader settings that correspond to how Data61 sets its boards up.
ApplyData61ElfLoaderSettings(${KernelPlatform} ${KernelSel4Arch})
endif()
elfloader_import_project()
set(SEL4_CONFIG_DEFAULT_ADVANCED OFF)
add_subdirectory(apps/manager)
set(SEL4_CONFIG_DEFAULT_ADVANCED ON)
include(simulation)
if(KernelSel4ArchX86_64)
SetSimulationScriptProperty(MEM_SIZE "3G")
endif()
GenerateSimulateScript()