genode/base-nova/src/core/include/echo.h
Alexander Boettcher ed2e610178 NOVA: maximize contiguous virtual space for 32/64
Use virtual regions for memory used during core initialization behind context
area. Enables us to start Vancouver VMs up to 1280 MiB, which requires
large virtual regions of contiguous aligned memory.

Exclude used virtual regions of echo and of pager thread in core.
2012-09-24 09:17:57 +02:00

59 lines
929 B
C++

/*
* \brief Echo interface
* \author Norman Feske
* \date 2010-01-19
*/
/*
* Copyright (C) 2010-2012 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU General Public License version 2.
*/
#ifndef _ECHO_H_
#define _ECHO_H_
/* NOVA includes */
#include <nova/syscalls.h>
class Echo
{
private:
int _ec_sel; /* execution context */
int _pt_sel; /* portal */
Nova::Utcb *_utcb;
public:
enum {
ECHO_UTCB_ADDR = 0xbff00000,
};
/**
* Constructor
*
* \param utcb_addr designated UTCB location for echo EC
*/
Echo(Genode::addr_t utcb_addr);
/**
* UTCB of echo execution context
*/
Nova::Utcb *utcb() { return _utcb; }
/**
* Capability selector for portal to echo
*/
int pt_sel() { return _pt_sel; }
};
/**
* Get single 'Echo' instance
*/
Echo *echo();
#endif /* _ECHO_H_ */