Index: kernel/generic/include/arch.h
===================================================================
--- kernel/generic/include/arch.h	(revision deaa22f01020fc8d432df92b990024d02d453083)
+++ kernel/generic/include/arch.h	(revision 8b4be29e60da1d7e6355cb2b0bf8ae7e3c561965)
@@ -44,9 +44,14 @@
 #include <arch/asm.h> 
 
+#define DEFAULT_CONTEXT		0
+
 #define CPU			THE->cpu
 #define THREAD			THE->thread
 #define TASK			THE->task
 #define AS			THE->as
+#define CONTEXT		(THE->task ? THE->task->context : DEFAULT_CONTEXT)
 #define PREEMPTION_DISABLED	THE->preemption_disabled
+
+#define context_check(ctx1, ctx2)	((ctx1) == (ctx2))
 
 /**
@@ -61,8 +66,7 @@
 	cpu_t *cpu;			/**< Executing cpu. */
 	as_t *as;			/**< Current address space. */
-	context_id_t context;	/**< Current security context. */
 };
 
-#define THE		((the_t *)(get_stack_base()))	
+#define THE		((the_t *)(get_stack_base()))
 
 extern void the_initialize(the_t *the);
Index: kernel/generic/include/proc/thread.h
===================================================================
--- kernel/generic/include/proc/thread.h	(revision deaa22f01020fc8d432df92b990024d02d453083)
+++ kernel/generic/include/proc/thread.h	(revision 8b4be29e60da1d7e6355cb2b0bf8ae7e3c561965)
@@ -147,5 +147,4 @@
 	int priority;				/**< Thread's priority. Implemented as index to CPU->rq */
 	uint32_t tid;				/**< Thread ID. */
-	context_id_t context;		/**< Thread security context */
 	
 	thread_arch_t arch;			/**< Architecture-specific data. */
