diff --git a/base-hw/src/base/thread/thread_bootstrap.cc b/base-hw/src/base/thread/thread_bootstrap.cc
index 2642874f4d..999cdb9375 100644
--- a/base-hw/src/base/thread/thread_bootstrap.cc
+++ b/base-hw/src/base/thread/thread_bootstrap.cc
@@ -91,4 +91,5 @@ void Thread_base::_init_platform_thread(Type type)
}
/* adjust initial object state in case of a main thread */
tid().thread_id = _main_thread_id;
+ _thread_cap = env()->parent()->main_thread_cap();
}
diff --git a/base-okl4/src/base/thread/thread_bootstrap.cc b/base-okl4/src/base/thread/thread_bootstrap.cc
index e0cdb88d1c..b9996f9366 100644
--- a/base-okl4/src/base/thread/thread_bootstrap.cc
+++ b/base-okl4/src/base/thread/thread_bootstrap.cc
@@ -14,6 +14,7 @@
/* Genode includes */
#include
+#include
/* OKL4 includes */
namespace Okl4
@@ -82,4 +83,5 @@ void Genode::Thread_base::_init_platform_thread(Type type)
{
if (type == NORMAL) { return; }
_tid.l4id.raw = main_thread_tid.raw;
+ _thread_cap = env()->parent()->main_thread_cap();
}
diff --git a/base-pistachio/src/base/thread/thread_bootstrap.cc b/base-pistachio/src/base/thread/thread_bootstrap.cc
index f6941728f2..f7da3caaeb 100644
--- a/base-pistachio/src/base/thread/thread_bootstrap.cc
+++ b/base-pistachio/src/base/thread/thread_bootstrap.cc
@@ -13,6 +13,7 @@
/* Genode includes */
#include
+#include
/* Pistachio includes */
namespace Pistachio
@@ -48,5 +49,6 @@ void Genode::Thread_base::_thread_bootstrap()
void Genode::Thread_base::_init_platform_thread(Type type)
{
if (type == NORMAL) { return; }
- _tid.l4id = main_thread_tid;
+ _tid.l4id = main_thread_tid;
+ _thread_cap = env()->parent()->main_thread_cap();
}