base: remove local capability from generic base

* Instead of using local capabilities within core's context area implementation
  for stack allocation/attachment, simply do both operations while stack gets
  attached, thereby getting rid of the local capabilities in generic code
* In base-hw the UTCB of core's main thread gets mapped directly instead of
  constructing a dataspace component out of it and hand over its local
  capability
* Remove local capability implementation from all platforms except Linux

Ref #1443
This commit is contained in:
Stefan Kalkowski
2015-03-17 11:47:25 +01:00
committed by Christian Helmuth
parent a168c9d6ce
commit b949489641
15 changed files with 144 additions and 227 deletions

View File

@ -15,6 +15,7 @@
#define _INCLUDE__RM_SESSION__CLIENT_H_
/* Genode includes */
#include <base/local_capability.h>
#include <rm_session/capability.h>
namespace Genode {
@ -28,7 +29,8 @@ namespace Genode {
*
* \throw Local_interface::Non_local_capability
*/
Rm_session *_local() const { return Rm_session_capability::deref(*this); }
Rm_session *_local() const {
return Local_capability<Rm_session>::deref(*this); }
explicit Rm_session_client(Rm_session_capability session)
: Rm_session_capability(session) { }