mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
fixup "core: don't rely on Core_env in platform.cc" (base-hw: account caps for utcb)
This commit is contained in:
@@ -29,17 +29,6 @@
|
||||
using namespace Core;
|
||||
|
||||
|
||||
Ram_dataspace_capability Platform_thread::Utcb::_allocate(Ram_allocator &ram)
|
||||
{
|
||||
try {
|
||||
return ram.alloc(sizeof(Native_utcb), CACHED);
|
||||
} catch (...) {
|
||||
error("failed to allocate UTCB");
|
||||
throw Out_of_ram();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
addr_t Platform_thread::Utcb::_attach(Region_map &core_rm)
|
||||
{
|
||||
Region_map::Attr attr { };
|
||||
|
||||
@@ -69,7 +69,14 @@ class Core::Platform_thread : Noncopyable
|
||||
addr_t const core_addr; /* UTCB address within core/kernel */
|
||||
addr_t const phys_addr;
|
||||
|
||||
Ram_dataspace_capability _allocate(Ram_allocator &);
|
||||
/*
|
||||
* \throw Out_of_ram
|
||||
* \throw Out_of_caps
|
||||
*/
|
||||
Ram_dataspace_capability _allocate(Ram_allocator &ram)
|
||||
{
|
||||
return ram.alloc(sizeof(Native_utcb), CACHED);
|
||||
}
|
||||
|
||||
addr_t _attach(Region_map &);
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ Cpu_session_component::create_thread(Capability<Pd_session> pd_cap,
|
||||
Cpu_thread_component &thread = *new (&_thread_alloc)
|
||||
Cpu_thread_component(
|
||||
cap(), *this, _thread_ep, _local_rm, _pager_ep,
|
||||
*pd, platform_pd, pd_threads, _trace_control_area,
|
||||
*pd, _ram_alloc, platform_pd, pd_threads, _trace_control_area,
|
||||
_trace_sources, weight, _weight_to_quota(weight.value),
|
||||
_thread_affinity(affinity), _label, name,
|
||||
_priority, utcb);
|
||||
|
||||
@@ -144,6 +144,7 @@ class Core::Cpu_thread_component : public Rpc_object<Cpu_thread>,
|
||||
Region_map &core_rm,
|
||||
Pager_entrypoint &pager_ep,
|
||||
Pd_session_component &pd,
|
||||
Ram_allocator &cpu_ram,
|
||||
Platform_pd &platform_pd,
|
||||
Pd_threads &pd_threads,
|
||||
Trace::Control_area &trace_control_area,
|
||||
@@ -161,7 +162,7 @@ class Core::Cpu_thread_component : public Rpc_object<Cpu_thread>,
|
||||
_weight(weight),
|
||||
_session_label(label), _name(name),
|
||||
_pd_element(pd_threads, *this),
|
||||
_platform_thread(platform_pd, ep, pd, core_rm, quota, name.string(),
|
||||
_platform_thread(platform_pd, ep, cpu_ram, core_rm, quota, name.string(),
|
||||
priority, location, utcb),
|
||||
_trace_control_slot(trace_control_area),
|
||||
_trace_sources(trace_sources),
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<default-route>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>
|
||||
<start name="test-pthread" caps="200">
|
||||
<start name="test-pthread" caps="600">
|
||||
<resource name="RAM" quantum="64M"/>
|
||||
<config>
|
||||
<vfs> <dir name="dev"> <log/> </dir> </vfs>
|
||||
|
||||
Reference in New Issue
Block a user