Index: kernel/Makefile.build
===================================================================
--- kernel/Makefile.build	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/Makefile.build	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -56,5 +56,6 @@
 	-finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \
 	-Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \
-	-Werror-implicit-function-declaration -Werror -pipe
+	-Werror-implicit-function-declaration -Wwrite-strings \
+	-Werror -pipe
 
 ICC_CFLAGS = -I$(INCLUDES) -O$(OPTIMIZATION) -imacros ../config.h \
@@ -69,6 +70,7 @@
 	-fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \
 	-finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \
-	-Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes -pipe \
-	-arch $(CLANG_ARCH)
+	-Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \
+	-Werror-implicit-function-declaration -Wwrite-strings \
+	-pipe -arch $(CLANG_ARCH)
 
 LFLAGS = -M
Index: kernel/arch/abs32le/src/abs32le.c
===================================================================
--- kernel/arch/abs32le/src/abs32le.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/abs32le/src/abs32le.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -114,5 +114,5 @@
 }
 
-void panic_printf(char *fmt, ...)
+void panic_printf(const char *fmt, ...)
 {
 	va_list args;
Index: kernel/arch/amd64/src/cpu/cpu.c
===================================================================
--- kernel/arch/amd64/src/cpu/cpu.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/amd64/src/cpu/cpu.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -62,5 +62,5 @@
 };
 
-static char *vendor_str[] = {
+static const char *vendor_str[] = {
 	"Unknown Vendor",
 	"AuthenticAMD",
Index: kernel/arch/amd64/src/debugger.c
===================================================================
--- kernel/arch/amd64/src/debugger.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/amd64/src/debugger.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -339,5 +339,4 @@
 {
 	unsigned int i;
-	char *symbol;
 
 #ifdef __32_BITS__
@@ -353,5 +352,5 @@
 	for (i = 0; i < BKPOINTS_MAX; i++)
 		if (breakpoints[i].address) {
-			symbol = symtab_fmt_name_lookup(
+			const char *symbol = symtab_fmt_name_lookup(
 			    breakpoints[i].address);
 
Index: kernel/arch/amd64/src/interrupt.c
===================================================================
--- kernel/arch/amd64/src/interrupt.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/amd64/src/interrupt.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -65,8 +65,6 @@
 void decode_istate(int n, istate_t *istate)
 {
-	char *symbol;
-
-	symbol = symtab_fmt_name_lookup(istate->rip);
-
+	const char *symbol = symtab_fmt_name_lookup(istate->rip);
+	
 	printf("-----EXCEPTION(%d) OCCURED----- ( %s )\n", n, __func__);
 	printf("%%rip: %#llx (%s)\n", istate->rip, symbol);
Index: kernel/arch/arm32/src/cpu/cpu.c
===================================================================
--- kernel/arch/arm32/src/cpu/cpu.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/arm32/src/cpu/cpu.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -43,5 +43,5 @@
 
 /** Implementators (vendor) names */
-static char *imp_data[] = {
+static const char *imp_data[] = {
 	"?",					/* IMP_DATA_START_OFFSET */
 	"ARM Ltd",				/* 0x41 */
@@ -60,5 +60,5 @@
 
 /** Architecture names */
-static char *arch_data[] = {
+static const char *arch_data[] = {
 	"?",       /* 0x0 */
 	"4",       /* 0x1 */
@@ -108,6 +108,6 @@
 void cpu_print_report(cpu_t *m)
 {
-	char * vendor = imp_data[0];
-	char * architecture = arch_data[0];
+	const char *vendor = imp_data[0];
+	const char *architecture = arch_data[0];
 	cpu_arch_t * cpu_arch = &m->arch;
 
Index: kernel/arch/ia32/src/cpu/cpu.c
===================================================================
--- kernel/arch/ia32/src/cpu/cpu.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/ia32/src/cpu/cpu.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -64,5 +64,5 @@
 };
 
-static char *vendor_str[] = {
+static const char *vendor_str[] = {
 	"Unknown Vendor",
 	"AMD",
Index: kernel/arch/ia32/src/interrupt.c
===================================================================
--- kernel/arch/ia32/src/interrupt.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/ia32/src/interrupt.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -65,13 +65,11 @@
 void decode_istate(istate_t *istate)
 {
-	char *symbol;
-
-	symbol = symtab_fmt_name_lookup(istate->eip);
-
+	const char *symbol = symtab_fmt_name_lookup(istate->eip);
+	
 	if (CPU)
 		printf("----------------EXCEPTION OCCURED (cpu%u)----------------\n", CPU->id);
 	else
 		printf("----------------EXCEPTION OCCURED----------------\n");
-		
+	
 	printf("%%eip: %#lx (%s)\n", istate->eip, symbol);
 	printf("ERROR_WORD=%#lx\n", istate->error_word);
@@ -80,5 +78,5 @@
 	printf("stack: %#lx, %#lx, %#lx, %#lx\n", istate->stack[0], istate->stack[1], istate->stack[2], istate->stack[3]);
 	printf("       %#lx, %#lx, %#lx, %#lx\n", istate->stack[4], istate->stack[5], istate->stack[6], istate->stack[7]);
-
+	
 	stack_trace_istate(istate);
 }
Index: kernel/arch/ia32/src/mm/frame.c
===================================================================
--- kernel/arch/ia32/src/mm/frame.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/ia32/src/mm/frame.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup ia32mm	
+/** @addtogroup ia32mm
  * @{
  */
@@ -109,5 +109,5 @@
 }
 
-static char *e820names[] = {
+static const char *e820names[] = {
 	"invalid",
 	"available",
@@ -122,5 +122,5 @@
 {
 	unsigned int i;
-	char *name;
+	const char *name;
 	
 	printf("Base               Size               Name\n");
Index: kernel/arch/ia64/src/cpu/cpu.c
===================================================================
--- kernel/arch/ia64/src/cpu/cpu.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/ia64/src/cpu/cpu.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -52,5 +52,5 @@
 void cpu_print_report(cpu_t *m)
 {
-	char *family_str;
+	const char *family_str;
 	char vendor[2 * sizeof(uint64_t) + 1];
 	
Index: kernel/arch/ia64/src/interrupt.c
===================================================================
--- kernel/arch/ia64/src/interrupt.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/ia64/src/interrupt.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -64,5 +64,5 @@
 #define BUNDLE_SIZE		16
 
-char *vector_names_64_bundle[VECTORS_64_BUNDLE] = {
+static const char *vector_names_64_bundle[VECTORS_64_BUNDLE] = {
 	"VHPT Translation vector",
 	"Instruction TLB vector",
@@ -87,5 +87,5 @@
 };
 
-char *vector_names_16_bundle[VECTORS_16_BUNDLE] = {
+static const char *vector_names_16_bundle[VECTORS_16_BUNDLE] = {
 	"Page Not Present vector",
 	"Key Permission vector",
@@ -121,8 +121,5 @@
 };
 
-static char *vector_to_string(uint16_t vector);
-static void dump_interrupted_context(istate_t *istate);
-
-char *vector_to_string(uint16_t vector)
+static const char *vector_to_string(uint16_t vector)
 {
 	ASSERT(vector <= VECTOR_MAX);
@@ -135,12 +132,10 @@
 }
 
-void dump_interrupted_context(istate_t *istate)
-{
-	char *ifa, *iipa, *iip;
-
-	ifa = symtab_fmt_name_lookup(istate->cr_ifa);
-	iipa = symtab_fmt_name_lookup(istate->cr_iipa);
-	iip = symtab_fmt_name_lookup(istate->cr_iip);
-
+static void dump_interrupted_context(istate_t *istate)
+{
+	const char *ifa = symtab_fmt_name_lookup(istate->cr_ifa);
+	const char *iipa = symtab_fmt_name_lookup(istate->cr_iipa);
+	const char *iip = symtab_fmt_name_lookup(istate->cr_iip);
+	
 	putchar('\n');
 	printf("Interrupted context dump:\n");
@@ -162,6 +157,6 @@
 void general_exception(uint64_t vector, istate_t *istate)
 {
-	char *desc = "";
-
+	const char *desc;
+	
 	switch (istate->cr_isr.ge_code) {
 	case GE_ILLEGALOP:
@@ -187,7 +182,7 @@
 		break;
 	}
-
+	
 	fault_if_from_uspace(istate, "General Exception (%s).", desc);
-
+	
 	dump_interrupted_context(istate);
 	panic("General Exception (%s).", desc);
Index: kernel/arch/mips32/src/cpu/cpu.c
===================================================================
--- kernel/arch/mips32/src/cpu/cpu.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/mips32/src/cpu/cpu.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -40,6 +40,6 @@
 
 struct data_t {
-	char *vendor;
-	char *model;
+	const char *vendor;
+	const char *model;
 };
 
Index: kernel/arch/mips32/src/debugger.c
===================================================================
--- kernel/arch/mips32/src/debugger.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/mips32/src/debugger.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -253,14 +253,13 @@
 {
 	unsigned int i;
-	char *symbol;
 	
 	printf("#  Count Address    INPROG ONESHOT FUNCCALL In symbol\n");
 	printf("-- ----- ---------- ------ ------- -------- ---------\n");
 	
-	for (i = 0; i < BKPOINTS_MAX; i++)
+	for (i = 0; i < BKPOINTS_MAX; i++) {
 		if (breakpoints[i].address) {
-			symbol = symtab_fmt_name_lookup(
+			const char *symbol = symtab_fmt_name_lookup(
 			    breakpoints[i].address);
-
+			
 			printf("%-2u %-5d %#10zx %-6s %-7s %-8s %s\n", i,
 			    breakpoints[i].counter, breakpoints[i].address,
@@ -270,4 +269,6 @@
 			    BKPOINT_FUNCCALL) ? "true" : "false"), symbol);
 		}
+	}
+	
 	return 1;
 }
Index: kernel/arch/mips32/src/exception.c
===================================================================
--- kernel/arch/mips32/src/exception.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/mips32/src/exception.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -49,5 +49,5 @@
 #include <symtab.h>
 
-static char * exctable[] = {
+static const char *exctable[] = {
 	"Interrupt",
 	"TLB Modified",
@@ -74,9 +74,7 @@
 static void print_regdump(istate_t *istate)
 {
-	char *pcsymbol, *rasymbol;
-
-	pcsymbol = symtab_fmt_name_lookup(istate->epc);
-	rasymbol = symtab_fmt_name_lookup(istate->ra);
-
+	const char *pcsymbol = symtab_fmt_name_lookup(istate->epc);
+	const char *rasymbol = symtab_fmt_name_lookup(istate->ra);
+	
 	printf("PC: %#x(%s) RA: %#x(%s), SP(%p)\n", istate->epc, pcsymbol,
 	    istate->ra, rasymbol, istate->sp);
@@ -93,9 +91,9 @@
 static void reserved_instr_exception(int n, istate_t *istate)
 {
-	if (*((uint32_t *)istate->epc) == 0x7c03e83b) {
+	if (*((uint32_t *) istate->epc) == 0x7c03e83b) {
 		ASSERT(THREAD);
 		istate->epc += 4;
 		istate->v1 = istate->k1;
-	} else 
+	} else
 		unhandled_exception(n, istate);
 }
Index: kernel/arch/mips32/src/mm/tlb.c
===================================================================
--- kernel/arch/mips32/src/mm/tlb.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/mips32/src/mm/tlb.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -321,8 +321,6 @@
 void tlb_refill_fail(istate_t *istate)
 {
-	char *symbol, *sym2;
-
-	symbol = symtab_fmt_name_lookup(istate->epc);
-	sym2 = symtab_fmt_name_lookup(istate->ra);
+	const char *symbol = symtab_fmt_name_lookup(istate->epc);
+	const char *sym2 = symtab_fmt_name_lookup(istate->ra);
 	
 	fault_if_from_uspace(istate, "TLB Refill Exception on %p.",
@@ -335,8 +333,6 @@
 void tlb_invalid_fail(istate_t *istate)
 {
-	char *symbol;
-
-	symbol = symtab_fmt_name_lookup(istate->epc);
-
+	const char *symbol = symtab_fmt_name_lookup(istate->epc);
+	
 	fault_if_from_uspace(istate, "TLB Invalid Exception on %p.",
 	    cp0_badvaddr_read());
@@ -347,8 +343,6 @@
 void tlb_modified_fail(istate_t *istate)
 {
-	char *symbol;
-
-	symbol = symtab_fmt_name_lookup(istate->epc);
-
+	const char *symbol = symtab_fmt_name_lookup(istate->epc);
+	
 	fault_if_from_uspace(istate, "TLB Modified Exception on %p.",
 	    cp0_badvaddr_read());
Index: kernel/arch/ppc32/src/cpu/cpu.c
===================================================================
--- kernel/arch/ppc32/src/cpu/cpu.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/ppc32/src/cpu/cpu.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -54,5 +54,5 @@
 void cpu_print_report(cpu_t *m)
 {
-	char *name;
+	const char *name;
 	
 	switch (m->arch.version) {
Index: kernel/arch/ppc32/src/mm/tlb.c
===================================================================
--- kernel/arch/ppc32/src/mm/tlb.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/ppc32/src/mm/tlb.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -114,10 +114,7 @@
 static void pht_refill_fail(uintptr_t badvaddr, istate_t *istate)
 {
-	char *symbol;
-	char *sym2;
-
-	symbol = symtab_fmt_name_lookup(istate->pc);
-	sym2 = symtab_fmt_name_lookup(istate->lr);
-
+	const char *symbol = symtab_fmt_name_lookup(istate->pc);
+	const char *sym2 = symtab_fmt_name_lookup(istate->lr);
+	
 	fault_if_from_uspace(istate,
 	    "PHT Refill Exception on %p.", badvaddr);
Index: kernel/arch/sparc64/src/cpu/sun4u/cpu.c
===================================================================
--- kernel/arch/sparc64/src/cpu/sun4u/cpu.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/sparc64/src/cpu/sun4u/cpu.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -129,5 +129,6 @@
 void cpu_print_report(cpu_t *m)
 {
-	char *manuf, *impl;
+	const char *manuf;
+	const char *impl;
 
 	switch (m->arch.ver.manuf) {
Index: kernel/arch/sparc64/src/mm/sun4u/tlb.c
===================================================================
--- kernel/arch/sparc64/src/mm/sun4u/tlb.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/sparc64/src/mm/sun4u/tlb.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -64,5 +64,5 @@
     tlb_tag_access_reg_t, const char *);
 
-char *context_encoding[] = {
+const char *context_encoding[] = {
 	"Primary",
 	"Secondary",
Index: kernel/arch/sparc64/src/mm/sun4v/tlb.c
===================================================================
--- kernel/arch/sparc64/src/mm/sun4v/tlb.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/sparc64/src/mm/sun4v/tlb.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -89,5 +89,5 @@
  * field of the MMU fault status area is i.
  */
-char *fault_types[] = {
+static const char *fault_types[] = {
 	"unknown",
 	"fast miss",
@@ -107,5 +107,4 @@
 	"invalid page size"
 	};
-	
 
 /** Array of MMU fault status areas. */
Index: kernel/arch/sparc64/src/trap/exception.c
===================================================================
--- kernel/arch/sparc64/src/trap/exception.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/arch/sparc64/src/trap/exception.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -46,9 +46,7 @@
 void dump_istate(istate_t *istate)
 {
-	char *tpcs, *tnpcs;
-
-	tpcs = symtab_fmt_name_lookup(istate->tpc);
-	tnpcs = symtab_fmt_name_lookup(istate->tnpc);
-
+	const char *tpcs = symtab_fmt_name_lookup(istate->tpc);
+	const char *tnpcs = symtab_fmt_name_lookup(istate->tnpc);
+	
 	printf("TSTATE=%#" PRIx64 "\n", istate->tstate);
 	printf("TPC=%#" PRIx64 " (%s)\n", istate->tpc, tpcs);
Index: kernel/genarch/include/acpi/acpi.h
===================================================================
--- kernel/genarch/include/acpi/acpi.h	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/genarch/include/acpi/acpi.h	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -67,5 +67,5 @@
 	uint8_t *signature;
 	struct acpi_sdt_header **sdt_ptr;
-	char *description;
+	const char *description;
 };
 
Index: kernel/genarch/src/acpi/madt.c
===================================================================
--- kernel/genarch/src/acpi/madt.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/genarch/src/acpi/madt.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -72,5 +72,5 @@
 unsigned int madt_entries_index_cnt = 0;
 
-char *entry[] = {
+const char *entry[] = {
 	"L_APIC",
 	"IO_APIC",
Index: kernel/generic/include/console/chardev.h
===================================================================
--- kernel/generic/include/console/chardev.h	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/include/console/chardev.h	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -53,5 +53,5 @@
 /** Character input device. */
 typedef struct indev {
-	char *name;
+	const char *name;
 	waitq_t wq;
 	
@@ -81,5 +81,5 @@
 /** Character output device. */
 typedef struct outdev {
-	char *name;
+	const char *name;
 	
 	/** Protects everything below. */
@@ -95,10 +95,10 @@
 } outdev_t;
 
-extern void indev_initialize(char *name, indev_t *indev,
+extern void indev_initialize(const char *name, indev_t *indev,
     indev_operations_t *op);
 extern void indev_push_character(indev_t *indev, wchar_t ch);
 extern wchar_t indev_pop_character(indev_t *indev);
 
-extern void outdev_initialize(char *name, outdev_t *outdev,
+extern void outdev_initialize(const char *name, outdev_t *outdev,
     outdev_operations_t *op);
 
Index: kernel/generic/include/console/kconsole.h
===================================================================
--- kernel/generic/include/console/kconsole.h	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/include/console/kconsole.h	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -94,5 +94,5 @@
 extern void kconsole_notify_init(void);
 extern bool kconsole_check_poll(void);
-extern void kconsole(char *prompt, char *msg, bool kcon);
+extern void kconsole(const char *prompt, const char *msg, bool kcon);
 extern void kconsole_thread(void *data);
 
Index: kernel/generic/include/interrupt.h
===================================================================
--- kernel/generic/include/interrupt.h	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/include/interrupt.h	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -46,5 +46,5 @@
 typedef void (* iroutine)(int n, istate_t *istate);
 
-extern void fault_if_from_uspace(istate_t *istate, char *fmt, ...);
+extern void fault_if_from_uspace(istate_t *istate, const char *fmt, ...);
 extern iroutine exc_register(int n, const char *name, iroutine f);
 extern void exc_dispatch(int n, istate_t *t);
Index: kernel/generic/include/lib/elf.h
===================================================================
--- kernel/generic/include/lib/elf.h	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/include/lib/elf.h	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -338,5 +338,5 @@
 #endif
 
-extern char *elf_error(unsigned int rc);
+extern const char *elf_error(unsigned int rc);
 
 /* Interpreter string used to recognize the program loader */
Index: kernel/generic/include/mm/slab.h
===================================================================
--- kernel/generic/include/mm/slab.h	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/include/mm/slab.h	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -86,5 +86,5 @@
 
 typedef struct {
-	char *name;
+	const char *name;
 	
 	link_t link;
@@ -123,5 +123,5 @@
 } slab_cache_t;
 
-extern slab_cache_t *slab_cache_create(char *, size_t, size_t,
+extern slab_cache_t *slab_cache_create(const char *, size_t, size_t,
     int (*)(void *, int), int (*)(void *), int);
 extern void slab_cache_destroy(slab_cache_t *);
Index: kernel/generic/include/panic.h
===================================================================
--- kernel/generic/include/panic.h	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/include/panic.h	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -60,5 +60,5 @@
 extern bool silent;
 
-extern void panic_printf(char *fmt, ...) __attribute__((noreturn));
+extern void panic_printf(const char *fmt, ...) __attribute__((noreturn));
 
 #endif
Index: kernel/generic/include/proc/task.h
===================================================================
--- kernel/generic/include/proc/task.h	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/include/proc/task.h	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -130,5 +130,5 @@
 extern void task_init(void);
 extern void task_done(void);
-extern task_t *task_create(as_t *as, char *name);
+extern task_t *task_create(as_t *as, const char *name);
 extern void task_destroy(task_t *t);
 extern task_t *task_find_by_id(task_id_t id);
Index: kernel/generic/include/proc/thread.h
===================================================================
--- kernel/generic/include/proc/thread.h	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/include/proc/thread.h	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -52,5 +52,5 @@
 #define THREAD_NAME_BUFLEN	20
 
-extern char *thread_states[];
+extern const char *thread_states[];
 
 /* Thread flags */
@@ -225,6 +225,6 @@
 
 extern void thread_init(void);
-extern thread_t *thread_create(void (*)(void *), void *, task_t *, int, char *,
-    bool);
+extern thread_t *thread_create(void (*)(void *), void *, task_t *, int,
+    const char *, bool);
 extern void thread_attach(thread_t *, task_t *);
 extern void thread_ready(thread_t *);
Index: kernel/generic/include/stacktrace.h
===================================================================
--- kernel/generic/include/stacktrace.h	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/include/stacktrace.h	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -46,5 +46,5 @@
 	bool (* frame_pointer_prev)(uintptr_t, uintptr_t *);
 	bool (* return_address_get)(uintptr_t, uintptr_t *);
-	bool (* symbol_resolve)(uintptr_t, char **, uintptr_t *);
+	bool (* symbol_resolve)(uintptr_t, const char **, uintptr_t *);
 } stack_trace_ops_t;
 
Index: kernel/generic/include/symtab.h
===================================================================
--- kernel/generic/include/symtab.h	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/include/symtab.h	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -45,6 +45,6 @@
 };
 
-extern int symtab_name_lookup(uintptr_t, char **, uintptr_t *);
-extern char *symtab_fmt_name_lookup(uintptr_t);
+extern int symtab_name_lookup(uintptr_t, const char **, uintptr_t *);
+extern const char *symtab_fmt_name_lookup(uintptr_t);
 extern int symtab_addr_lookup(const char *, uintptr_t *);
 extern void symtab_print_search(const char *);
Index: kernel/generic/include/synch/spinlock.h
===================================================================
--- kernel/generic/include/synch/spinlock.h	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/include/synch/spinlock.h	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -48,5 +48,5 @@
 	
 #ifdef CONFIG_DEBUG_SPINLOCK
-	char *name;
+	const char *name;
 #endif
 } spinlock_t;
@@ -101,5 +101,5 @@
 	SPINLOCK_STATIC_INITIALIZE_NAME(lock_name, #lock_name)
 
-extern void spinlock_initialize(spinlock_t *lock, char *name);
+extern void spinlock_initialize(spinlock_t *lock, const char *name);
 extern int spinlock_trylock(spinlock_t *lock);
 extern void spinlock_lock_debug(spinlock_t *lock);
Index: kernel/generic/src/console/chardev.c
===================================================================
--- kernel/generic/src/console/chardev.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/console/chardev.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -47,5 +47,5 @@
  *
  */
-void indev_initialize(char *name, indev_t *indev,
+void indev_initialize(const char *name, indev_t *indev,
     indev_operations_t *op)
 {
@@ -130,5 +130,5 @@
  *
  */
-void outdev_initialize(char *name, outdev_t *outdev,
+void outdev_initialize(const char *name, outdev_t *outdev,
     outdev_operations_t *op)
 {
Index: kernel/generic/src/console/cmd.c
===================================================================
--- kernel/generic/src/console/cmd.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/console/cmd.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -1033,5 +1033,5 @@
 	/* Execute the test */
 	test_quiet = false;
-	char *ret = test->entry();
+	const char *ret = test->entry();
 	
 	/* Update and read thread accounting */
@@ -1086,5 +1086,5 @@
 		/* Execute the test */
 		test_quiet = true;
-		char * ret = test->entry();
+		const char *ret = test->entry();
 		
 		/* Update and read thread accounting */
Index: kernel/generic/src/console/kconsole.c
===================================================================
--- kernel/generic/src/console/kconsole.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/console/kconsole.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -643,5 +643,5 @@
  *
  */
-void kconsole(char *prompt, char *msg, bool kcon)
+void kconsole(const char *prompt, const char *msg, bool kcon)
 {
 	if (!stdin) {
Index: kernel/generic/src/debug/stacktrace.c
===================================================================
--- kernel/generic/src/debug/stacktrace.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/debug/stacktrace.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -44,7 +44,7 @@
 {
 	int cnt = 0;
-	char *symbol;
+	const char *symbol;
 	uintptr_t offset;
-
+	
 	while (cnt++ < STACK_FRAMES_MAX && ops->frame_pointer_validate(fp)) {
 		if (ops->symbol_resolve &&
@@ -85,5 +85,5 @@
 }
 
-static bool kernel_symbol_resolve(uintptr_t addr, char **sp, uintptr_t *op)
+static bool kernel_symbol_resolve(uintptr_t addr, const char **sp, uintptr_t *op)
 {
 	return (symtab_name_lookup(addr, sp, op) == 0);
Index: kernel/generic/src/debug/symtab.c
===================================================================
--- kernel/generic/src/debug/symtab.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/debug/symtab.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -54,5 +54,5 @@
  *
  */
-int symtab_name_lookup(uintptr_t addr, char **name, uintptr_t *offset)
+int symtab_name_lookup(uintptr_t addr, const char **name, uintptr_t *offset)
 {
 #ifdef CONFIG_SYMTAB
@@ -92,7 +92,7 @@
  *
  */
-char *symtab_fmt_name_lookup(uintptr_t addr)
-{
-	char *name;
+const char *symtab_fmt_name_lookup(uintptr_t addr)
+{
+	const char *name;
 	int rc = symtab_name_lookup(addr, &name, NULL);
 	
Index: kernel/generic/src/interrupt/interrupt.c
===================================================================
--- kernel/generic/src/interrupt/interrupt.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/interrupt/interrupt.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -114,5 +114,5 @@
 
 /** Terminate thread and task if exception came from userspace. */
-void fault_if_from_uspace(istate_t *istate, char *fmt, ...)
+void fault_if_from_uspace(istate_t *istate, const char *fmt, ...)
 {
 	task_t *task = TASK;
@@ -162,5 +162,4 @@
 #if (IVT_ITEMS > 0)
 	unsigned int i;
-	char *symbol;
 
 	spinlock_lock(&exctbl_lock);
@@ -177,5 +176,5 @@
 	
 	for (i = 0; i < IVT_ITEMS; i++) {
-		symbol = symtab_fmt_name_lookup((unative_t) exc_table[i].f);
+		const char *symbol = symtab_fmt_name_lookup((unative_t) exc_table[i].f);
 
 #ifdef __32_BITS__
Index: kernel/generic/src/lib/elf.c
===================================================================
--- kernel/generic/src/lib/elf.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/lib/elf.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -48,5 +48,5 @@
 #include <arch.h>
 
-static char *error_codes[] = {
+static const char *error_codes[] = {
 	"no error",
 	"invalid image",
@@ -137,5 +137,5 @@
  * @return NULL terminated description of error.
  */
-char *elf_error(unsigned int rc)
+const char *elf_error(unsigned int rc)
 {
 	ASSERT(rc < sizeof(error_codes) / sizeof(char *));
Index: kernel/generic/src/main/kinit.c
===================================================================
--- kernel/generic/src/main/kinit.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/main/kinit.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -183,7 +183,6 @@
 		
 		char namebuf[TASK_NAME_BUFLEN];
-		char *name;
-		
-		name = init.tasks[i].name;
+		
+		const char *name = init.tasks[i].name;
 		if (name[0] == 0)
 			name = "<unknown>";
Index: kernel/generic/src/main/version.c
===================================================================
--- kernel/generic/src/main/version.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/main/version.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -37,20 +37,20 @@
 #include <macros.h>
 
-char *project = "SPARTAN kernel";
-char *copyright = "Copyright (c) 2001-2009 HelenOS project";
-char *release = STRING(RELEASE);
-char *name = STRING(NAME);
-char *arch = STRING(KARCH);
+static const char *project = "SPARTAN kernel";
+static const char *copyright = "Copyright (c) 2001-2010 HelenOS project";
+static const char *release = STRING(RELEASE);
+static const char *name = STRING(NAME);
+static const char *arch = STRING(KARCH);
 
 #ifdef REVISION
-	char *revision = ", revision " STRING(REVISION);
+	static const char *revision = ", revision " STRING(REVISION);
 #else
-	char *revision = "";
+	static const char *revision = "";
 #endif
 
 #ifdef TIMESTAMP
-	char *timestamp = " on " STRING(TIMESTAMP);
+	static const char *timestamp = " on " STRING(TIMESTAMP);
 #else
-	char *timestamp = "";
+	static const char *timestamp = "";
 #endif
 
Index: kernel/generic/src/mm/slab.c
===================================================================
--- kernel/generic/src/mm/slab.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/mm/slab.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -130,5 +130,5 @@
 /** Caches for malloc */
 static slab_cache_t *malloc_caches[SLAB_MAX_MALLOC_W - SLAB_MIN_MALLOC_W + 1];
-static char *malloc_names[] =  {
+static const char *malloc_names[] =  {
 	"malloc-16",
 	"malloc-32",
@@ -571,8 +571,7 @@
 
 /** Initialize allocated memory as a slab cache */
-static void
-_slab_cache_create(slab_cache_t *cache, char *name, size_t size, size_t align,
-    int (*constructor)(void *obj, int kmflag), int (*destructor)(void *obj),
-    int flags)
+static void _slab_cache_create(slab_cache_t *cache, const char *name,
+    size_t size, size_t align, int (*constructor)(void *obj, int kmflag),
+    int (*destructor)(void *obj), int flags)
 {
 	int pages;
@@ -631,6 +630,5 @@
 
 /** Create slab cache  */
-slab_cache_t *
-slab_cache_create(char *name, size_t size, size_t align,
+slab_cache_t *slab_cache_create(const char *name, size_t size, size_t align,
     int (*constructor)(void *obj, int kmflag), int (*destructor)(void *obj),
     int flags)
@@ -853,5 +851,5 @@
 		cache = list_get_instance(cur, slab_cache_t, link);
 
-		char *name = cache->name;
+		const char *name = cache->name;
 		uint8_t order = cache->order;
 		size_t size = cache->size;
@@ -896,5 +894,5 @@
 		    NULL, NULL, SLAB_CACHE_MAGDEFERRED);
 	}
-#ifdef CONFIG_DEBUG       
+#ifdef CONFIG_DEBUG
 	_slab_initialized = 1;
 #endif
Index: kernel/generic/src/proc/task.c
===================================================================
--- kernel/generic/src/proc/task.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/proc/task.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -171,5 +171,5 @@
  *
  */
-task_t *task_create(as_t *as, char *name)
+task_t *task_create(as_t *as, const char *name)
 {
 	ipl_t ipl;
Index: kernel/generic/src/proc/thread.c
===================================================================
--- kernel/generic/src/proc/thread.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/proc/thread.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -76,5 +76,5 @@
 
 /** Thread states */
-char *thread_states[] = {
+const char *thread_states[] = {
 	"Invalid",
 	"Running",
@@ -288,5 +288,5 @@
  */
 thread_t *thread_create(void (* func)(void *), void *arg, task_t *task,
-    int flags, char *name, bool uncounted)
+    int flags, const char *name, bool uncounted)
 {
 	thread_t *t;
Index: kernel/generic/src/synch/spinlock.c
===================================================================
--- kernel/generic/src/synch/spinlock.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/synch/spinlock.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -52,5 +52,5 @@
  *
  */
-void spinlock_initialize(spinlock_t *lock, char *name)
+void spinlock_initialize(spinlock_t *lock, const char *name)
 {
 	atomic_set(&lock->val, 0);
Index: kernel/generic/src/sysinfo/sysinfo.c
===================================================================
--- kernel/generic/src/sysinfo/sysinfo.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/generic/src/sysinfo/sysinfo.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -225,5 +225,5 @@
 		int i;
 		unative_t val = 0;
-		char *vtype = NULL;
+		const char *vtype = NULL;
 		
 		
Index: kernel/test/atomic/atomic1.c
===================================================================
--- kernel/test/atomic/atomic1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/atomic/atomic1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -32,5 +32,5 @@
 #include <debug.h>
 
-char *test_atomic1(void)
+const char *test_atomic1(void)
 {
 	atomic_t a;
Index: kernel/test/avltree/avltree1.c
===================================================================
--- kernel/test/avltree/avltree1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/avltree/avltree1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -265,5 +265,5 @@
 }
 
-char *test_avltree1(void)
+const char *test_avltree1(void)
 {
 	alloc_avltree_node_prepare();
Index: kernel/test/btree/btree1.c
===================================================================
--- kernel/test/btree/btree1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/btree/btree1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -34,5 +34,5 @@
 static void *data = (void *) 0xdeadbeef;
 
-char *test_btree1(void)
+const char *test_btree1(void)
 {
 	btree_t t;
Index: kernel/test/debug/mips1.c
===================================================================
--- kernel/test/debug/mips1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/debug/mips1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -37,5 +37,5 @@
 #include <arch.h>
 
-char *test_mips1(void)
+const char *test_mips1(void)
 {
 	TPRINTF("If kconsole is compiled in, you should enter debug mode now.\n");
Index: kernel/test/debug/mips1_skip.c
===================================================================
--- kernel/test/debug/mips1_skip.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/debug/mips1_skip.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -29,5 +29,5 @@
 #include <test.h>
 
-char *test_mips1(void)
+const char *test_mips1(void)
 {
 	return NULL;
Index: kernel/test/fault/fault1.c
===================================================================
--- kernel/test/fault/fault1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/fault/fault1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -37,5 +37,5 @@
 #include <arch.h>
 
-char *test_fault1(void)
+const char *test_fault1(void)
 {
 	((int *)(0))[1] = 0;
Index: kernel/test/fpu/fpu1_ia64.c
===================================================================
--- kernel/test/fpu/fpu1_ia64.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/fpu/fpu1_ia64.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -126,5 +126,5 @@
 }
 
-char *test_fpu1(void)
+const char *test_fpu1(void)
 {
 	unsigned int i;
Index: kernel/test/fpu/fpu1_skip.c
===================================================================
--- kernel/test/fpu/fpu1_skip.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/fpu/fpu1_skip.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -29,5 +29,5 @@
 #include <test.h>
 
-char *test_fpu1(void)
+const char *test_fpu1(void)
 {
 	return NULL;
Index: kernel/test/fpu/fpu1_x86.c
===================================================================
--- kernel/test/fpu/fpu1_x86.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/fpu/fpu1_x86.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -123,5 +123,5 @@
 }
 
-char *test_fpu1(void)
+const char *test_fpu1(void)
 {
 	unsigned int i;
Index: kernel/test/fpu/mips2.c
===================================================================
--- kernel/test/fpu/mips2.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/fpu/mips2.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -109,5 +109,5 @@
 
 
-char *test_mips2(void)
+const char *test_mips2(void)
 {
 	unsigned int i;
Index: kernel/test/fpu/mips2_skip.c
===================================================================
--- kernel/test/fpu/mips2_skip.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/fpu/mips2_skip.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -29,5 +29,5 @@
 #include <test.h>
 
-char *test_mips2(void)
+const char *test_mips2(void)
 {
 	return NULL;
Index: kernel/test/fpu/sse1.c
===================================================================
--- kernel/test/fpu/sse1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/fpu/sse1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -107,5 +107,5 @@
 }
 
-char *test_sse1(void)
+const char *test_sse1(void)
 {
 	unsigned int i;
Index: kernel/test/fpu/sse1_skip.c
===================================================================
--- kernel/test/fpu/sse1_skip.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/fpu/sse1_skip.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -29,5 +29,5 @@
 #include <test.h>
 
-char *test_sse1(void)
+const char *test_sse1(void)
 {
 	return NULL;
Index: kernel/test/mm/falloc1.c
===================================================================
--- kernel/test/mm/falloc1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/mm/falloc1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -41,5 +41,5 @@
 #define TEST_RUNS   2
 
-char *test_falloc1(void) {
+const char *test_falloc1(void) {
 	uintptr_t *frames
 	    = (uintptr_t *) malloc(MAX_FRAMES * sizeof(uintptr_t), 0);
Index: kernel/test/mm/falloc2.c
===================================================================
--- kernel/test/mm/falloc2.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/mm/falloc2.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -104,5 +104,5 @@
 }
 
-char *test_falloc2(void)
+const char *test_falloc2(void)
 {
 	unsigned int i;
Index: kernel/test/mm/mapping1.c
===================================================================
--- kernel/test/mm/mapping1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/mm/mapping1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -42,5 +42,5 @@
 #define VALUE1  0x89abcdef
 
-char *test_mapping1(void)
+const char *test_mapping1(void)
 {
 	uintptr_t frame0, frame1;
Index: kernel/test/mm/purge1.c
===================================================================
--- kernel/test/mm/purge1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/mm/purge1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -40,5 +40,5 @@
 extern void tlb_invalidate_pages(asid_t asid, uintptr_t va, size_t cnt);
 
-char *test_purge1(void)
+const char *test_purge1(void)
 {
 	tlb_entry_t entryi;
Index: kernel/test/mm/purge1_skip.c
===================================================================
--- kernel/test/mm/purge1_skip.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/mm/purge1_skip.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -29,5 +29,5 @@
 #include <test.h>
 
-char *test_purge1(void)
+const char *test_purge1(void)
 {
 	return NULL;
Index: kernel/test/mm/slab1.c
===================================================================
--- kernel/test/mm/slab1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/mm/slab1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -170,5 +170,5 @@
 }
 
-char *test_slab1(void)
+const char *test_slab1(void)
 {
 	testsimple();
Index: kernel/test/mm/slab2.c
===================================================================
--- kernel/test/mm/slab2.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/mm/slab2.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -226,5 +226,5 @@
 }
 
-char *test_slab2(void)
+const char *test_slab2(void)
 {
 	TPRINTF("Running reclaim single-thread test .. pass 1\n");
Index: kernel/test/print/print1.c
===================================================================
--- kernel/test/print/print1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/print/print1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -30,5 +30,5 @@
 #include <test.h>
 
-char *test_print1(void)
+const char *test_print1(void)
 {
 	TPRINTF("Testing printf(\"%%*.*s\", 5, 3, \"text\"):\n");
Index: kernel/test/print/print2.c
===================================================================
--- kernel/test/print/print2.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/print/print2.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -30,5 +30,5 @@
 #include <test.h>
 
-char *test_print2(void)
+const char *test_print2(void)
 {
 	TPRINTF("Testing printf(\"%%c %%3.2c %%-3.2c %%2.3c %%-2.3c\", 'a', 'b', 'c', 'd', 'e'):\n");
Index: kernel/test/print/print3.c
===================================================================
--- kernel/test/print/print3.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/print/print3.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -33,5 +33,5 @@
 #define BUFFER_SIZE  32
 
-char *test_print3(void)
+const char *test_print3(void)
 {
 	char buffer[BUFFER_SIZE];
Index: kernel/test/print/print4.c
===================================================================
--- kernel/test/print/print4.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/print/print4.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -30,5 +30,5 @@
 #include <test.h>
 
-char *test_print4(void)
+const char *test_print4(void)
 {
 	TPRINTF("ASCII printable characters (32 - 127) using printf(\"%%c\") and printf(\"%%lc\"):\n");
Index: kernel/test/synch/rwlock1.c
===================================================================
--- kernel/test/synch/rwlock1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/synch/rwlock1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -41,5 +41,5 @@
 static rwlock_t rwlock;
 
-char *test_rwlock1(void)
+const char *test_rwlock1(void)
 {
 	rwlock_initialize(&rwlock);
Index: kernel/test/synch/rwlock2.c
===================================================================
--- kernel/test/synch/rwlock2.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/synch/rwlock2.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -53,5 +53,5 @@
 }
 
-char *test_rwlock2(void)
+const char *test_rwlock2(void)
 {
 	thread_t *thrd;
Index: kernel/test/synch/rwlock3.c
===================================================================
--- kernel/test/synch/rwlock3.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/synch/rwlock3.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -60,5 +60,5 @@
 }
 
-char *test_rwlock3(void)
+const char *test_rwlock3(void)
 {
 	int i;
Index: kernel/test/synch/rwlock4.c
===================================================================
--- kernel/test/synch/rwlock4.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/synch/rwlock4.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -132,5 +132,5 @@
 }
 
-char *test_rwlock4(void)
+const char *test_rwlock4(void)
 {
 	context_t ctx;
Index: kernel/test/synch/rwlock5.c
===================================================================
--- kernel/test/synch/rwlock5.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/synch/rwlock5.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -67,5 +67,5 @@
 }
 
-char *test_rwlock5(void)
+const char *test_rwlock5(void)
 {
 	int i, j, k;
Index: kernel/test/synch/semaphore1.c
===================================================================
--- kernel/test/synch/semaphore1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/synch/semaphore1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -70,5 +70,5 @@
 }
 
-char *test_semaphore1(void)
+const char *test_semaphore1(void)
 {
 	int i, j, k;
Index: kernel/test/synch/semaphore2.c
===================================================================
--- kernel/test/synch/semaphore2.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/synch/semaphore2.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -82,5 +82,5 @@
 }
 
-char *test_semaphore2(void)
+const char *test_semaphore2(void)
 {
 	uint32_t i, k;
Index: kernel/test/sysinfo/sysinfo1.c
===================================================================
--- kernel/test/sysinfo/sysinfo1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/sysinfo/sysinfo1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -33,5 +33,5 @@
 #include <sysinfo/sysinfo.h>
 
-char *test_sysinfo1(void)
+const char *test_sysinfo1(void)
 {
 	if (!test_quiet)
Index: kernel/test/test.h
===================================================================
--- kernel/test/test.h	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/test.h	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -48,40 +48,40 @@
 	}
 
-typedef char *(*test_entry_t)(void);
+typedef const char *(*test_entry_t)(void);
 
 typedef struct {
-	char *name;
-	char *desc;
+	const char *name;
+	const char *desc;
 	test_entry_t entry;
 	bool safe;
 } test_t;
 
-extern char *test_atomic1(void);
-extern char *test_avltree1(void);
-extern char *test_btree1(void);
-extern char *test_mips1(void);
-extern char *test_fault1(void);
-extern char *test_fpu1(void);
-extern char *test_sse1(void);
-extern char *test_mips2(void);
-extern char *test_falloc1(void);
-extern char *test_falloc2(void);
-extern char *test_mapping1(void);
-extern char *test_purge1(void);
-extern char *test_slab1(void);
-extern char *test_slab2(void);
-extern char *test_rwlock1(void);
-extern char *test_rwlock2(void);
-extern char *test_rwlock3(void);
-extern char *test_rwlock4(void);
-extern char *test_rwlock5(void);
-extern char *test_semaphore1(void);
-extern char *test_semaphore2(void);
-extern char *test_print1(void);
-extern char *test_print2(void);
-extern char *test_print3(void);
-extern char *test_print4(void);
-extern char *test_thread1(void);
-extern char *test_sysinfo1(void);
+extern const char *test_atomic1(void);
+extern const char *test_avltree1(void);
+extern const char *test_btree1(void);
+extern const char *test_mips1(void);
+extern const char *test_fault1(void);
+extern const char *test_fpu1(void);
+extern const char *test_sse1(void);
+extern const char *test_mips2(void);
+extern const char *test_falloc1(void);
+extern const char *test_falloc2(void);
+extern const char *test_mapping1(void);
+extern const char *test_purge1(void);
+extern const char *test_slab1(void);
+extern const char *test_slab2(void);
+extern const char *test_rwlock1(void);
+extern const char *test_rwlock2(void);
+extern const char *test_rwlock3(void);
+extern const char *test_rwlock4(void);
+extern const char *test_rwlock5(void);
+extern const char *test_semaphore1(void);
+extern const char *test_semaphore2(void);
+extern const char *test_print1(void);
+extern const char *test_print2(void);
+extern const char *test_print3(void);
+extern const char *test_print4(void);
+extern const char *test_thread1(void);
+extern const char *test_sysinfo1(void);
 
 extern test_t tests[];
Index: kernel/test/thread/thread1.c
===================================================================
--- kernel/test/thread/thread1.c	(revision b9050026376d6902a630a5b1bbac45a4db0dc6df)
+++ kernel/test/thread/thread1.c	(revision 958de16fdaaa208e93eaa7d3150f9a87db99b693)
@@ -53,5 +53,5 @@
 }
 
-char *test_thread1(void)
+const char *test_thread1(void)
 {
 	unsigned int i;
