mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-21 18:06:50 +00:00
parent
2d21d04c76
commit
2b0170fb6a
@ -46,12 +46,15 @@ void prepare_init_main_thread()
|
|||||||
*/
|
*/
|
||||||
Native_utcb * utcb = Thread::myself()->utcb();
|
Native_utcb * utcb = Thread::myself()->utcb();
|
||||||
_parent_cap = Capability_space::import(utcb->cap_get(Native_utcb::PARENT));
|
_parent_cap = Capability_space::import(utcb->cap_get(Native_utcb::PARENT));
|
||||||
|
Kernel::ack_cap(Capability_space::capid(_parent_cap));
|
||||||
|
|
||||||
Untyped_capability ds_cap =
|
Untyped_capability ds_cap =
|
||||||
Capability_space::import(utcb->cap_get(Native_utcb::UTCB_DATASPACE));
|
Capability_space::import(utcb->cap_get(Native_utcb::UTCB_DATASPACE));
|
||||||
_main_thread_utcb_ds = reinterpret_cap_cast<Ram_dataspace>(ds_cap);
|
_main_thread_utcb_ds = reinterpret_cap_cast<Ram_dataspace>(ds_cap);
|
||||||
|
Kernel::ack_cap(Capability_space::capid(_main_thread_utcb_ds));
|
||||||
|
|
||||||
_main_thread_cap = Capability_space::import(utcb->cap_get(Native_utcb::THREAD_MYSELF));
|
_main_thread_cap = Capability_space::import(utcb->cap_get(Native_utcb::THREAD_MYSELF));
|
||||||
|
Kernel::ack_cap(Capability_space::capid(_main_thread_cap));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -83,4 +86,6 @@ void Thread::_thread_bootstrap()
|
|||||||
{
|
{
|
||||||
Kernel::capid_t capid = myself()->utcb()->cap_get(Native_utcb::THREAD_MYSELF);
|
Kernel::capid_t capid = myself()->utcb()->cap_get(Native_utcb::THREAD_MYSELF);
|
||||||
native_thread().cap = Capability_space::import(capid);
|
native_thread().cap = Capability_space::import(capid);
|
||||||
|
if (native_thread().cap.valid())
|
||||||
|
Kernel::ack_cap(Capability_space::capid(native_thread().cap));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user