From aaea28ae85112716ddb0d68385ec4e144acef840 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Sun, 4 Oct 2015 01:45:21 +0200 Subject: [PATCH] Fix build and execution of test/sel4 --- repos/base-sel4/lib/mk/base.mk | 1 + repos/base-sel4/run/test.run | 3 +++ repos/base-sel4/src/test/sel4/mini_env.cc | 19 +++++++++++-------- repos/base-sel4/src/test/sel4/target.mk | 2 +- repos/base-sel4/src/test/sel4/thread.cc | 6 ++++++ tool/run/boot_dir/sel4 | 4 ++-- 6 files changed, 24 insertions(+), 11 deletions(-) diff --git a/repos/base-sel4/lib/mk/base.mk b/repos/base-sel4/lib/mk/base.mk index 7bfa6813f..356289e35 100644 --- a/repos/base-sel4/lib/mk/base.mk +++ b/repos/base-sel4/lib/mk/base.mk @@ -10,6 +10,7 @@ SRC_CC += console/log_console.cc SRC_CC += env/env.cc env/context_area.cc env/reinitialize.cc SRC_CC += env/capability_space.cc SRC_CC += thread/thread_start.cc thread/thread_init.cc +SRC_CC += irq/platform.cc INC_DIR += $(REP_DIR)/src/base INC_DIR += $(BASE_DIR)/src/base/env diff --git a/repos/base-sel4/run/test.run b/repos/base-sel4/run/test.run index c7b924b7e..97bbc5c79 100644 --- a/repos/base-sel4/run/test.run +++ b/repos/base-sel4/run/test.run @@ -1,3 +1,6 @@ +# enable special handling in tool/run/boot_dir/sel4 +set core_test "sel4" + build { test/sel4 } create_boot_directory diff --git a/repos/base-sel4/src/test/sel4/mini_env.cc b/repos/base-sel4/src/test/sel4/mini_env.cc index 5e148f9e8..994e21a4a 100644 --- a/repos/base-sel4/src/test/sel4/mini_env.cc +++ b/repos/base-sel4/src/test/sel4/mini_env.cc @@ -19,14 +19,17 @@ namespace Genode { struct Mini_env; } struct Genode::Mini_env : Env { - Parent *parent() { return nullptr; } - Ram_session *ram_session() { return nullptr; } - Ram_session_capability ram_session_cap() { return Ram_session_capability(); } - Cpu_session *cpu_session() { return nullptr; } - Cpu_session_capability cpu_session_cap() { return Cpu_session_capability(); } - Rm_session *rm_session() { return nullptr; } - Pd_session *pd_session() { return nullptr; } - Allocator *heap() { return nullptr; } + Parent *parent() override { return nullptr; } + Ram_session *ram_session() override { return nullptr; } + Ram_session_capability ram_session_cap() override { return Ram_session_capability(); } + Cpu_session *cpu_session() override { return nullptr; } + Cpu_session_capability cpu_session_cap() override { return Cpu_session_capability(); } + Rm_session *rm_session() override { return nullptr; } + Pd_session *pd_session() override { return nullptr; } + Allocator *heap() override { return nullptr; } + + void reinit(Native_capability::Dst, long) override { } + void reinit_main_thread(Rm_session_capability &) override { } }; namespace Genode { diff --git a/repos/base-sel4/src/test/sel4/target.mk b/repos/base-sel4/src/test/sel4/target.mk index 37fad2b80..b20793098 100644 --- a/repos/base-sel4/src/test/sel4/target.mk +++ b/repos/base-sel4/src/test/sel4/target.mk @@ -9,7 +9,7 @@ LIBS = core_printf syscall # LIBS += cxx startup -SRC_CC += ipc/ipc.cc ipc/pager.cc +SRC_CC += ipc/ipc.cc SRC_CC += avl_tree/avl_tree.cc SRC_CC += allocator/slab.cc SRC_CC += allocator/allocator_avl.cc diff --git a/repos/base-sel4/src/test/sel4/thread.cc b/repos/base-sel4/src/test/sel4/thread.cc index 83670d86b..3a95af27e 100644 --- a/repos/base-sel4/src/test/sel4/thread.cc +++ b/repos/base-sel4/src/test/sel4/thread.cc @@ -39,6 +39,12 @@ static Thread_base::Context *main_context() Thread_base *Thread_base::myself() { return nullptr; } +void Thread_base::name(char *dst, size_t dst_len) +{ + strncpy(dst, _context->name, dst_len); +} + + Thread_base::Thread_base(size_t, const char *name, size_t stack_size, Type type, Cpu_session *cpu_session) : diff --git a/tool/run/boot_dir/sel4 b/tool/run/boot_dir/sel4 index 0a220a610..1affd22c6 100644 --- a/tool/run/boot_dir/sel4 +++ b/tool/run/boot_dir/sel4 @@ -27,8 +27,8 @@ proc run_boot_dir {binaries} { # adapt to wether this is a core-internal test or a common scenario global core_test if {[info exists core_test]} { - set core_bin "test-[run_name]" - set core_target "test/[run_name]" + set core_bin "test-$core_test" + set core_target "test/$core_test" } else { set core_bin "core" set core_target "core"