2011-12-22 15:19:25 +00:00
|
|
|
/*
|
|
|
|
* \brief Cpu session interface extension for Fiasco.OC
|
|
|
|
* \author Stefan Kalkowski
|
|
|
|
* \date 2011-04-04
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
2012-01-03 14:35:05 +00:00
|
|
|
* Copyright (C) 2011-2012 Genode Labs GmbH
|
2011-12-22 15:19:25 +00:00
|
|
|
*
|
|
|
|
* This file is part of the Genode OS framework, which is distributed
|
|
|
|
* under the terms of the GNU General Public License version 2.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _INCLUDE__FOC_CPU_SESSION__FOC_CPU_SESSION_H_
|
|
|
|
#define _INCLUDE__FOC_CPU_SESSION__FOC_CPU_SESSION_H_
|
|
|
|
|
|
|
|
#include <base/stdint.h>
|
|
|
|
#include <cpu_session/cpu_session.h>
|
|
|
|
|
|
|
|
namespace Genode {
|
|
|
|
|
|
|
|
struct Foc_cpu_session : Cpu_session
|
|
|
|
{
|
|
|
|
virtual ~Foc_cpu_session() { }
|
|
|
|
|
|
|
|
virtual void enable_vcpu(Thread_capability cap, addr_t vcpu_state) = 0;
|
|
|
|
|
|
|
|
virtual Native_capability native_cap(Thread_capability cap) = 0;
|
|
|
|
|
|
|
|
virtual Native_capability alloc_irq() = 0;
|
|
|
|
|
|
|
|
|
|
|
|
/*********************
|
|
|
|
** RPC declaration **
|
|
|
|
*********************/
|
|
|
|
|
|
|
|
GENODE_RPC(Rpc_enable_vcpu, void, enable_vcpu, Thread_capability, addr_t);
|
|
|
|
GENODE_RPC(Rpc_native_cap, Native_capability, native_cap, Thread_capability);
|
|
|
|
GENODE_RPC(Rpc_alloc_irq, Native_capability, alloc_irq);
|
|
|
|
|
|
|
|
GENODE_RPC_INTERFACE_INHERIT(Cpu_session,
|
|
|
|
Rpc_enable_vcpu, Rpc_native_cap, Rpc_alloc_irq);
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* _INCLUDE__FOC_CPU_SESSION__FOC_CPU_SESSION_H_ */
|