diff --git a/repos/base-tukija/include/tukija/syscall-generic.h b/repos/base-tukija/include/tukija/syscall-generic.h index be1b6d7d34..5b21a60721 100644 --- a/repos/base-tukija/include/tukija/syscall-generic.h +++ b/repos/base-tukija/include/tukija/syscall-generic.h @@ -219,7 +219,7 @@ namespace Tukija { */ struct Worker { unsigned long yield_flag{0}; /* This flag will be set if a yield request has been filed */ - unsigned long padding[3]; + unsigned long padding[7]; }; @@ -329,7 +329,7 @@ namespace Tukija { static Cip * cip() { - return reinterpret_cast(0x7fffbffd7000); + return reinterpret_cast(0x7fffbffd3000); } }; @@ -1087,7 +1087,7 @@ namespace Tukija { public: - enum { DEFAULT_QUANTUM = 1000, DEFAULT_PRIORITY = 64 }; + enum { DEFAULT_QUANTUM = 1500, DEFAULT_PRIORITY = 64 }; Qpd(mword_t quantum = DEFAULT_QUANTUM, mword_t priority = DEFAULT_PRIORITY) diff --git a/repos/base-tukija/src/core/include/cell_component.h b/repos/base-tukija/src/core/include/cell_component.h index b47323075f..942beffc34 100644 --- a/repos/base-tukija/src/core/include/cell_component.h +++ b/repos/base-tukija/src/core/include/cell_component.h @@ -91,7 +91,7 @@ class Ealan::Cell_component : public Genode::Rpc_object, * Only a region map needs to be allocated here, because the kernel will already * allocate a frame for this cell CIP during the syscall. */ - Core::platform().region_alloc().alloc_aligned(4 * Tukija::PAGE_SIZE_BYTE, Tukija::PAGE_SIZE_LOG2).with_result( + Core::platform().region_alloc().alloc_aligned(8 * Tukija::PAGE_SIZE_BYTE, Tukija::PAGE_SIZE_LOG2).with_result( [&](void *ptr) { _cip = static_cast(ptr); }, [&](Genode::Range_allocator::Alloc_error) { throw Genode::Out_of_ram(); }); diff --git a/repos/base-tukija/src/core/platform.cc b/repos/base-tukija/src/core/platform.cc index b9c868af81..0b7e1a818e 100644 --- a/repos/base-tukija/src/core/platform.cc +++ b/repos/base-tukija/src/core/platform.cc @@ -432,7 +432,7 @@ Core::Platform::Platform() region_alloc().remove_range((addr_t)_tip, get_page_size() * 128); /* exclude CIP */ - region_alloc().remove_range((addr_t)Tukija::Cip::cip(), get_page_size() * 4); + region_alloc().remove_range((addr_t)Tukija::Cip::cip(), get_page_size() * 8); /* sanity checks */ addr_t check [] = {