hw: remove unused object pool of pager ojects

Fix genodelabs/genode#5417
This commit is contained in:
Stefan Kalkowski 2025-01-13 13:30:01 +01:00 committed by Christian Helmuth
parent 0d648eae62
commit b0052a71be
2 changed files with 6 additions and 19 deletions

View File

@ -75,11 +75,7 @@ void Pager_object::wake_up()
void Pager_object::start_paging(Kernel_object<Kernel::Signal_receiver> &receiver,
Platform_thread &pager_thread)
{
using Object = Kernel_object<Kernel::Signal_context>;
using Entry = Object_pool<Pager_object>::Entry;
create(*receiver, (unsigned long)this);
Entry::cap(Object::_cap);
_pager_thread = &pager_thread;
}
@ -101,7 +97,6 @@ Pager_object::Pager_object(Cpu_session_capability cpu_session_cap,
Affinity::Location location, Session_label const &,
Cpu_session::Name const &)
:
Object_pool<Pager_object>::Entry(Kernel_object<Kernel::Signal_context>::_cap),
_badge(badge), _location(location),
_cpu_session_cap(cpu_session_cap), _thread_cap(thread_cap)
{ }
@ -198,12 +193,6 @@ Pager_entrypoint::Thread::Thread(Affinity::Location cpu)
void Pager_entrypoint::dissolve(Pager_object &o)
{
Kernel::kill_signal_context(Capability_space::capid(o.cap()));
unsigned const cpu = o.location().xpos();
if (cpu >= _cpus)
error("Invalid location of pager object ", cpu);
else
_threads[cpu].remove(&o);
}
@ -215,7 +204,6 @@ Pager_capability Pager_entrypoint::manage(Pager_object &o)
} else {
o.start_paging(_threads[cpu]._kobj,
*_threads[cpu].native_thread().platform_thread);
_threads[cpu].insert(&o);
}
return reinterpret_cap_cast<Pager_object>(o.cap());

View File

@ -17,7 +17,6 @@
/* Genode includes */
#include <base/session_label.h>
#include <base/thread.h>
#include <base/object_pool.h>
#include <base/signal.h>
#include <pager/capability.h>
@ -100,11 +99,9 @@ class Core::Ipc_pager
};
class Core::Pager_object : private Object_pool<Pager_object>::Entry,
private Kernel_object<Kernel::Signal_context>
class Core::Pager_object : private Kernel_object<Kernel::Signal_context>
{
friend class Pager_entrypoint;
friend class Object_pool<Pager_object>;
private:
@ -138,6 +135,8 @@ class Core::Pager_object : private Object_pool<Pager_object>::Entry,
Affinity::Location, Session_label const&,
Cpu_session::Name const&);
virtual ~Pager_object() {}
/**
* User identification of pager object
*/
@ -215,7 +214,8 @@ class Core::Pager_object : private Object_pool<Pager_object>::Entry,
Cpu_session_capability cpu_session_cap() const { return _cpu_session_cap; }
Thread_capability thread_cap() const { return _thread_cap; }
using Object_pool<Pager_object>::Entry::cap;
Untyped_capability cap() {
return Kernel_object<Kernel::Signal_context>::_cap; }
};
@ -225,8 +225,7 @@ class Core::Pager_entrypoint
friend class Platform;
class Thread : public Object_pool<Pager_object>,
public Genode::Thread,
class Thread : public Genode::Thread,
private Ipc_pager
{
private: