From e8292880690b1e7f38f548aa237a08dc80e83cd8 Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Thu, 12 Jul 2012 13:33:51 +0200 Subject: [PATCH] NOVA: remove global unique ids for user objects With this patch solely the local ids are used, no global unique ids are transfered anymore during IPC. demo.run, signal.run, noux_tool_chain.run works up to the same point as before the patches for issue #268. Fixes #268 --- base-nova/include/base/ipc.h | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/base-nova/include/base/ipc.h b/base-nova/include/base/ipc.h index 3cb3aed273..f1d2818774 100644 --- a/base-nova/include/base/ipc.h +++ b/base-nova/include/base/ipc.h @@ -19,9 +19,6 @@ inline void Genode::Ipc_ostream::_marshal_capability(Genode::Native_capability const &cap) { - long unique_id = cap.valid() ? cap.local_name() : ~0L; - _write_to_buf(unique_id); - if (cap.valid()) _snd_msg->snd_append_pt_sel(cap.dst()); } @@ -29,10 +26,8 @@ inline void Genode::Ipc_ostream::_marshal_capability(Genode::Native_capability c inline void Genode::Ipc_istream::_unmarshal_capability(Genode::Native_capability &cap) { - long unique_id = 0; - _read_from_buf(unique_id); - int pt_sel = unique_id != ~0L ? _rcv_msg->rcv_pt_sel() : 0; - cap = Native_capability(pt_sel, unique_id); + addr_t pt_sel = _rcv_msg->rcv_pt_sel(); + cap = Native_capability(pt_sel, pt_sel); } #endif /* _INCLUDE__BASE__IPC_H_ */