cpu_sampler: kernel-agnostic build support

Fixes #2293
This commit is contained in:
Christian Prochaska 2017-02-26 01:17:22 +01:00 committed by Christian Helmuth
parent e7958d999d
commit a77e509283
16 changed files with 127 additions and 39 deletions

View File

@ -0,0 +1,7 @@
INC_DIR = $(REP_DIR)/src/server/cpu_sampler
SRC_CC = native_cpu.cc
SHARED_LIB = yes
vpath %.cc $(REP_DIR)/src/lib/cpu_sampler_platform-generic

View File

@ -0,0 +1 @@
SHARED_LIB = yes

View File

@ -0,0 +1,11 @@
REQUIRES = foc
INC_DIR = $(REP_DIR)/src/server/cpu_sampler
SRC_CC = native_cpu.cc
LIBS = syscall-foc
SHARED_LIB = yes
vpath %.cc $(REP_DIR)/src/lib/cpu_sampler_platform-foc

View File

@ -0,0 +1,60 @@
__aeabi_unwind_cpp_pr0 U
__aeabi_unwind_cpp_pr1 U
_ctors_end D 0
_ctors_start D 0
__cxa_allocate_exception U
__cxa_begin_catch U
__cxa_end_catch U
__cxa_end_cleanup U
__cxa_get_exception_ptr U
__cxa_pure_virtual U
__cxa_throw U
dl_unwind_find_exidx W
__dynamic_cast U
__eh_frame_start__ D 0
__gnu_Unwind_Find_exidx T
__gxx_personality_v0 U
_init T
l4_atomic_add T
l4_atomic_cmpxchg T
l4_atomic_xchg T
__l4sys_invoke_indirect D 0
l4_utcb_wrap W
memcpy U
_parent_cap D 0
_parent_cap_local_name D 0
_parent_cap_thread_id D 0
_Unwind_Resume U
_ZdlPvRN6Genode11DeallocatorE U
_ZdlPv U
_ZN11Cpu_sampler21Cpu_session_component17_setup_native_cpuEv T
_ZN11Cpu_sampler21Cpu_session_component19_cleanup_native_cpuEv T
_ZN6Genode13Avl_node_baseC2Ev U
_ZN6Genode14Rpc_entrypoint7_manageEPNS_15Rpc_object_baseE U
_ZN6Genode14Rpc_entrypoint9_dissolveEPNS_15Rpc_object_baseE U
_ZN6Genode15Cancelable_lock4lockEv U
_ZN6Genode15Cancelable_lock6unlockEv U
_ZN6Genode15Cancelable_lockC2ENS0_5StateE U
_ZN6Genode17Native_capability4_decEv U
_ZN6Genode17Native_capability4_incEv U
_ZN6Genode17Native_capabilityC1Ev U
_ZN6Genode3Log3logEv U
_ZN6Genode3Log8_acquireENS0_4TypeE U
_ZN6Genode3Log8_releaseEv U
_ZN6Genode3Raw7_outputEv U
_ZN6Genode3Raw8_acquireEv U
_ZN6Genode3Raw8_releaseEv U
_ZN6Genode5printERNS_6OutputEl U
_ZN6Genode5printERNS_6OutputEPKc U
_ZN6Genode5printERNS_6OutputEPKv U
_ZN6Genode5Trace6Logger17_evaluate_controlEv U
_ZN6Genode6Thread7_loggerEv U
_ZN6Genode8ipc_callENS_17Native_capabilityERNS_11Msgbuf_baseES2_m U
_ZNK6Genode17Native_capability10local_nameEv U
_ZnwjRN6Genode9AllocatorE U
_ZnwmRN6Genode9AllocatorE U
_ZSt9terminatev U
_ZTIN11Cpu_sampler20Cpu_thread_componentE U
_ZTVN10__cxxabiv117__class_type_infoE U
_ZTVN10__cxxabiv120__si_class_type_infoE U
_ZTVN10__cxxabiv121__vmi_class_type_infoE U

View File

@ -4,7 +4,7 @@ if { ![have_spec foc] && ![have_spec hw] && ![have_spec nova] &&
exit 0
}
build {
set build_components {
core
init
drivers/timer
@ -12,6 +12,14 @@ build {
test/cpu_sampler
}
if {[have_spec foc]} {
lappend build_components lib/cpu_sampler_platform-foc
} else {
lappend build_components lib/cpu_sampler_platform-generic
}
build $build_components
create_boot_directory
install_config {
@ -69,7 +77,24 @@ install_config {
</config>
}
build_boot_image { core ld.lib.so init timer cpu_sampler test-cpu_sampler }
#
# Boot modules
#
# evaluated by the run tool
proc binary_name_cpu_sampler_platform_lib_so { } {
if {[have_spec foc]} {
return "cpu_sampler_platform-foc.lib.so"
} else {
return "cpu_sampler_platform-generic.lib.so"
}
}
build_boot_image {
core ld.lib.so init timer
cpu_sampler cpu_sampler_platform.lib.so
test-cpu_sampler
}
append qemu_args "-nographic -m 128"

View File

@ -15,6 +15,12 @@ set build_components {
test/cpu_sampler
}
if {[have_spec foc]} {
lappend build_components lib/cpu_sampler_platform-foc
} else {
lappend build_components lib/cpu_sampler_platform-generic
}
source ${genode_dir}/repos/base/run/platform_drv.inc
lappend_if [need_usb_hid] build_components drivers/usb
@ -229,12 +235,21 @@ install_config $config
# Boot modules
#
# evaluated by the run tool
proc binary_name_cpu_sampler_platform_lib_so { } {
if {[have_spec foc]} {
return "cpu_sampler_platform-foc.lib.so"
} else {
return "cpu_sampler_platform-generic.lib.so"
}
}
# generic modules
set boot_modules {
core ld.lib.so init timer noux terminal ram_fs log_terminal
libc.lib.so libm.lib.so libc_noux.lib.so ncurses.lib.so
bash.tar coreutils.tar diffutils.tar vim.tar
fs_log cpu_sampler test-cpu_sampler
fs_log cpu_sampler cpu_sampler_platform.lib.so test-cpu_sampler
}
# platform-specific modules

View File

@ -0,0 +1,2 @@
TARGET = cpu_sampler_platform-foc
LIBS = cpu_sampler_platform-foc

View File

@ -0,0 +1,2 @@
TARGET = cpu_sampler_platform-generic
LIBS = cpu_sampler_platform-generic

View File

@ -1,7 +0,0 @@
REQUIRES += foc
LIBS += syscall-foc
SRC_CC += native_cpu.cc
vpath native_cpu.cc $(PRG_DIR)
include $(PRG_DIR)/../../target.inc

View File

@ -1,7 +0,0 @@
REQUIRES += hw
SRC_CC += native_cpu.cc
vpath native_cpu.cc $(PRG_DIR)/../..
include $(PRG_DIR)/../../target.inc

View File

@ -1,7 +0,0 @@
REQUIRES += nova
SRC_CC += native_cpu.cc
vpath native_cpu.cc $(PRG_DIR)/../..
include $(PRG_DIR)/../../target.inc

View File

@ -1,7 +0,0 @@
REQUIRES += okl4
SRC_CC += native_cpu.cc
vpath native_cpu.cc $(PRG_DIR)/../..
include $(PRG_DIR)/../../target.inc

View File

@ -1,7 +0,0 @@
REQUIRES += sel4
SRC_CC += native_cpu.cc
vpath native_cpu.cc $(PRG_DIR)/../..
include $(PRG_DIR)/../../target.inc

View File

@ -6,6 +6,6 @@ SRC_CC += main.cc \
INC_DIR = $(REP_DIR)/src/server/cpu_sampler
LIBS += base
LIBS += base cpu_sampler_platform
vpath %.cc $(REP_DIR)/src/server/cpu_sampler