From 755ed3dc90e3d24627c962239d7fcd71b71a5797 Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Wed, 8 Aug 2012 13:07:21 +0200 Subject: [PATCH] NOVA: Use solely unsigned types for selectors --- base-nova/include/base/native_types.h | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/base-nova/include/base/native_types.h b/base-nova/include/base/native_types.h index 89fdcd24a..f814918f6 100644 --- a/base-nova/include/base/native_types.h +++ b/base-nova/include/base/native_types.h @@ -15,6 +15,7 @@ #define _INCLUDE__BASE__NATIVE_TYPES_H_ #include +#include namespace Genode { @@ -22,17 +23,23 @@ namespace Genode { struct Native_thread { - int ec_sel; /* NOVA cap selector for execution context */ - int sc_sel; /* NOVA cap selector for scheduling context */ - int rs_sel; /* NOVA cap selector for running semaphore */ - int pd_sel; /* NOVA cap selector of protection domain */ - int exc_pt_sel; /* base of event portal window */ + addr_t ec_sel; /* NOVA cap selector for execution context */ + addr_t sc_sel; /* NOVA cap selector for scheduling context */ + addr_t rs_sel; /* NOVA cap selector for running semaphore */ + addr_t pd_sel; /* NOVA cap selector of protection domain */ + addr_t exc_pt_sel; /* base of event portal window */ }; typedef Native_thread Native_thread_id; - inline bool operator == (Native_thread_id t1, Native_thread_id t2) { return (t1.ec_sel == t2.ec_sel) && (t1.sc_sel == t2.sc_sel) && (t1.rs_sel == t2.rs_sel); } - inline bool operator != (Native_thread_id t1, Native_thread_id t2) { return (t1.ec_sel != t2.ec_sel) && (t1.sc_sel != t2.sc_sel) && (t1.rs_sel != t2.rs_sel); } + inline bool operator == (Native_thread_id t1, Native_thread_id t2) + { + return (t1.ec_sel == t2.ec_sel) && (t1.rs_sel == t2.rs_sel); + } + inline bool operator != (Native_thread_id t1, Native_thread_id t2) + { + return (t1.ec_sel != t2.ec_sel) && (t1.rs_sel != t2.rs_sel); + } class Native_utcb { @@ -55,7 +62,7 @@ namespace Genode { struct Cap_dst_policy { - typedef int Dst; + typedef addr_t Dst; static bool valid(Dst pt) { return pt != 0; } static Dst invalid() { return 0; } static void copy(void* dst, Native_capability_tpl* src);