diff --git a/repos/base-foc/src/core/include/vm_session_component.h b/repos/base-foc/src/core/include/vm_session_component.h index 15c8de65c8..7df96d69cb 100644 --- a/repos/base-foc/src/core/include/vm_session_component.h +++ b/repos/base-foc/src/core/include/vm_session_component.h @@ -44,7 +44,7 @@ struct Core::Vcpu : Rpc_object private: Rpc_entrypoint &_ep; - Constrained_ram_allocator &_ram_alloc; + Accounted_ram_allocator &_ram_alloc; Cap_quota_guard &_cap_alloc; Vcpu_id_allocator &_vcpu_ids; Cap_mapping _recall { true }; @@ -53,7 +53,7 @@ struct Core::Vcpu : Rpc_object public: - Vcpu(Rpc_entrypoint &, Constrained_ram_allocator &, Cap_quota_guard &, + Vcpu(Rpc_entrypoint &, Accounted_ram_allocator &, Cap_quota_guard &, Platform_thread &, Cap_mapping &, Vcpu_id_allocator &); ~Vcpu(); @@ -78,11 +78,11 @@ class Core::Vm_session_component { private: - using Con_ram_allocator = Constrained_ram_allocator; + using Con_ram_allocator = Accounted_ram_allocator; using Avl_region = Allocator_avl_tpl; Rpc_entrypoint &_ep; - Con_ram_allocator _constrained_md_ram_alloc; + Con_ram_allocator _ram; Sliced_heap _heap; Avl_region _map { &_heap }; Cap_mapping _task_vcpu { true }; diff --git a/repos/base-foc/src/core/vm_session_component.cc b/repos/base-foc/src/core/vm_session_component.cc index d758dfc5fe..46e1be3ef1 100644 --- a/repos/base-foc/src/core/vm_session_component.cc +++ b/repos/base-foc/src/core/vm_session_component.cc @@ -29,12 +29,12 @@ using namespace Core; struct Vcpu_creation_error : Exception { }; -Vcpu::Vcpu(Rpc_entrypoint &ep, - Constrained_ram_allocator &ram_alloc, - Cap_quota_guard &cap_alloc, - Platform_thread &thread, - Cap_mapping &task_cap, - Vcpu_id_allocator &vcpu_alloc) +Vcpu::Vcpu(Rpc_entrypoint &ep, + Accounted_ram_allocator &ram_alloc, + Cap_quota_guard &cap_alloc, + Platform_thread &thread, + Cap_mapping &task_cap, + Vcpu_id_allocator &vcpu_alloc) : _ep(ep), _ram_alloc(ram_alloc), @@ -99,8 +99,8 @@ Vm_session_component::Vm_session_component(Rpc_entrypoint &ep, Ram_quota_guard(resources.ram_quota), Cap_quota_guard(resources.cap_quota), _ep(ep), - _constrained_md_ram_alloc(ram, _ram_quota_guard(), _cap_quota_guard()), - _heap(_constrained_md_ram_alloc, local_rm) + _ram(ram, _ram_quota_guard(), _cap_quota_guard()), + _heap(_ram, local_rm) { Cap_quota_guard::Reservation caps(_cap_quota_guard(), Cap_quota{1}); @@ -152,7 +152,7 @@ Capability Vm_session_component::create_vcpu(Thread_cap try { vcpu = new (_heap) Registered(_vcpus, _ep, - _constrained_md_ram_alloc, + _ram, _cap_quota_guard(), thread->platform_thread(), _task_vcpu, diff --git a/repos/base-hw/src/core/guest_memory.h b/repos/base-hw/src/core/guest_memory.h index 5cfe658043..96eba0a7a5 100644 --- a/repos/base-hw/src/core/guest_memory.h +++ b/repos/base-hw/src/core/guest_memory.h @@ -218,10 +218,9 @@ class Core::Guest_memory } - Guest_memory(Constrained_ram_allocator &constrained_md_ram_alloc, - Region_map ®ion_map) + Guest_memory(Accounted_ram_allocator &ram, Region_map ®ion_map) : - _sliced_heap(constrained_md_ram_alloc, region_map) + _sliced_heap(ram, region_map) { /* configure managed VM area */ _map.add_range(0UL, ~0UL); diff --git a/repos/base-hw/src/core/spec/arm/virtualization/vm_session_component.cc b/repos/base-hw/src/core/spec/arm/virtualization/vm_session_component.cc index fdd40179e5..9684d28ca6 100644 --- a/repos/base-hw/src/core/spec/arm/virtualization/vm_session_component.cc +++ b/repos/base-hw/src/core/spec/arm/virtualization/vm_session_component.cc @@ -102,8 +102,8 @@ Vm_session_component::Vm_session_component(Vmid_allocator & vmid_alloc, Ram_quota_guard(resources.ram_quota), Cap_quota_guard(resources.cap_quota), _ep(ds_ep), - _constrained_md_ram_alloc(ram_alloc, _ram_quota_guard(), _cap_quota_guard()), - _sliced_heap(_constrained_md_ram_alloc, region_map), + _ram(ram_alloc, _ram_quota_guard(), _cap_quota_guard()), + _sliced_heap(_ram, region_map), _region_map(region_map), _table(*construct_at(_alloc_table())), _table_array(*(new (cma()) Board::Vm_page_table_array([] (void * virt) { @@ -137,7 +137,7 @@ Vm_session_component::~Vm_session_component() Vcpu & vcpu = *_vcpus[i]; if (vcpu.ds_cap.valid()) { _region_map.detach(vcpu.ds_addr); - _constrained_md_ram_alloc.free(vcpu.ds_cap); + _ram.free(vcpu.ds_cap); } } diff --git a/repos/base-hw/src/core/spec/arm_v7/trustzone/vm_session_component.cc b/repos/base-hw/src/core/spec/arm_v7/trustzone/vm_session_component.cc index 2f64076c47..67dbb40001 100644 --- a/repos/base-hw/src/core/spec/arm_v7/trustzone/vm_session_component.cc +++ b/repos/base-hw/src/core/spec/arm_v7/trustzone/vm_session_component.cc @@ -69,8 +69,8 @@ Vm_session_component::Vm_session_component(Vmid_allocator &vmids, Rpc_entrypoint Ram_quota_guard(resources.ram_quota), Cap_quota_guard(resources.cap_quota), _ep(ep), - _constrained_md_ram_alloc(ram_alloc, _ram_quota_guard(), _cap_quota_guard()), - _sliced_heap(_constrained_md_ram_alloc, region_map), + _ram(ram_alloc, _ram_quota_guard(), _cap_quota_guard()), + _sliced_heap(_ram, region_map), _region_map(region_map), _table(*construct_at(_alloc_table())), _table_array(dummy_array()), @@ -104,7 +104,7 @@ Vm_session_component::~Vm_session_component() Vcpu & vcpu = *_vcpus[i]; if (vcpu.ds_cap.valid()) { _region_map.detach(vcpu.ds_addr); - _constrained_md_ram_alloc.free(vcpu.ds_cap); + _ram.free(vcpu.ds_cap); } } diff --git a/repos/base-hw/src/core/spec/x86_64/vcpu.h b/repos/base-hw/src/core/spec/x86_64/vcpu.h index 0d82da6e34..072f7f3018 100644 --- a/repos/base-hw/src/core/spec/x86_64/vcpu.h +++ b/repos/base-hw/src/core/spec/x86_64/vcpu.h @@ -41,7 +41,7 @@ class Core::Vcpu : public Rpc_object Rpc_entrypoint &_ep; Vcpu_data _vcpu_data { }; Kernel_object _kobj { }; - Constrained_ram_allocator &_ram; + Accounted_ram_allocator &_ram; Ram_dataspace_capability _ds_cap { }; Region_map &_region_map; Affinity::Location _location; @@ -55,19 +55,19 @@ class Core::Vcpu : public Rpc_object public: - Vcpu(Kernel::Vm::Identity &id, - Rpc_entrypoint &ep, - Constrained_ram_allocator &constrained_ram_alloc, - Region_map ®ion_map, - Affinity::Location location) + Vcpu(Kernel::Vm::Identity &id, + Rpc_entrypoint &ep, + Accounted_ram_allocator &ram, + Region_map ®ion_map, + Affinity::Location location) : _id(id), _ep(ep), - _ram(constrained_ram_alloc), + _ram(ram), _ds_cap( {_ram.alloc(vcpu_state_size(), Cache::UNCACHED)} ), _region_map(region_map), _location(location), - _vcpu_data_pages(ep, constrained_ram_alloc, region_map) + _vcpu_data_pages(ep, ram, region_map) { Region_map::Attr attr { }; attr.writeable = true; diff --git a/repos/base-hw/src/core/spec/x86_64/virtualization/svm_session_component.h b/repos/base-hw/src/core/spec/x86_64/virtualization/svm_session_component.h index 5e631f76bd..d2f4dbb240 100644 --- a/repos/base-hw/src/core/spec/x86_64/virtualization/svm_session_component.h +++ b/repos/base-hw/src/core/spec/x86_64/virtualization/svm_session_component.h @@ -84,7 +84,7 @@ class Core::Svm_session_component Registry> _vcpus { }; Rpc_entrypoint &_ep; - Constrained_ram_allocator _constrained_ram_alloc; + Accounted_ram_allocator _accounted_ram_alloc; Region_map &_region_map; Heap _heap; Phys_allocated _table; @@ -120,17 +120,17 @@ class Core::Svm_session_component : Session_object(ds_ep, resources, label, diag), _ep(ds_ep), - _constrained_ram_alloc(ram_alloc, _ram_quota_guard(), _cap_quota_guard()), + _accounted_ram_alloc(ram_alloc, _ram_quota_guard(), _cap_quota_guard()), _region_map(region_map), - _heap(_constrained_ram_alloc, region_map), - _table(_ep, _constrained_ram_alloc, _region_map), - _table_array(_ep, _constrained_ram_alloc, _region_map, + _heap(_accounted_ram_alloc, region_map), + _table(_ep, _accounted_ram_alloc, _region_map), + _table_array(_ep, _accounted_ram_alloc, _region_map, [] (Phys_allocated &table_array, auto *obj_ptr) { construct_at(obj_ptr, [&] (void *virt) { return table_array.phys_addr() + ((addr_t) obj_ptr - (addr_t)virt); }); }), - _memory(_constrained_ram_alloc, region_map), + _memory(_accounted_ram_alloc, region_map), _vmid_alloc(vmid_alloc), _id({(unsigned)_vmid_alloc.alloc(), (void *)_table.phys_addr()}) { } @@ -223,7 +223,7 @@ class Core::Svm_session_component Registered(_vcpus, _id, _ep, - _constrained_ram_alloc, + _accounted_ram_alloc, _region_map, vcpu_location); diff --git a/repos/base-hw/src/core/spec/x86_64/virtualization/vmx_session_component.h b/repos/base-hw/src/core/spec/x86_64/virtualization/vmx_session_component.h index 66538e11bd..56f0ec9d69 100644 --- a/repos/base-hw/src/core/spec/x86_64/virtualization/vmx_session_component.h +++ b/repos/base-hw/src/core/spec/x86_64/virtualization/vmx_session_component.h @@ -84,7 +84,7 @@ class Core::Vmx_session_component Registry> _vcpus { }; Rpc_entrypoint &_ep; - Constrained_ram_allocator _constrained_ram_alloc; + Accounted_ram_allocator _accounted_ram_alloc; Region_map &_region_map; Heap _heap; Phys_allocated _table; @@ -120,17 +120,17 @@ class Core::Vmx_session_component : Session_object(ds_ep, resources, label, diag), _ep(ds_ep), - _constrained_ram_alloc(ram_alloc, _ram_quota_guard(), _cap_quota_guard()), + _accounted_ram_alloc(ram_alloc, _ram_quota_guard(), _cap_quota_guard()), _region_map(region_map), - _heap(_constrained_ram_alloc, region_map), - _table(_ep, _constrained_ram_alloc, _region_map), - _table_array(_ep, _constrained_ram_alloc, _region_map, + _heap(_accounted_ram_alloc, region_map), + _table(_ep, _accounted_ram_alloc, _region_map), + _table_array(_ep, _accounted_ram_alloc, _region_map, [] (Phys_allocated &table_array, auto *obj_ptr) { construct_at(obj_ptr, [&] (void *virt) { return table_array.phys_addr() + ((addr_t) obj_ptr - (addr_t)virt); }); }), - _memory(_constrained_ram_alloc, region_map), + _memory(_accounted_ram_alloc, region_map), _vmid_alloc(vmid_alloc), _id({(unsigned)_vmid_alloc.alloc(), (void *)_table.phys_addr()}) { } @@ -223,7 +223,7 @@ class Core::Vmx_session_component Registered(_vcpus, _id, _ep, - _constrained_ram_alloc, + _accounted_ram_alloc, _region_map, vcpu_location); diff --git a/repos/base-hw/src/core/vm_session_component.cc b/repos/base-hw/src/core/vm_session_component.cc index 064d7eb3a4..f6aa2cc3ab 100644 --- a/repos/base-hw/src/core/vm_session_component.cc +++ b/repos/base-hw/src/core/vm_session_component.cc @@ -63,7 +63,7 @@ Capability Vm_session_component::create_vcpu(Thread_cap Vcpu & vcpu = *_vcpus[_vcpu_id_alloc]; try { - vcpu.ds_cap = _constrained_md_ram_alloc.alloc(_ds_size(), Cache::UNCACHED); + vcpu.ds_cap = _ram.alloc(_ds_size(), Cache::UNCACHED); Region_map::Attr attr { }; attr.writeable = true; @@ -72,13 +72,13 @@ Capability Vm_session_component::create_vcpu(Thread_cap [&] (Region_map::Attach_error) -> addr_t { error("failed to attach VCPU data within core"); if (vcpu.ds_cap.valid()) - _constrained_md_ram_alloc.free(vcpu.ds_cap); + _ram.free(vcpu.ds_cap); _vcpus[_vcpu_id_alloc].destruct(); return 0; }); } catch (...) { if (vcpu.ds_cap.valid()) - _constrained_md_ram_alloc.free(vcpu.ds_cap); + _ram.free(vcpu.ds_cap); _vcpus[_vcpu_id_alloc].destruct(); throw; } diff --git a/repos/base-hw/src/core/vm_session_component.h b/repos/base-hw/src/core/vm_session_component.h index 2eb6d2e2a9..1d96bb2c29 100644 --- a/repos/base-hw/src/core/vm_session_component.h +++ b/repos/base-hw/src/core/vm_session_component.h @@ -85,7 +85,7 @@ class Core::Vm_session_component Constructible _vcpus[Board::VCPU_MAX]; Rpc_entrypoint &_ep; - Constrained_ram_allocator _constrained_md_ram_alloc; + Accounted_ram_allocator _ram; Sliced_heap _sliced_heap; Avl_region _map { &_sliced_heap }; Region_map &_region_map; diff --git a/repos/base-nova/src/core/include/vm_session_component.h b/repos/base-nova/src/core/include/vm_session_component.h index c2eb55a54a..a320975b9f 100644 --- a/repos/base-nova/src/core/include/vm_session_component.h +++ b/repos/base-nova/src/core/include/vm_session_component.h @@ -38,7 +38,7 @@ class Core::Vm_session_component { private: - using Con_ram_allocator = Constrained_ram_allocator; + using Con_ram_allocator = Accounted_ram_allocator; using Avl_region = Allocator_avl_tpl; class Vcpu : public Rpc_object, @@ -51,7 +51,7 @@ class Core::Vm_session_component private: Rpc_entrypoint &_ep; - Constrained_ram_allocator &_ram_alloc; + Accounted_ram_allocator &_ram_alloc; Cap_quota_guard &_cap_alloc; Trace::Source_registry &_trace_sources; addr_t _sel_sm_ec_sc; @@ -92,7 +92,7 @@ class Core::Vm_session_component public: Vcpu(Rpc_entrypoint &, - Constrained_ram_allocator &ram_alloc, + Accounted_ram_allocator &ram_alloc, Cap_quota_guard &cap_alloc, unsigned id, unsigned kernel_id, @@ -129,7 +129,7 @@ class Core::Vm_session_component Rpc_entrypoint &_ep; Trace::Control_area _trace_control_area; Trace::Source_registry &_trace_sources; - Con_ram_allocator _constrained_md_ram_alloc; + Con_ram_allocator _ram; Sliced_heap _heap; Avl_region _map { &_heap }; addr_t _pd_sel { 0 }; diff --git a/repos/base-nova/src/core/vm_session_component.cc b/repos/base-nova/src/core/vm_session_component.cc index 1ae8882ebf..a833957e5c 100644 --- a/repos/base-nova/src/core/vm_session_component.cc +++ b/repos/base-nova/src/core/vm_session_component.cc @@ -139,7 +139,7 @@ void Vm_session_component::Vcpu::exit_handler(unsigned const exit, Vm_session_component::Vcpu::Vcpu(Rpc_entrypoint &ep, - Constrained_ram_allocator &ram_alloc, + Accounted_ram_allocator &ram_alloc, Cap_quota_guard &cap_alloc, unsigned const id, unsigned const kernel_id, @@ -329,7 +329,7 @@ Capability Vm_session_component::create_vcpu(Thread_cap Vcpu &vcpu = *new (_heap) Registered(_vcpus, _ep, - _constrained_md_ram_alloc, + _ram, _cap_quota_guard(), vcpu_id, (unsigned)kernel_cpu_id, @@ -363,8 +363,8 @@ Vm_session_component::Vm_session_component(Rpc_entrypoint &ep, Cap_quota_guard(resources.cap_quota), _ep(ep), _trace_control_area(ram, local_rm), _trace_sources(trace_sources), - _constrained_md_ram_alloc(ram, _ram_quota_guard(), _cap_quota_guard()), - _heap(_constrained_md_ram_alloc, local_rm), + _ram(ram, _ram_quota_guard(), _cap_quota_guard()), + _heap(_ram, local_rm), _priority(scale_priority(priority, "VM session")), _session_label(label) { diff --git a/repos/base-sel4/src/core/include/vm_session_component.h b/repos/base-sel4/src/core/include/vm_session_component.h index c1046fdd60..998f084cee 100644 --- a/repos/base-sel4/src/core/include/vm_session_component.h +++ b/repos/base-sel4/src/core/include/vm_session_component.h @@ -41,7 +41,7 @@ class Core::Vm_session_component private: Rpc_entrypoint &_ep; - Constrained_ram_allocator &_ram_alloc; + Accounted_ram_allocator &_ram_alloc; Ram_dataspace_capability const _ds_cap; Cap_sel _notification { 0 }; @@ -49,7 +49,7 @@ class Core::Vm_session_component public: - Vcpu(Rpc_entrypoint &, Constrained_ram_allocator &, + Vcpu(Rpc_entrypoint &, Accounted_ram_allocator &, Cap_quota_guard &, seL4_Untyped); ~Vcpu(); @@ -65,14 +65,14 @@ class Core::Vm_session_component using Avl_region = Allocator_avl_tpl; - Rpc_entrypoint &_ep; - Constrained_ram_allocator _constrained_md_ram_alloc; - Heap _heap; - Avl_region _map { &_heap }; - unsigned _pd_id { 0 }; - Cap_sel _vm_page_table; - Page_table_registry _page_table_registry { _heap }; - Vm_space _vm_space; + Rpc_entrypoint &_ep; + Accounted_ram_allocator _ram; + Heap _heap; + Avl_region _map { &_heap }; + unsigned _pd_id { 0 }; + Cap_sel _vm_page_table; + Page_table_registry _page_table_registry { _heap }; + Vm_space _vm_space; struct { addr_t _phys; seL4_Untyped _service; diff --git a/repos/base-sel4/src/core/spec/x86/vm_session_component.cc b/repos/base-sel4/src/core/spec/x86/vm_session_component.cc index f703de8aff..85cdc535a0 100644 --- a/repos/base-sel4/src/core/spec/x86/vm_session_component.cc +++ b/repos/base-sel4/src/core/spec/x86/vm_session_component.cc @@ -44,10 +44,10 @@ void Vm_session_component::Vcpu::_free_up() } -Vm_session_component::Vcpu::Vcpu(Rpc_entrypoint &ep, - Constrained_ram_allocator &ram_alloc, - Cap_quota_guard &cap_alloc, - seL4_Untyped const service) +Vm_session_component::Vcpu::Vcpu(Rpc_entrypoint &ep, + Accounted_ram_allocator &ram_alloc, + Cap_quota_guard &cap_alloc, + seL4_Untyped const service) : _ep(ep), _ram_alloc(ram_alloc), @@ -97,8 +97,8 @@ try Ram_quota_guard(resources.ram_quota), Cap_quota_guard(resources.cap_quota), _ep(ep), - _constrained_md_ram_alloc(ram, _ram_quota_guard(), _cap_quota_guard()), - _heap(_constrained_md_ram_alloc, local_rm), + _ram(ram, _ram_quota_guard(), _cap_quota_guard()), + _heap(_ram, local_rm), _pd_id((uint32_t)Platform_pd::pd_id_alloc().alloc()), _vm_page_table(platform_specific().core_sel_alloc().alloc()), _vm_space(_vm_page_table, @@ -212,7 +212,7 @@ Capability Vm_session_component::create_vcpu(Thread_cap try { vcpu = new (_heap) Registered(_vcpus, _ep, - _constrained_md_ram_alloc, + _ram, _cap_quota_guard(), _notifications._service); diff --git a/repos/base/include/base/ram_allocator.h b/repos/base/include/base/ram_allocator.h index f61add9709..5871ccee4c 100644 --- a/repos/base/include/base/ram_allocator.h +++ b/repos/base/include/base/ram_allocator.h @@ -29,7 +29,7 @@ namespace Genode { struct Ram_allocator; - class Constrained_ram_allocator; + class Accounted_ram_allocator; } @@ -98,7 +98,7 @@ struct Genode::Ram_allocator : Interface, Noncopyable /** * Quota-bounds-checking wrapper of the 'Ram_allocator' interface */ -class Genode::Constrained_ram_allocator : public Ram_allocator +class Genode::Accounted_ram_allocator : public Ram_allocator { private: @@ -108,9 +108,9 @@ class Genode::Constrained_ram_allocator : public Ram_allocator public: - Constrained_ram_allocator(Ram_allocator &ram_alloc, - Ram_quota_guard &ram_guard, - Cap_quota_guard &cap_guard) + Accounted_ram_allocator(Ram_allocator &ram_alloc, + Ram_quota_guard &ram_guard, + Cap_quota_guard &cap_guard) : _ram_alloc(ram_alloc), _ram_guard(ram_guard), _cap_guard(cap_guard) { } diff --git a/repos/base/src/core/include/constrained_core_ram.h b/repos/base/src/core/include/accounted_core_ram.h similarity index 82% rename from repos/base/src/core/include/constrained_core_ram.h rename to repos/base/src/core/include/accounted_core_ram.h index 393ed923c3..39e8c6d777 100644 --- a/repos/base/src/core/include/constrained_core_ram.h +++ b/repos/base/src/core/include/accounted_core_ram.h @@ -12,8 +12,8 @@ * under the terms of the GNU Affero General Public License version 3. */ -#ifndef _CORE__INCLUDE__CORE_CONSTRAINED_CORE_RAM_H_ -#define _CORE__INCLUDE__CORE_CONSTRAINED_CORE_RAM_H_ +#ifndef _CORE__INCLUDE__ACCOUNTED_CORE_RAM_H_ +#define _CORE__INCLUDE__ACCOUNTED_CORE_RAM_H_ /* Genode includes */ #include @@ -21,10 +21,10 @@ /* core includes */ #include -namespace Core { class Constrained_core_ram; } +namespace Core { class Accounted_core_ram; } -class Core::Constrained_core_ram : public Allocator +class Core::Accounted_core_ram : public Allocator { private: @@ -36,14 +36,14 @@ class Core::Constrained_core_ram : public Allocator public: - Constrained_core_ram(Ram_quota_guard &ram_guard, - Cap_quota_guard &cap_guard, - Range_allocator &core_mem) + Accounted_core_ram(Ram_quota_guard &ram_guard, + Cap_quota_guard &cap_guard, + Range_allocator &core_mem) : _ram_guard(ram_guard), _cap_guard(cap_guard), _core_mem(core_mem) { } - ~Constrained_core_ram() + ~Accounted_core_ram() { if (!core_mem_allocated) return; @@ -90,4 +90,4 @@ class Core::Constrained_core_ram : public Allocator size_t overhead(size_t) const override { return 0; } bool need_size_for_free() const override { return true; } }; -#endif /* _CORE__INCLUDE__CORE_CONSTRAINED_CORE_RAM_H_ */ +#endif /* _CORE__INCLUDE__ACCOUNTED_CORE_RAM_H_ */ diff --git a/repos/base/src/core/include/cpu_session_component.h b/repos/base/src/core/include/cpu_session_component.h index 0b0cf54daf..3c4894c8a3 100644 --- a/repos/base/src/core/include/cpu_session_component.h +++ b/repos/base/src/core/include/cpu_session_component.h @@ -44,7 +44,7 @@ class Core::Cpu_session_component : public Session_object, Rpc_entrypoint &_thread_ep; Pager_entrypoint &_pager_ep; Region_map &_local_rm; - Constrained_ram_allocator _ram_alloc; + Accounted_ram_allocator _ram_alloc; Sliced_heap _md_alloc; /* guarded meta-data allocator */ Cpu_thread_allocator _thread_alloc; /* meta-data allocator */ Mutex _thread_alloc_lock { }; /* protect allocator access */ diff --git a/repos/base/src/core/include/pd_session_component.h b/repos/base/src/core/include/pd_session_component.h index ca1cbeebfa..a185d9136b 100644 --- a/repos/base/src/core/include/pd_session_component.h +++ b/repos/base/src/core/include/pd_session_component.h @@ -27,7 +27,7 @@ #include /* core includes */ -#include +#include #include #include #include @@ -57,16 +57,16 @@ class Core::Pd_session_component : public Session_object Constructible > _cap_account { }; Constructible > _ram_account { }; - Rpc_entrypoint &_ep; - Core::System_control &_system_control; - Constrained_ram_allocator _constrained_md_ram_alloc; - Constrained_core_ram _constrained_core_ram_alloc; - Sliced_heap _sliced_heap; - Capability _parent { }; - Ram_dataspace_factory _ram_ds_factory; - Signal_broker _signal_broker; - Rpc_cap_factory _rpc_cap_factory; - Native_pd_component _native_pd; + Rpc_entrypoint &_ep; + Core::System_control &_system_control; + Accounted_ram_allocator _accounted_md_ram_alloc; + Accounted_core_ram _accounted_core_ram_alloc; + Sliced_heap _sliced_heap; + Capability _parent { }; + Ram_dataspace_factory _ram_ds_factory; + Signal_broker _signal_broker; + Rpc_cap_factory _rpc_cap_factory; + Native_pd_component _native_pd; Constructible _pd { }; @@ -148,11 +148,11 @@ class Core::Pd_session_component : public Session_object Session_object(ep, resources, label, diag), _ep(ep), _system_control(system_control), - _constrained_md_ram_alloc(*this, _ram_quota_guard(), _cap_quota_guard()), - _constrained_core_ram_alloc(_ram_quota_guard(), _cap_quota_guard(), core_mem), - _sliced_heap(_constrained_md_ram_alloc, local_rm), + _accounted_md_ram_alloc(*this, _ram_quota_guard(), _cap_quota_guard()), + _accounted_core_ram_alloc(_ram_quota_guard(), _cap_quota_guard(), core_mem), + _sliced_heap(_accounted_md_ram_alloc, local_rm), _ram_ds_factory(ep, phys_alloc, phys_range, - _constrained_core_ram_alloc), + _accounted_core_ram_alloc), _signal_broker(_sliced_heap, signal_ep, signal_ep), _rpc_cap_factory(_sliced_heap), _native_pd(*this, args), diff --git a/repos/base/src/core/include/rm_session_component.h b/repos/base/src/core/include/rm_session_component.h index c8377927ed..bbad67d6de 100644 --- a/repos/base/src/core/include/rm_session_component.h +++ b/repos/base/src/core/include/rm_session_component.h @@ -30,10 +30,10 @@ class Core::Rm_session_component : public Session_object { private: - Rpc_entrypoint &_ep; - Constrained_ram_allocator _ram_alloc; - Sliced_heap _md_alloc; - Pager_entrypoint &_pager_ep; + Rpc_entrypoint &_ep; + Accounted_ram_allocator _ram_alloc; + Sliced_heap _md_alloc; + Pager_entrypoint &_pager_ep; Mutex _region_maps_lock { }; List _region_maps { }; diff --git a/repos/base/src/core/include/trace/session_component.h b/repos/base/src/core/include/trace/session_component.h index 0aa7301773..54074ef8c7 100644 --- a/repos/base/src/core/include/trace/session_component.h +++ b/repos/base/src/core/include/trace/session_component.h @@ -35,7 +35,7 @@ class Core::Trace::Session_component { private: - Constrained_ram_allocator _ram; + Accounted_ram_allocator _ram; Region_map &_local_rm; Sliced_heap _md_alloc { _ram, _local_rm }; Tslab _subjects_slab; diff --git a/repos/gems/src/server/wm/decorator_gui.h b/repos/gems/src/server/wm/decorator_gui.h index e59ef3688f..7f1db5ed81 100644 --- a/repos/gems/src/server/wm/decorator_gui.h +++ b/repos/gems/src/server/wm/decorator_gui.h @@ -77,7 +77,7 @@ struct Wm::Decorator_gui_session : Session_object, Env &_env; - Constrained_ram_allocator _ram { _env.ram(), _ram_quota_guard(), _cap_quota_guard() }; + Accounted_ram_allocator _ram { _env.ram(), _ram_quota_guard(), _cap_quota_guard() }; Sliced_heap _session_alloc { _ram, _env.rm() }; diff --git a/repos/gems/src/server/wm/gui.h b/repos/gems/src/server/wm/gui.h index 780f0eeae1..d80ccafc29 100644 --- a/repos/gems/src/server/wm/gui.h +++ b/repos/gems/src/server/wm/gui.h @@ -544,7 +544,7 @@ class Wm::Gui::Session_component : public Session_object, Env &_env; Action &_action; - Constrained_ram_allocator _ram { + Accounted_ram_allocator _ram { _env.ram(), _ram_quota_guard(), _cap_quota_guard() }; Sliced_heap _session_alloc { _ram, _env.rm() }; diff --git a/repos/os/src/driver/gpu/intel/main.cc b/repos/os/src/driver/gpu/intel/main.cc index 992f57f161..5ec6234f8b 100644 --- a/repos/os/src/driver/gpu/intel/main.cc +++ b/repos/os/src/driver/gpu/intel/main.cc @@ -1851,7 +1851,7 @@ class Gpu::Session_component : public Genode::Session_object Genode::Env &_env; Genode::Region_map &_rm; - Constrained_ram_allocator _ram; + Accounted_ram_allocator _ram; Igd::Device &_device; Heap _heap { _device._pci_backend_alloc, _rm }; /* used to mark ownership of an allocated VRAM object */ diff --git a/repos/os/src/driver/platform/session_component.cc b/repos/os/src/driver/platform/session_component.cc index 59378e63aa..5a28881db5 100644 --- a/repos/os/src/driver/platform/session_component.cc +++ b/repos/os/src/driver/platform/session_component.cc @@ -333,22 +333,24 @@ Session_component::alloc_dma_buffer(size_t const size, Cache cache) { struct Guard { - Constrained_ram_allocator & _env_ram; - Heap & _heap; - Io_mmu_domain_registry & _domain_registry; - bool _cleanup { true }; + Accounted_ram_allocator &_env_ram; + Heap &_heap; + Io_mmu_domain_registry &_domain_registry; + bool _cleanup { true }; + + Ram_dataspace_capability ram_cap { }; - Ram_dataspace_capability ram_cap { }; struct { - Dma_buffer * buf { nullptr }; + Dma_buffer * buf { nullptr }; }; void disarm() { _cleanup = false; } - Guard(Constrained_ram_allocator & env_ram, - Heap & heap, - Io_mmu_domain_registry & registry) - : _env_ram(env_ram), _heap(heap), _domain_registry(registry) + Guard(Accounted_ram_allocator &env_ram, + Heap &heap, + Io_mmu_domain_registry ®istry) + : + _env_ram(env_ram), _heap(heap), _domain_registry(registry) { } ~Guard() @@ -455,7 +457,7 @@ Session_component::Session_component(Env & env, * exceptions resp. does not account costs for the ROM * dataspace to the client for the moment, we cannot do * so in the dynamic rom session, and cannot use the - * constrained ram allocator within it. Therefore, + * accounted ram allocator within it. Therefore, * we account the costs here until the ROM session interface * changes. */ diff --git a/repos/os/src/driver/platform/session_component.h b/repos/os/src/driver/platform/session_component.h index 79287b5cb2..362b325eb9 100644 --- a/repos/os/src/driver/platform/session_component.h +++ b/repos/os/src/driver/platform/session_component.h @@ -121,7 +121,7 @@ class Driver::Session_component Io_mmu_devices & _io_mmu_devices; Registry & _irq_controller_registry; Device::Owner _owner_id { *this }; - Constrained_ram_allocator _env_ram { _env.pd(), + Accounted_ram_allocator _env_ram { _env.pd(), _ram_quota_guard(), _cap_quota_guard() }; Heap _md_alloc { _env_ram, _env.rm() }; diff --git a/repos/os/src/lib/genode_c_api/usb.cc b/repos/os/src/lib/genode_c_api/usb.cc index cd281ae8ce..437f249c4d 100644 --- a/repos/os/src/lib/genode_c_api/usb.cc +++ b/repos/os/src/lib/genode_c_api/usb.cc @@ -530,7 +530,7 @@ class Session_component genode_shared_dataspace_free_t _free_fn; genode_usb_dev_release_t _release_fn; - Constrained_ram_allocator _env_ram { _env.pd(), + Accounted_ram_allocator _env_ram { _env.pd(), _ram_quota_guard(), _cap_quota_guard() }; Heap _heap { _env_ram, _env.rm() }; diff --git a/repos/os/src/server/black_hole/capture.h b/repos/os/src/server/black_hole/capture.h index 7e8e7e5b92..3e123a59cc 100644 --- a/repos/os/src/server/black_hole/capture.h +++ b/repos/os/src/server/black_hole/capture.h @@ -37,7 +37,7 @@ class Capture::Session_component : public Session_object Env &_env; - Constrained_ram_allocator _ram; + Accounted_ram_allocator _ram; Constructible _buffer { }; diff --git a/repos/os/src/server/black_hole/event.h b/repos/os/src/server/black_hole/event.h index bdc2e9148c..afbabbc6f5 100644 --- a/repos/os/src/server/black_hole/event.h +++ b/repos/os/src/server/black_hole/event.h @@ -33,7 +33,7 @@ public Session_object { private: - Constrained_ram_allocator _ram; + Accounted_ram_allocator _ram; Attached_ram_dataspace _ds; diff --git a/repos/os/src/server/cpu_balancer/session.h b/repos/os/src/server/cpu_balancer/session.h index 7117971083..610deffd7a 100644 --- a/repos/os/src/server/cpu_balancer/session.h +++ b/repos/os/src/server/cpu_balancer/session.h @@ -38,7 +38,7 @@ namespace Cpu { using Client_id = Id_space::Element; using Child_list = Registry >; using Thread_list = Registry >; - using Ram_allocator = Constrained_ram_allocator; + using Ram_allocator = Accounted_ram_allocator; } struct Cpu::Thread_client : Interface diff --git a/repos/os/src/server/event_filter/event_session.h b/repos/os/src/server/event_filter/event_session.h index 3f68b8800b..0a95fc9d74 100644 --- a/repos/os/src/server/event_filter/event_session.h +++ b/repos/os/src/server/event_filter/event_session.h @@ -42,7 +42,7 @@ class Event_filter::Event_session : public Session_object Env &_env; - Constrained_ram_allocator _ram; + Accounted_ram_allocator _ram; Handler &_handler; diff --git a/repos/os/src/server/nitpicker/event_session.h b/repos/os/src/server/nitpicker/event_session.h index 7fe50a2f45..9e25467df2 100644 --- a/repos/os/src/server/nitpicker/event_session.h +++ b/repos/os/src/server/nitpicker/event_session.h @@ -37,7 +37,7 @@ class Nitpicker::Event_session : public Session_object, Env &_env; Action &_action; - Constrained_ram_allocator _ram; + Accounted_ram_allocator _ram; Resizeable_texture _texture { }; diff --git a/repos/os/src/server/vfs/main.cc b/repos/os/src/server/vfs/main.cc index 8175faf747..9927254008 100644 --- a/repos/os/src/server/vfs/main.cc +++ b/repos/os/src/server/vfs/main.cc @@ -59,11 +59,11 @@ class Vfs_server::Session_resources { protected: - Genode::Ram_quota_guard _ram_guard; - Genode::Cap_quota_guard _cap_guard; - Genode::Constrained_ram_allocator _ram_alloc; - Genode::Attached_ram_dataspace _packet_ds; - Genode::Heap _alloc; + Genode::Ram_quota_guard _ram_guard; + Genode::Cap_quota_guard _cap_guard; + Genode::Accounted_ram_allocator _ram_alloc; + Genode::Attached_ram_dataspace _packet_ds; + Genode::Heap _alloc; Session_resources(Genode::Ram_allocator &ram, Genode::Region_map ®ion_map,