mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-21 00:23:16 +00:00
Integrate SIGNAL session into PD session
This patch removes the SIGNAL service from core and moves its functionality to the PD session. Furthermore, it unifies the PD service implementation and terminology across the various base platforms. Issue #1841
This commit is contained in:
committed by
Christian Helmuth
parent
705ac74498
commit
b1910cdd54
@ -17,27 +17,45 @@
|
||||
#include <linux_pd_session/linux_pd_session.h>
|
||||
#include <base/rpc_client.h>
|
||||
|
||||
namespace Genode {
|
||||
namespace Genode { struct Linux_pd_session_client; }
|
||||
|
||||
struct Linux_pd_session_client : Rpc_client<Linux_pd_session>
|
||||
{
|
||||
explicit Linux_pd_session_client(Capability<Linux_pd_session> session)
|
||||
: Rpc_client<Linux_pd_session>(session) { }
|
||||
struct Genode::Linux_pd_session_client : Rpc_client<Linux_pd_session>
|
||||
{
|
||||
explicit Linux_pd_session_client(Capability<Linux_pd_session> session)
|
||||
: Rpc_client<Linux_pd_session>(session) { }
|
||||
|
||||
int bind_thread(Thread_capability thread) {
|
||||
return call<Rpc_bind_thread>(thread); }
|
||||
int bind_thread(Thread_capability thread) override {
|
||||
return call<Rpc_bind_thread>(thread); }
|
||||
|
||||
int assign_parent(Parent_capability parent) {
|
||||
return call<Rpc_assign_parent>(parent); }
|
||||
int assign_parent(Capability<Parent> parent) override {
|
||||
return call<Rpc_assign_parent>(parent); }
|
||||
|
||||
bool assign_pci(addr_t pci_config_memory_address, uint16_t bdf) override {
|
||||
return call<Rpc_assign_pci>(pci_config_memory_address, bdf); }
|
||||
|
||||
Signal_source_capability alloc_signal_source() override {
|
||||
return call<Rpc_alloc_signal_source>(); }
|
||||
|
||||
void free_signal_source(Signal_source_capability cap) override {
|
||||
call<Rpc_free_signal_source>(cap); }
|
||||
|
||||
Signal_context_capability alloc_context(Signal_source_capability source,
|
||||
unsigned long imprint) override {
|
||||
return call<Rpc_alloc_context>(source, imprint); }
|
||||
|
||||
void free_context(Signal_context_capability cap) override {
|
||||
call<Rpc_free_context>(cap); }
|
||||
|
||||
void submit(Signal_context_capability receiver, unsigned cnt = 1) override {
|
||||
call<Rpc_submit>(receiver, cnt); }
|
||||
|
||||
|
||||
/*****************************
|
||||
* Linux-specific extension **
|
||||
*****************************/
|
||||
/*****************************
|
||||
* Linux-specific extension **
|
||||
*****************************/
|
||||
|
||||
void start(Capability<Dataspace> binary) {
|
||||
call<Rpc_start>(binary); }
|
||||
};
|
||||
}
|
||||
void start(Capability<Dataspace> binary) {
|
||||
call<Rpc_start>(binary); }
|
||||
};
|
||||
|
||||
#endif /* _INCLUDE__LINUX_PD_SESSION__CLIENT_H_ */
|
||||
|
Reference in New Issue
Block a user