mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
36 lines
1.1 KiB
C++
36 lines
1.1 KiB
C++
#ifndef GPGPU_SESSION
|
|
#define GPGPU_SESSION
|
|
|
|
#include <session/session.h>
|
|
#include <base/rpc.h>
|
|
|
|
namespace gpgpu_virt {
|
|
|
|
struct Session : Genode::Session
|
|
{
|
|
static const char *service_name() { return "gpgpu"; }
|
|
|
|
enum { CAP_QUOTA = 1 };
|
|
|
|
virtual void register_vm(Genode::size_t size, Genode::Ram_dataspace_capability& ram_cap) = 0;
|
|
virtual void start_task(unsigned long kconf) = 0;
|
|
virtual void register_shm(Genode::size_t size, Genode::Ram_dataspace_capability& ram_cap) = 0;
|
|
virtual void ask_shm(int id, Genode::size_t &size, Genode::Ram_dataspace_capability& ram_cap) = 0;
|
|
|
|
/*******************
|
|
** RPC interface **
|
|
*******************/
|
|
|
|
GENODE_RPC(Rpc_register_vm, void, register_vm, Genode::size_t, Genode::Ram_dataspace_capability&);
|
|
GENODE_RPC(Rpc_start_task, void, start_task, unsigned long);
|
|
GENODE_RPC(Rpc_register_shm, void, register_shm, Genode::size_t, Genode::Ram_dataspace_capability&);
|
|
GENODE_RPC(Rpc_ask_shm, void, ask_shm, int, Genode::size_t&, Genode::Ram_dataspace_capability&);
|
|
|
|
|
|
GENODE_RPC_INTERFACE(Rpc_register_vm, Rpc_start_task, Rpc_register_shm, Rpc_ask_shm);
|
|
};
|
|
|
|
}
|
|
|
|
#endif // GPGPU_SESSION
|