Index: kernel/generic/include/lib/elf.h
===================================================================
--- kernel/generic/include/lib/elf.h	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/include/lib/elf.h	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -337,5 +337,5 @@
 #endif
 
-extern char *elf_error(int rc);
+extern char *elf_error(unsigned int rc);
 
 #endif
Index: kernel/generic/include/mm/as.h
===================================================================
--- kernel/generic/include/mm/as.h	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/include/mm/as.h	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -300,5 +300,5 @@
 extern mem_backend_t phys_backend;
 
-extern int elf_load(elf_header_t *header, as_t *as);
+extern unsigned int elf_load(elf_header_t *header, as_t *as);
 
 /* Address space area related syscalls. */
Index: kernel/generic/include/mm/slab.h
===================================================================
--- kernel/generic/include/mm/slab.h	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/include/mm/slab.h	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -54,5 +54,5 @@
 
 /** Maximum wasted space we allow for cache */
-#define SLAB_MAX_BADNESS(cache)   ((PAGE_SIZE << (cache)->order) >> 2)
+#define SLAB_MAX_BADNESS(cache)   (((unsigned int) PAGE_SIZE << (cache)->order) >> 2)
 
 /* slab_reclaim constants */
@@ -100,6 +100,6 @@
 
 	/* Computed values */
-	uint8_t order;		/**< Order of frames to be allocated */
-	int objects;		/**< Number of objects that fit in */
+	uint8_t order;				/**< Order of frames to be allocated */
+	unsigned int objects;		/**< Number of objects that fit in */
 
 	/* Statistics */
Index: kernel/generic/src/debug/symtab.c
===================================================================
--- kernel/generic/src/debug/symtab.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/debug/symtab.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -71,5 +71,5 @@
 static char * symtab_search_one(const char *name, int *startpos)
 {
-	int namelen = strlen(name);
+	unsigned int namelen = strlen(name);
 	char *curname;
 	int i,j;
Index: kernel/generic/src/interrupt/interrupt.c
===================================================================
--- kernel/generic/src/interrupt/interrupt.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/interrupt/interrupt.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -104,4 +104,5 @@
 static int exc_print_cmd(cmd_arg_t *argv)
 {
+#if (IVT_ITEMS > 0)
 	unsigned int i;
 	char *symbol;
@@ -139,4 +140,5 @@
 	
 	spinlock_unlock(&exctbl_lock);
+#endif
 	
 	return 1;
Index: kernel/generic/src/ipc/irq.c
===================================================================
--- kernel/generic/src/ipc/irq.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/ipc/irq.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -66,5 +66,5 @@
 static void code_execute(call_t *call, irq_code_t *code)
 {
-	int i;
+	unsigned int i;
 	unative_t dstval = 0;
 	
Index: kernel/generic/src/ipc/sysipc.c
===================================================================
--- kernel/generic/src/ipc/sysipc.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/ipc/sysipc.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -165,5 +165,5 @@
 	int phoneid;
 
-	if (IPC_GET_RETVAL(answer->data) == EHANGUP) {
+	if ((native_t) IPC_GET_RETVAL(answer->data) == EHANGUP) {
 		/* In case of forward, hangup the forwared phone,
 		 * not the originator
@@ -355,5 +355,5 @@
 static void process_answer(call_t *call)
 {
-	if (IPC_GET_RETVAL(call->data) == EHANGUP &&
+	if (((native_t) IPC_GET_RETVAL(call->data) == EHANGUP) &&
 	    (call->flags & IPC_CALL_FORWARDED))
 		IPC_SET_RETVAL(call->data, EFORWARD);
Index: kernel/generic/src/lib/elf.c
===================================================================
--- kernel/generic/src/lib/elf.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/lib/elf.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -70,5 +70,5 @@
  * @return EE_OK on success
  */
-int elf_load(elf_header_t *header, as_t * as)
+unsigned int elf_load(elf_header_t *header, as_t * as)
 {
 	int i, rc;
@@ -132,5 +132,5 @@
  * @return NULL terminated description of error.
  */
-char *elf_error(int rc)
+char *elf_error(unsigned int rc)
 {
 	ASSERT(rc < sizeof(error_codes) / sizeof(char *));
Index: kernel/generic/src/lib/func.c
===================================================================
--- kernel/generic/src/lib/func.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/lib/func.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -140,7 +140,7 @@
 int strncmp(const char *src, const char *dst, size_t len)
 {
-	int i;
+	unsigned int i;
 	
-	for (i = 0; *src && *dst && i < len; src++, dst++, i++) {
+	for (i = 0; (*src) && (*dst) && (i < len); src++, dst++, i++) {
 		if (*src < *dst)
 			return -1;
@@ -169,5 +169,5 @@
 void strncpy(char *dest, const char *src, size_t len)
 {
-	int i;
+	unsigned int i;
 	for (i = 0; i < len; i++) {
 		if (!(dest[i] = src[i]))
Index: kernel/generic/src/lib/memstr.c
===================================================================
--- kernel/generic/src/lib/memstr.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/lib/memstr.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -60,5 +60,5 @@
 void *_memcpy(void * dst, const void *src, size_t cnt)
 {
-	int i, j;
+	unsigned int i, j;
 	
 	if (ALIGN_UP((uintptr_t) src, sizeof(unative_t)) != (uintptr_t) src ||
@@ -90,5 +90,5 @@
 void _memsetb(uintptr_t dst, size_t cnt, uint8_t x)
 {
-	int i;
+	unsigned int i;
 	uint8_t *p = (uint8_t *) dst;
 	
@@ -109,5 +109,5 @@
 void _memsetw(uintptr_t dst, size_t cnt, uint16_t x)
 {
-	int i;
+	unsigned int i;
 	uint16_t *p = (uint16_t *) dst;
 	
Index: kernel/generic/src/lib/sort.c
===================================================================
--- kernel/generic/src/lib/sort.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/lib/sort.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -97,12 +97,15 @@
 {
 	if (n > 4) {
-		int i = 0, j = n - 1;
+		unsigned int i = 0, j = n - 1;
 
 		memcpy(pivot, data, e_size);
 
 		while (1) {
-			while ((cmp(data + i * e_size, pivot) < 0) && i < n) i++;
-			while ((cmp(data + j * e_size, pivot) >=0) && j > 0) j--;
-			if (i<j) {
+			while ((cmp(data + i * e_size, pivot) < 0) && (i < n))
+				i++;
+			while ((cmp(data + j * e_size, pivot) >= 0) && (j > 0))
+				j--;
+			
+			if (i < j) {
 				memcpy(tmp, data + i * e_size, e_size);
 				memcpy(data + i * e_size, data + j * e_size, e_size);
Index: kernel/generic/src/main/main.c
===================================================================
--- kernel/generic/src/main/main.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/main/main.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -87,5 +87,5 @@
 /** Initial user-space tasks */
 init_t init = {
-	0
+	.cnt = 0
 };
 
Index: kernel/generic/src/mm/as.c
===================================================================
--- kernel/generic/src/mm/as.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/mm/as.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -432,5 +432,5 @@
 				count_t c =
 				    (count_t) node->value[node->keys - 1];
-				int i = 0;
+				unsigned int i = 0;
 			
 				if (overlaps(b, c * PAGE_SIZE, area->base,
@@ -562,5 +562,5 @@
 	    cur != &area->used_space.leaf_head; cur = cur->next) {
 		btree_node_t *node;
-		int i;
+		unsigned int i;
 		
 		node = list_get_instance(cur, btree_node_t, leaf_link);
@@ -1098,5 +1098,5 @@
 	as_area_t *a;
 	btree_node_t *leaf, *lnode;
-	int i;
+	unsigned int i;
 	
 	a = (as_area_t *) btree_search(&as->as_area_btree, va, &leaf);
@@ -1156,5 +1156,5 @@
 	as_area_t *a;
 	btree_node_t *leaf, *node;
-	int i;
+	unsigned int i;
 	
 	/*
@@ -1265,5 +1265,5 @@
 	btree_node_t *leaf, *node;
 	count_t pages;
-	int i;
+	unsigned int i;
 
 	ASSERT(page == ALIGN_DOWN(page, PAGE_SIZE));
@@ -1547,5 +1547,5 @@
 	btree_node_t *leaf, *node;
 	count_t pages;
-	int i;
+	unsigned int i;
 
 	ASSERT(page == ALIGN_DOWN(page, PAGE_SIZE));
@@ -1735,5 +1735,5 @@
 		    cur != &sh_info->pagemap.leaf_head; cur = cur->next) {
 			btree_node_t *node;
-			int i;
+			unsigned int i;
 			
 			node = list_get_instance(cur, btree_node_t, leaf_link);
@@ -1796,5 +1796,5 @@
 		node = list_get_instance(cur, btree_node_t, leaf_link);
 		
-		int i;
+		unsigned int i;
 		for (i = 0; i < node->keys; i++) {
 			as_area_t *area = node->value[i];
Index: kernel/generic/src/mm/backend_anon.c
===================================================================
--- kernel/generic/src/mm/backend_anon.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/mm/backend_anon.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -99,5 +99,5 @@
 		if (!frame) {
 			bool allocate = true;
-			int i;
+			unsigned int i;
 			
 			/*
@@ -194,5 +194,5 @@
 	    cur != &area->used_space.leaf_head; cur = cur->next) {
 		btree_node_t *node;
-		int i;
+		unsigned int i;
 		
 		node = list_get_instance(cur, btree_node_t, leaf_link);
@@ -200,5 +200,5 @@
 			uintptr_t base = node->key[i];
 			count_t count = (count_t) node->value[i];
-			int j;
+			unsigned int j;
 			
 			for (j = 0; j < count; j++) {
Index: kernel/generic/src/mm/backend_elf.c
===================================================================
--- kernel/generic/src/mm/backend_elf.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/mm/backend_elf.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -104,5 +104,5 @@
 			ALIGN_DOWN(addr, PAGE_SIZE) - area->base, &leaf);
 		if (!frame) {
-			int i;
+			unsigned int i;
 
 			/*
@@ -291,5 +291,5 @@
 	for (cur = &node->leaf_link; cur != &area->used_space.leaf_head;
 	    cur = cur->next) {
-		int i;
+		unsigned int i;
 		
 		node = list_get_instance(cur, btree_node_t, leaf_link);
@@ -298,5 +298,5 @@
 			uintptr_t base = node->key[i];
 			count_t count = (count_t) node->value[i];
-			int j;
+			unsigned int j;
 			
 			/*
Index: kernel/generic/src/mm/frame.c
===================================================================
--- kernel/generic/src/mm/frame.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/mm/frame.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -121,5 +121,5 @@
 static inline int frame_index_valid(zone_t *zone, index_t index)
 {
-	return (index >= 0) && (index < zone->count);
+	return (index < zone->count);
 }
 
@@ -211,5 +211,5 @@
 	spinlock_lock(&zones.lock);
 
-	if (hint >= zones.count || hint < 0)
+	if (hint >= zones.count)
 		hint = 0;
 	
@@ -720,5 +720,5 @@
 	spinlock_lock(&zones.lock);
 
-	if (z1 < 0 || z1 >= zones.count || z2 < 0 || z2 >= zones.count)
+	if ((z1 >= zones.count) || (z2 >= zones.count))
 		goto errout;
 	/* We can join only 2 zones with none existing inbetween */
Index: kernel/generic/src/mm/slab.c
===================================================================
--- kernel/generic/src/mm/slab.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/mm/slab.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -173,5 +173,5 @@
 	slab_t *slab;
 	size_t fsize;
-	int i;
+	unsigned int i;
 	unsigned int zone = 0;
 	
@@ -192,6 +192,6 @@
 	
 	/* Fill in slab structures */
-	for (i=0; i < (1 << cache->order); i++)
-		frame_set_parent(ADDR2PFN(KA2PA(data))+i, slab, zone);
+	for (i = 0; i < ((unsigned int) 1 << cache->order); i++)
+		frame_set_parent(ADDR2PFN(KA2PA(data)) + i, slab, zone);
 
 	slab->start = data;
@@ -200,5 +200,5 @@
 	slab->cache = cache;
 
-	for (i=0; i<cache->objects;i++)
+	for (i = 0; i < cache->objects; i++)
 		*((int *) (slab->start + i*cache->size)) = i+1;
 
@@ -372,8 +372,8 @@
 				slab_magazine_t *mag)
 {
-	int i;
+	unsigned int i;
 	count_t frames = 0;
 
-	for (i=0;i < mag->busy; i++) {
+	for (i = 0; i < mag->busy; i++) {
 		frames += slab_obj_destroy(cache, mag->objs[i], NULL);
 		atomic_dec(&cache->cached_objs);
@@ -528,5 +528,5 @@
 
 /** Return number of objects that fit in certain cache size */
-static int comp_objects(slab_cache_t *cache)
+static unsigned int comp_objects(slab_cache_t *cache)
 {
 	if (cache->flags & SLAB_CACHE_SLINSIDE)
@@ -537,8 +537,8 @@
 
 /** Return wasted space in slab */
-static int badness(slab_cache_t *cache)
-{
-	int objects;
-	int ssize;
+static unsigned int badness(slab_cache_t *cache)
+{
+	unsigned int objects;
+	unsigned int ssize;
 
 	objects = comp_objects(cache);
@@ -546,5 +546,5 @@
 	if (cache->flags & SLAB_CACHE_SLINSIDE)
 		ssize -= sizeof(slab_t);
-	return ssize - objects*cache->size;
+	return ssize - objects * cache->size;
 }
 
@@ -554,14 +554,13 @@
 static void make_magcache(slab_cache_t *cache)
 {
-	int i;
+	unsigned int i;
 	
 	ASSERT(_slab_initialized >= 2);
 
 	cache->mag_cache = malloc(sizeof(slab_mag_cache_t)*config.cpu_count,0);
-	for (i=0; i < config.cpu_count; i++) {
+	for (i = 0; i < config.cpu_count; i++) {
 		memsetb((uintptr_t)&cache->mag_cache[i],
 			sizeof(cache->mag_cache[i]), 0);
-		spinlock_initialize(&cache->mag_cache[i].lock, 
-				    "slab_maglock_cpu");
+		spinlock_initialize(&cache->mag_cache[i].lock, "slab_maglock_cpu");
 	}
 }
@@ -655,5 +654,5 @@
 static count_t _slab_reclaim(slab_cache_t *cache, int flags)
 {
-	int i;
+	unsigned int i;
 	slab_magazine_t *mag;
 	count_t frames = 0;
@@ -676,5 +675,5 @@
 		/* Free cpu-bound magazines */
 		/* Destroy CPU magazines */
-		for (i=0; i<config.cpu_count; i++) {
+		for (i = 0; i < config.cpu_count; i++) {
 			spinlock_lock(&cache->mag_cache[i].lock);
 
Index: kernel/generic/src/mm/tlb.c
===================================================================
--- kernel/generic/src/mm/tlb.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/mm/tlb.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -82,5 +82,5 @@
     uintptr_t page, count_t count)
 {
-	int i;
+	unsigned int i;
 
 	CPU->tlb_active = 0;
@@ -145,5 +145,5 @@
 	uintptr_t page;
 	count_t count;
-	int i;
+	unsigned int i;
 	
 	ASSERT(CPU);
Index: kernel/generic/src/printf/printf_core.c
===================================================================
--- kernel/generic/src/printf/printf_core.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/printf/printf_core.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -94,5 +94,5 @@
     struct printf_spec *ps)
 {
-	return ps->write((void *)buf, count, ps->data);
+	return ps->write((void *) buf, count, ps->data);
 }
 
@@ -178,6 +178,6 @@
  * @return		Number of characters printed, negative value on	failure.
  */ 
-static int print_string(char *s, int width, int precision, uint64_t flags,
-    struct printf_spec *ps)
+static int print_string(char *s, int width, unsigned int precision,
+	uint64_t flags, struct printf_spec *ps)
 {
 	int counter = 0;
Index: kernel/generic/src/proc/task.c
===================================================================
--- kernel/generic/src/proc/task.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/proc/task.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -245,5 +245,5 @@
 	as_t *as;
 	as_area_t *a;
-	int rc;
+	unsigned int rc;
 	thread_t *t;
 	task_t *task;
Index: kernel/generic/src/synch/futex.c
===================================================================
--- kernel/generic/src/synch/futex.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/synch/futex.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -325,5 +325,5 @@
 	    cur != &TASK->futexes.leaf_head; cur = cur->next) {
 		btree_node_t *node;
-		int i;
+		unsigned int i;
 		
 		node = list_get_instance(cur, btree_node_t, leaf_link);
Index: kernel/generic/src/time/clock.c
===================================================================
--- kernel/generic/src/time/clock.c	(revision 71eef11b8afe2eec0d0ac48ea6fce51144cb5b0c)
+++ kernel/generic/src/time/clock.c	(revision 6c441cf8f35799043d891a3a77032e1b0e49112b)
@@ -138,5 +138,5 @@
 	void *arg;
 	count_t missed_clock_ticks = CPU->missed_clock_ticks;
-	int i;
+	unsigned int i;
 
 	/*
