mirror of
https://github.com/genodelabs/genode.git
synced 2025-03-14 16:26:30 +00:00
hw: remove unused object pool of pager ojects
Fix genodelabs/genode#5417
This commit is contained in:
parent
0d648eae62
commit
b0052a71be
@ -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());
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user