Added RPC to get a habitat's affinity.

This commit is contained in:
Michael Mueller
2025-02-27 16:21:16 +01:00
parent 1ea0f6ad52
commit da184d07a1
3 changed files with 16 additions and 1 deletions

View File

@@ -30,5 +30,10 @@ struct Ealan::Habitat_client : Genode::Rpc_client<Ealan::Habitat_session>
Cell_capability create_cell(Genode::Capability<Genode::Pd_session> pd, Genode::Affinity &affinity, Genode::uint16_t prio, Genode::Session_label const &label) override {
return call<Rpc_create_cell>(pd, affinity, prio, label);
}
Genode::Affinity affinity() override
{
return call<Rpc_affinity>();
}
};
#endif

View File

@@ -31,6 +31,11 @@ struct Ealan::Habitat_connection : Genode::Connection<Ealan::Habitat_session>, H
Cell_capability create_cell(Genode::Capability<Genode::Pd_session> pd_cap, Genode::Affinity &affinity, Genode::uint16_t prio, Genode::Session_label const &label) override {
return Habitat_client::create_cell(pd_cap, affinity, prio, label);
}
Genode::Affinity affinity() override
{
return Habitat_client::affinity();
}
};
#endif

View File

@@ -19,6 +19,7 @@
#include <session/session.h>
#include <pd_session/pd_session.h>
#include <cell/cell.h>
#include <base/affinity.h>
namespace Ealan { struct Habitat_session; }
@@ -33,7 +34,11 @@ struct Ealan::Habitat_session : Genode::Session
*/
virtual Cell_capability create_cell(Genode::Capability<Genode::Pd_session> pd, Genode::Affinity &affinity, Genode::uint16_t prio, Genode::Session_label const &label) = 0;
virtual Genode::Affinity affinity() = 0;
GENODE_RPC(Rpc_create_cell, Cell_capability, create_cell, Genode::Capability<Genode::Pd_session>, Genode::Affinity &, Genode::uint16_t, Genode::Session_label const &);
GENODE_RPC_INTERFACE(Rpc_create_cell);
GENODE_RPC(Rpc_affinity, Genode::Affinity, affinity);
GENODE_RPC_INTERFACE(Rpc_create_cell, Rpc_affinity);
};
#endif