Index: kernel/arch/amd64/src/interrupt.c
===================================================================
--- kernel/arch/amd64/src/interrupt.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/amd64/src/interrupt.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -95,5 +95,5 @@
 		eoi_function();
 	else
-		panic("no eoi_function\n");
+		panic("No eoi_function.");
 
 }
@@ -101,7 +101,7 @@
 static void null_interrupt(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "Unserviced interrupt: %d", n);
+	fault_if_from_uspace(istate, "Unserviced interrupt: %d.", n);
 	decode_istate(n, istate);
-	panic("Unserviced interrupt\n");
+	panic("Unserviced interrupt.");
 }
 
@@ -127,16 +127,16 @@
 			return;
 		}
-		fault_if_from_uspace(istate, "General protection fault");
+		fault_if_from_uspace(istate, "General protection fault.");
 	}
 
 	decode_istate(n, istate);
-	panic("General protection fault\n");
+	panic("General protection fault.");
 }
 
 static void ss_fault(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "Stack fault");
+	fault_if_from_uspace(istate, "Stack fault.");
 	decode_istate(n, istate);
-	panic("Stack fault\n");
+	panic("Stack fault.");
 }
 
@@ -146,6 +146,6 @@
 	scheduler_fpu_lazy_request();
 #else
-	fault_if_from_uspace(istate, "FPU fault");
-	panic("FPU fault");
+	fault_if_from_uspace(istate, "FPU fault.");
+	panic("FPU fault.");
 #endif
 }
@@ -222,5 +222,5 @@
 		enable_irqs_function(irqmask);
 	else
-		panic("no enable_irqs_function\n");
+		panic("No enable_irqs_function.");
 }
 
@@ -230,5 +230,5 @@
 		disable_irqs_function(irqmask);
 	else
-		panic("no disable_irqs_function\n");
+		panic("No disable_irqs_function.");
 }
 
Index: kernel/arch/amd64/src/mm/page.c
===================================================================
--- kernel/arch/amd64/src/mm/page.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/amd64/src/mm/page.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -181,5 +181,5 @@
 	
 	if (istate->error_word & PFERR_CODE_RSVD)
-		panic("Reserved bit set in page table entry.\n");
+		panic("Reserved bit set in page table entry.");
 	
 	if (istate->error_word & PFERR_CODE_RW)
@@ -191,9 +191,9 @@
 	
 	if (as_page_fault(page, access, istate) == AS_PF_FAULT) {
-		fault_if_from_uspace(istate, "Page fault: %#x", page);
+		fault_if_from_uspace(istate, "Page fault: %#x.", page);
 
 		decode_istate(n, istate);
-		printf("Page fault address: %llx\n", page);
-		panic("Page fault\n");
+		printf("Page fault address: %llx.\n", page);
+		panic("Page fault.");
 	}
 }
@@ -203,5 +203,5 @@
 {
 	if (last_frame + ALIGN_UP(size, PAGE_SIZE) > KA2PA(KERNEL_ADDRESS_SPACE_END_ARCH))
-		panic("Unable to map physical memory %p (%d bytes)", physaddr, size)
+		panic("Unable to map physical memory %p (%d bytes).", physaddr, size)
 	
 	uintptr_t virtaddr = PA2KA(last_frame);
Index: kernel/arch/amd64/src/pm.c
===================================================================
--- kernel/arch/amd64/src/pm.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/amd64/src/pm.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -210,5 +210,5 @@
 		tss_p = (struct tss *) malloc(sizeof(tss_t), FRAME_ATOMIC);
 		if (!tss_p)
-			panic("could not allocate TSS\n");
+			panic("Cannot allocate TSS.");
 	}
 
Index: kernel/arch/arm32/src/mm/page.c
===================================================================
--- kernel/arch/arm32/src/mm/page.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/arm32/src/mm/page.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -91,5 +91,5 @@
 	if (last_frame + ALIGN_UP(size, PAGE_SIZE) >
 	    KA2PA(KERNEL_ADDRESS_SPACE_END_ARCH)) {
-		panic("Unable to map physical memory %p (%d bytes)",
+		panic("Unable to map physical memory %p (%d bytes).",
 		    physaddr, size)
 	}
Index: kernel/arch/arm32/src/mm/page_fault.c
===================================================================
--- kernel/arch/arm32/src/mm/page_fault.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/arm32/src/mm/page_fault.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -143,6 +143,6 @@
 	/* undefined instructions */
 	if (instr.condition == 0xf) {
-		panic("page_fault - instruction doesn't access memory "
-		    "(instr_code: %x, badvaddr:%x)", instr, badvaddr);
+		panic("page_fault - instruction does not access memory "
+		    "(instr_code: %x, badvaddr:%x).", instr, badvaddr);
 		return PF_ACCESS_EXEC;
 	}
@@ -163,5 +163,5 @@
 
 	panic("page_fault - instruction doesn't access memory "
-	    "(instr_code: %x, badvaddr:%x)", instr, badvaddr);
+	    "(instr_code: %x, badvaddr:%x).", instr, badvaddr);
 
 	return PF_ACCESS_EXEC;
@@ -189,6 +189,6 @@
 		    access);
 
-		fault_if_from_uspace(istate, "Page fault: %#x", badvaddr);
-		panic("Page fault\n");
+		fault_if_from_uspace(istate, "Page fault: %#x.", badvaddr);
+		panic("Page fault.");
 	}
 }
@@ -206,5 +206,5 @@
 		dprintf("prefetch_abort\n");
 		print_istate(istate);
-		panic("page fault - prefetch_abort at address: %x\n",
+		panic("page fault - prefetch_abort at address: %x.",
 		    istate->pc);
 	}
Index: kernel/arch/ia32/src/drivers/vesa.c
===================================================================
--- kernel/arch/ia32/src/drivers/vesa.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ia32/src/drivers/vesa.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -84,5 +84,5 @@
 		break;
 	default:
-		panic("Unsupported bits per pixel");
+		panic("Unsupported bits per pixel.");
 	}
 	
Index: kernel/arch/ia32/src/interrupt.c
===================================================================
--- kernel/arch/ia32/src/interrupt.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ia32/src/interrupt.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -90,5 +90,5 @@
 		eoi_function();
 	else
-		panic("no eoi_function\n");
+		panic("No eoi_function.");
 
 }
@@ -96,8 +96,8 @@
 static void null_interrupt(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "Unserviced interrupt: %d", n);
-
-	decode_istate(istate);
-	panic("Unserviced interrupt: %d\n", n);
+	fault_if_from_uspace(istate, "Unserviced interrupt: %d.", n);
+
+	decode_istate(istate);
+	panic("Unserviced interrupt: %d.", n);
 }
 
@@ -123,17 +123,17 @@
 			return;
 		}
-		fault_if_from_uspace(istate, "General protection fault");
+		fault_if_from_uspace(istate, "General protection fault.");
 	}
 
 	decode_istate(istate);
-	panic("General protection fault\n");
+	panic("General protection fault.");
 }
 
 static void ss_fault(int n __attribute__((unused)), istate_t *istate)
 {
-	fault_if_from_uspace(istate, "Stack fault");
-
-	decode_istate(istate);
-	panic("Stack fault\n");
+	fault_if_from_uspace(istate, "Stack fault.");
+
+	decode_istate(istate);
+	panic("Stack fault.");
 }
 
@@ -145,10 +145,10 @@
 		: "=m" (mxcsr)
 	);
-	fault_if_from_uspace(istate, "SIMD FP exception(19), MXCSR: %#zx",
+	fault_if_from_uspace(istate, "SIMD FP exception(19), MXCSR: %#zx.",
 	    (unative_t) mxcsr);
 
 	decode_istate(istate);
 	printf("MXCSR: %#lx\n", mxcsr);
-	panic("SIMD FP exception(19)\n");
+	panic("SIMD FP exception(19).");
 }
 
@@ -158,6 +158,6 @@
 	scheduler_fpu_lazy_request();
 #else
-	fault_if_from_uspace(istate, "FPU fault");
-	panic("FPU fault");
+	fault_if_from_uspace(istate, "FPU fault.");
+	panic("FPU fault.");
 #endif
 }
@@ -234,5 +234,5 @@
 		enable_irqs_function(irqmask);
 	else
-		panic("no enable_irqs_function\n");
+		panic("No enable_irqs_function.");
 }
 
@@ -242,5 +242,5 @@
 		disable_irqs_function(irqmask);
 	else
-		panic("no disable_irqs_function\n");
+		panic("No disable_irqs_function.");
 }
 
Index: kernel/arch/ia32/src/mm/page.c
===================================================================
--- kernel/arch/ia32/src/mm/page.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ia32/src/mm/page.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -80,5 +80,5 @@
 {
 	if (last_frame + ALIGN_UP(size, PAGE_SIZE) > KA2PA(KERNEL_ADDRESS_SPACE_END_ARCH))
-		panic("Unable to map physical memory %p (%d bytes)", physaddr, size)
+		panic("Unable to map physical memory %p (%d bytes).", physaddr, size)
 	
 	uintptr_t virtaddr = PA2KA(last_frame);
@@ -102,5 +102,5 @@
 		
 	if (istate->error_word & PFERR_CODE_RSVD)
-		panic("Reserved bit set in page directory.\n");
+		panic("Reserved bit set in page directory.");
 
 	if (istate->error_word & PFERR_CODE_RW)
@@ -110,9 +110,9 @@
 	
 	if (as_page_fault(page, access, istate) == AS_PF_FAULT) {
-		fault_if_from_uspace(istate, "Page fault: %#x", page);
+		fault_if_from_uspace(istate, "Page fault: %#x.", page);
 		
 		decode_istate(istate);
 		printf("page fault address: %#lx\n", page);
-		panic("page fault\n");
+		panic("Page fault.");
 	}
 }
Index: kernel/arch/ia32/src/pm.c
===================================================================
--- kernel/arch/ia32/src/pm.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ia32/src/pm.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -199,5 +199,5 @@
 		tss_p = (tss_t *) malloc(sizeof(tss_t), FRAME_ATOMIC);
 		if (!tss_p)
-			panic("could not allocate TSS\n");
+			panic("Cannot allocate TSS.");
 	}
 
Index: kernel/arch/ia32/src/smp/smp.c
===================================================================
--- kernel/arch/ia32/src/smp/smp.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ia32/src/smp/smp.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -76,10 +76,10 @@
 	    FRAME_ATOMIC | FRAME_KA);
 	if (!l_apic_address)
-		panic("cannot allocate address for l_apic\n");
+		panic("Cannot allocate address for l_apic.");
 
 	io_apic_address = (uintptr_t) frame_alloc(ONE_FRAME,
 	    FRAME_ATOMIC | FRAME_KA);
 	if (!io_apic_address)
-		panic("cannot allocate address for io_apic\n");
+		panic("Cannot allocate address for io_apic.");
 
 	if (config.cpu_count > 1) {		
@@ -158,5 +158,5 @@
 		    sizeof(struct descriptor), FRAME_ATOMIC | FRAME_LOW_4_GiB);
 		if (!gdt_new)
-			panic("couldn't allocate memory for GDT\n");
+			panic("Cannot allocate memory for GDT.");
 
 		memcpy(gdt_new, gdt, GDT_ITEMS * sizeof(struct descriptor));
Index: kernel/arch/ia32xen/src/interrupt.c
===================================================================
--- kernel/arch/ia32xen/src/interrupt.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ia32xen/src/interrupt.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -89,5 +89,5 @@
 		eoi_function();
 	else
-		panic("no eoi_function\n");
+		panic("No eoi_function.");
 
 }
@@ -95,8 +95,8 @@
 static void null_interrupt(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "Unserviced interrupt: %d", n);
-
-	decode_istate(istate);
-	panic("Unserviced interrupt: %d\n", n);
+	fault_if_from_uspace(istate, "Unserviced interrupt: %d.", n);
+
+	decode_istate(istate);
+	panic("Unserviced interrupt: %d.", n);
 }
 
@@ -122,17 +122,17 @@
 			return;
 		}
-		fault_if_from_uspace(istate, "General protection fault");
+		fault_if_from_uspace(istate, "General protection fault.");
 	}
 
 	decode_istate(istate);
-	panic("General protection fault\n");
+	panic("General protection fault.");
 }
 
 static void ss_fault(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "Stack fault");
-
-	decode_istate(istate);
-	panic("Stack fault\n");
+	fault_if_from_uspace(istate, "Stack fault.");
+
+	decode_istate(istate);
+	panic("Stack fault.");
 }
 
@@ -145,10 +145,10 @@
 		:"=m"(mxcsr)
 	);
-	fault_if_from_uspace(istate, "SIMD FP exception(19), MXCSR: %#zx",
+	fault_if_from_uspace(istate, "SIMD FP exception(19), MXCSR: %#zx.",
 			     (unative_t)mxcsr);
 
 	decode_istate(istate);
 	printf("MXCSR: %#zx\n",(unative_t)(mxcsr));
-	panic("SIMD FP exception(19)\n");
+	panic("SIMD FP exception(19).");
 }
 
@@ -158,6 +158,6 @@
 	scheduler_fpu_lazy_request();
 #else
-	fault_if_from_uspace(istate, "FPU fault");
-	panic("FPU fault");
+	fault_if_from_uspace(istate, "FPU fault.");
+	panic("FPU fault.");
 #endif
 }
@@ -234,5 +234,5 @@
 		enable_irqs_function(irqmask);
 	else
-		panic("no enable_irqs_function\n");
+		panic("No enable_irqs_function.");
 }
 
@@ -242,5 +242,5 @@
 		disable_irqs_function(irqmask);
 	else
-		panic("no disable_irqs_function\n");
+		panic("No disable_irqs_function.");
 }
 
Index: kernel/arch/ia32xen/src/mm/page.c
===================================================================
--- kernel/arch/ia32xen/src/mm/page.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ia32xen/src/mm/page.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -67,5 +67,5 @@
 	
 	if (istate->error_word & PFERR_CODE_RSVD)
-		panic("Reserved bit set in page directory.\n");
+		panic("Reserved bit set in page directory.");
 	
 	if (istate->error_word & PFERR_CODE_RW)
@@ -75,9 +75,9 @@
 	
 	if (as_page_fault(page, access, istate) == AS_PF_FAULT) {
-		fault_if_from_uspace(istate, "Page fault: %#x", page);
+		fault_if_from_uspace(istate, "Page fault: %#x.", page);
 		
 		decode_istate(istate);
-		printf("Page fault address: %#x\n", page);
-		panic("Page fault\n");
+		printf("Page fault address: %#x.\n", page);
+		panic("Page fault.");
 	}
 }
Index: kernel/arch/ia32xen/src/pm.c
===================================================================
--- kernel/arch/ia32xen/src/pm.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ia32xen/src/pm.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -169,5 +169,5 @@
 		tss_p = (tss_t *) malloc(sizeof(tss_t), FRAME_ATOMIC);
 		if (!tss_p)
-			panic("could not allocate TSS\n");
+			panic("Cannot allocate TSS.");
 	}
 
Index: kernel/arch/ia32xen/src/smp/smp.c
===================================================================
--- kernel/arch/ia32xen/src/smp/smp.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ia32xen/src/smp/smp.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -73,9 +73,9 @@
 	l_apic_address = (uintptr_t) frame_alloc(ONE_FRAME, FRAME_ATOMIC | FRAME_KA);
 	if (!l_apic_address)
-		panic("cannot allocate address for l_apic\n");
+		panic("Cannot allocate address for l_apic.");
 
 	io_apic_address = (uintptr_t) frame_alloc(ONE_FRAME, FRAME_ATOMIC | FRAME_KA);
 	if (!io_apic_address)
-		panic("cannot allocate address for io_apic\n");
+		panic("Cannot allocate address for io_apic.");
 
 	if (config.cpu_count > 1) {		
@@ -144,5 +144,5 @@
 		 */
 		if (!(gdt_new = (struct descriptor *) malloc(GDT_ITEMS * sizeof(struct descriptor), FRAME_ATOMIC)))
-			panic("couldn't allocate memory for GDT\n");
+			panic("Cannot allocate memory for GDT.");
 
 		memcpy(gdt_new, gdt, GDT_ITEMS * sizeof(struct descriptor));
Index: kernel/arch/ia64/src/ia64.c
===================================================================
--- kernel/arch/ia64/src/ia64.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ia64/src/ia64.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -180,5 +180,5 @@
 	t = thread_create(kkbdpoll, NULL, TASK, 0, "kkbdpoll", true);
 	if (!t)
-		panic("cannot create kkbdpoll\n");
+		panic("Cannot create kkbdpoll.");
 	thread_ready(t);
 #endif		
@@ -195,5 +195,5 @@
 	t = thread_create(i8042_kkbdpoll, NULL, TASK, 0, "kkbdpoll", true);
 	if (!t)
-		panic("cannot create kkbdpoll\n");
+		panic("Cannot create kkbdpoll.");
 	thread_ready(t);
 #endif
Index: kernel/arch/ia64/src/interrupt.c
===================================================================
--- kernel/arch/ia64/src/interrupt.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ia64/src/interrupt.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -187,8 +187,8 @@
 	}
 
-	fault_if_from_uspace(istate, "General Exception (%s)", desc);
+	fault_if_from_uspace(istate, "General Exception (%s).", desc);
 
 	dump_interrupted_context(istate);
-	panic("General Exception (%s)\n", desc);
+	panic("General Exception (%s).", desc);
 }
 
@@ -198,8 +198,8 @@
 	scheduler_fpu_lazy_request();	
 #else
-	fault_if_from_uspace(istate, "Interruption: %#hx (%s)",
+	fault_if_from_uspace(istate, "Interruption: %#hx (%s).",
 	    (uint16_t) vector, vector_to_string(vector));
 	dump_interrupted_context(istate);
-	panic("Interruption: %#hx (%s)\n", (uint16_t) vector,
+	panic("Interruption: %#hx (%s).", (uint16_t) vector,
 	    vector_to_string(vector));
 #endif
@@ -229,8 +229,8 @@
 void universal_handler(uint64_t vector, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "Interruption: %#hx (%s)",
+	fault_if_from_uspace(istate, "Interruption: %#hx (%s).",
 	    (uint16_t) vector, vector_to_string(vector));
 	dump_interrupted_context(istate);
-	panic("Interruption: %#hx (%s)\n", (uint16_t) vector,
+	panic("Interruption: %#hx (%s).", (uint16_t) vector,
 	    vector_to_string(vector));
 }
@@ -270,5 +270,5 @@
 			spinlock_unlock(&irq->lock);
 		} else {
-			panic("\nUnhandled Internal Timer Interrupt (%d)\n",
+			panic("Unhandled Internal Timer Interrupt (%d).",
 			    ivr.vector);
 		}
Index: kernel/arch/ia64/src/mm/tlb.c
===================================================================
--- kernel/arch/ia64/src/mm/tlb.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ia64/src/mm/tlb.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -473,6 +473,6 @@
 		page_table_unlock(AS, true);
 		if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) {
-			fault_if_from_uspace(istate,"Page fault at %p",va);
-			panic("%s: va=%p, rid=%d, iip=%p\n", __func__, va, rid,
+			fault_if_from_uspace(istate,"Page fault at %p.",va);
+			panic("%s: va=%p, rid=%d, iip=%p.", __func__, va, rid,
 			    istate->cr_iip);
 		}
@@ -532,5 +532,5 @@
 			} else {
 				fault_if_from_uspace(istate,
-				    "IO access fault at %p", va);
+				    "IO access fault at %p.", va);
 			}
 		}
@@ -584,6 +584,6 @@
 		 */
 		if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
-			fault_if_from_uspace(istate,"Page fault at %p",va);
-			panic("%s: va=%p, rid=%d, iip=%p\n", __func__, va, rid,
+			fault_if_from_uspace(istate,"Page fault at %p.",va);
+			panic("%s: va=%p, rid=%d, iip=%p.", __func__, va, rid,
 			    istate->cr_iip);
 		}
@@ -600,5 +600,5 @@
 void data_nested_tlb_fault(uint64_t vector, istate_t *istate)
 {
-	panic("%s\n", __func__);
+	panic("%s.", __func__);
 }
 
@@ -631,6 +631,6 @@
 	} else {
 		if (as_page_fault(va, PF_ACCESS_WRITE, istate) == AS_PF_FAULT) {
-			fault_if_from_uspace(istate,"Page fault at %p",va);
-			panic("%s: va=%p, rid=%d, iip=%p\n", __func__, va, rid,
+			fault_if_from_uspace(istate,"Page fault at %p.",va);
+			panic("%s: va=%p, rid=%d, iip=%p.", __func__, va, rid,
 			    istate->cr_iip);
 		}
@@ -667,6 +667,6 @@
 	} else {
 		if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) {
-			fault_if_from_uspace(istate, "Page fault at %p", va);
-			panic("%s: va=%p, rid=%d, iip=%p\n", __func__, va, rid,
+			fault_if_from_uspace(istate, "Page fault at %p.", va);
+			panic("%s: va=%p, rid=%d, iip=%p.", __func__, va, rid,
 			    istate->cr_iip);
 		}
@@ -703,6 +703,6 @@
 	} else {
 		if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
-			fault_if_from_uspace(istate, "Page fault at %p", va);
-			panic("%s: va=%p, rid=%d, iip=%p\n", __func__, va, rid,
+			fault_if_from_uspace(istate, "Page fault at %p.", va);
+			panic("%s: va=%p, rid=%d, iip=%p.", __func__, va, rid,
 			    istate->cr_iip);
 		}
@@ -744,6 +744,6 @@
 		page_table_unlock(AS, true);
 		if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
-			fault_if_from_uspace(istate, "Page fault at %p", va);
-			panic("%s: va=%p, rid=%d\n", __func__, va, rid);
+			fault_if_from_uspace(istate, "Page fault at %p.", va);
+			panic("%s: va=%p, rid=%d.", __func__, va, rid);
 		}
 	}
Index: kernel/arch/mips32/src/cache.c
===================================================================
--- kernel/arch/mips32/src/cache.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/mips32/src/cache.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -39,5 +39,5 @@
 void cache_error(istate_t *istate)
 {
-	panic("cache_error exception (epc=%p)\n", istate->epc);
+	panic("cache_error exception (epc=%p).", istate->epc);
 }
 
Index: kernel/arch/mips32/src/debugger.c
===================================================================
--- kernel/arch/mips32/src/debugger.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/mips32/src/debugger.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -317,5 +317,5 @@
 	/* test branch delay slot */
 	if (cp0_cause_read() & 0x80000000)
-		panic("Breakpoint in branch delay slot not supported.\n");
+		panic("Breakpoint in branch delay slot not supported.");
 
 	spinlock_lock(&bkpoint_lock);
Index: kernel/arch/mips32/src/exception.c
===================================================================
--- kernel/arch/mips32/src/exception.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/mips32/src/exception.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -89,8 +89,8 @@
 static void unhandled_exception(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "Unhandled exception %s", exctable[n]);
+	fault_if_from_uspace(istate, "Unhandled exception %s.", exctable[n]);
 	
 	print_regdump(istate);
-	panic("Unhandled exception %s.\n", exctable[n]);
+	panic("Unhandled exception %s.", exctable[n]);
 }
 
@@ -133,6 +133,6 @@
 		scheduler_fpu_lazy_request();
 	else {
-		fault_if_from_uspace(istate, "Unhandled Coprocessor Unusable Exception");
-		panic("Unhandled Coprocessor Unusable Exception.\n");
+		fault_if_from_uspace(istate, "Unhandled Coprocessor Unusable Exception.");
+		panic("Unhandled Coprocessor Unusable Exception.");
 	}
 }
@@ -171,5 +171,5 @@
 static void syscall_exception(int n, istate_t *istate)
 {
-	panic("Syscall is handled through shortcut");
+	panic("Syscall is handled through shortcut.");
 }
 
Index: kernel/arch/mips32/src/mm/tlb.c
===================================================================
--- kernel/arch/mips32/src/mm/tlb.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/mips32/src/mm/tlb.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -116,5 +116,5 @@
 			return;
 		default:
-			panic("unexpected pfrc (%d)\n", pfrc);
+			panic("Unexpected pfrc (%d).", pfrc);
 		}
 	}
@@ -200,5 +200,5 @@
 			return;
 		default:
-			panic("unexpected pfrc (%d)\n", pfrc);
+			panic("Unexpected pfrc (%d).", pfrc);
 		}
 	}
@@ -283,5 +283,5 @@
 			return;
 		default:
-			panic("unexpected pfrc (%d)\n", pfrc);
+			panic("Unexpected pfrc (%d).", pfrc);
 		}
 	}
@@ -331,7 +331,7 @@
 		sym2 = s;
 
-	fault_if_from_uspace(istate, "TLB Refill Exception on %p",
+	fault_if_from_uspace(istate, "TLB Refill Exception on %p.",
 	    cp0_badvaddr_read());
-	panic("%x: TLB Refill Exception at %x(%s<-%s).\n", cp0_badvaddr_read(),
+	panic("%x: TLB Refill Exception at %x(%s<-%s).", cp0_badvaddr_read(),
 	    istate->epc, symbol, sym2);
 }
@@ -345,7 +345,7 @@
 	if (s)
 		symbol = s;
-	fault_if_from_uspace(istate, "TLB Invalid Exception on %p",
+	fault_if_from_uspace(istate, "TLB Invalid Exception on %p.",
 	    cp0_badvaddr_read());
-	panic("%x: TLB Invalid Exception at %x(%s).\n", cp0_badvaddr_read(),
+	panic("%x: TLB Invalid Exception at %x(%s).", cp0_badvaddr_read(),
 	    istate->epc, symbol);
 }
@@ -358,7 +358,7 @@
 	if (s)
 		symbol = s;
-	fault_if_from_uspace(istate, "TLB Modified Exception on %p",
+	fault_if_from_uspace(istate, "TLB Modified Exception on %p.",
 	    cp0_badvaddr_read());
-	panic("%x: TLB Modified Exception at %x(%s).\n", cp0_badvaddr_read(),
+	panic("%x: TLB Modified Exception at %x(%s).", cp0_badvaddr_read(),
 	    istate->epc, symbol);
 }
@@ -434,5 +434,5 @@
 			break;
 		default:
-			panic("unexpected rc (%d)\n", rc);
+			panic("Unexpected rc (%d).", rc);
 		}
 		
Index: kernel/arch/ppc32/src/mm/page.c
===================================================================
--- kernel/arch/ppc32/src/mm/page.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ppc32/src/mm/page.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -50,5 +50,5 @@
 	if (last_frame + ALIGN_UP(size, PAGE_SIZE) >
 	    KA2PA(KERNEL_ADDRESS_SPACE_END_ARCH))
-		panic("Unable to map physical memory %p (%" PRIs " bytes)",
+		panic("Unable to map physical memory %p (%" PRIs " bytes).",
 		    physaddr, size)
 	
Index: kernel/arch/ppc32/src/mm/tlb.c
===================================================================
--- kernel/arch/ppc32/src/mm/tlb.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ppc32/src/mm/tlb.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -101,5 +101,5 @@
 			return NULL;
 		default:
-			panic("unexpected rc (%d)\n", rc);
+			panic("Unexpected rc (%d).", rc);
 		}	
 	}
@@ -120,7 +120,7 @@
 
 	fault_if_from_uspace(istate,
-	    "%p: PHT Refill Exception at %p (%s<-%s)", badvaddr,
+	    "%p: PHT Refill Exception at %p (%s<-%s).", badvaddr,
 	    istate->pc, symbol, sym2);
-	panic("%p: PHT Refill Exception at %p (%s<-%s)\n", badvaddr,
+	panic("%p: PHT Refill Exception at %p (%s<-%s).", badvaddr,
 	    istate->pc, symbol, sym2);
 }
@@ -315,5 +315,5 @@
 			return;
 		default:
-			panic("Unexpected pfrc (%d)\n", pfrc);
+			panic("Unexpected pfrc (%d).", pfrc);
 		}
 	}
Index: kernel/arch/ppc32/src/ppc32.c
===================================================================
--- kernel/arch/ppc32/src/ppc32.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ppc32/src/ppc32.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -93,5 +93,5 @@
 			break;
 		default:
-			panic("Unsupported bits per pixel");
+			panic("Unsupported bits per pixel.");
 		}
 		fb_properties_t prop = {
Index: kernel/arch/ppc64/include/exception.h
===================================================================
--- kernel/arch/ppc64/include/exception.h	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ppc64/include/exception.h	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -88,5 +88,5 @@
 static inline int istate_from_uspace(istate_t *istate)
 {
-	panic("istate_from_uspace not yet implemented");
+	panic("istate_from_uspace not yet implemented.");
 	return 0;
 }
Index: kernel/arch/ppc64/src/mm/page.c
===================================================================
--- kernel/arch/ppc64/src/mm/page.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ppc64/src/mm/page.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -107,5 +107,5 @@
 				return NULL;
 			default:
-				panic("unexpected rc (%d)\n", rc);
+				panic("Unexpected rc (%d).", rc);
 		}	
 	}
@@ -124,5 +124,5 @@
 	if (s)
 		sym2 = s;
-	panic("%p: PHT Refill Exception at %p (%s<-%s)\n", badvaddr, istate->pc, symbol, sym2);
+	panic("%p: PHT Refill Exception at %p (%s<-%s).", badvaddr, istate->pc, symbol, sym2);
 }
 
@@ -234,5 +234,5 @@
 				return;
 			default:
-				panic("Unexpected pfrc (%d)\n", pfrc);
+				panic("Unexpected pfrc (%d).", pfrc);
 		}
 	}
@@ -289,5 +289,5 @@
 {
 	if (last_frame + ALIGN_UP(size, PAGE_SIZE) > KA2PA(KERNEL_ADDRESS_SPACE_END_ARCH))
-		panic("Unable to map physical memory %p (%" PRIs " bytes)", physaddr, size)
+		panic("Unable to map physical memory %p (%" PRIs " bytes).", physaddr, size)
 	
 	uintptr_t virtaddr = PA2KA(last_frame);
Index: kernel/arch/ppc64/src/ppc64.c
===================================================================
--- kernel/arch/ppc64/src/ppc64.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/ppc64/src/ppc64.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -86,5 +86,5 @@
 			break;
 		default:
-			panic("Unsupported bits per pixel");
+			panic("Unsupported bits per pixel.");
 		}
 		fb_init(bootinfo.screen.addr, bootinfo.screen.width, bootinfo.screen.height, bootinfo.screen.scanline, visual);
Index: kernel/arch/sparc64/src/console.c
===================================================================
--- kernel/arch/sparc64/src/console.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/sparc64/src/console.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -78,10 +78,10 @@
 	prop = ofw_tree_getprop(aliases, "screen");
 	if (!prop)
-		panic("Can't find property \"screen\".\n");
+		panic("Cannot find property 'screen'.");
 	if (!prop->value)
-		panic("Can't find screen alias.\n");
+		panic("Cannot find screen alias.");
 	screen = ofw_tree_lookup(prop->value);
 	if (!screen)
-		panic("Can't find %s\n", prop->value);
+		panic("Cannot find %s.", prop->value);
 
 	scr_init(screen);
@@ -89,10 +89,10 @@
 	prop = ofw_tree_getprop(aliases, "keyboard");
 	if (!prop)
-		panic("Can't find property \"keyboard\".\n");
+		panic("Cannot find property 'keyboard'.");
 	if (!prop->value)
-		panic("Can't find keyboard alias.\n");
+		panic("Cannot find keyboard alias.");
 	keyboard = ofw_tree_lookup(prop->value);
 	if (!keyboard)
-		panic("Can't find %s\n", prop->value);
+		panic("Cannot find %s.", prop->value);
 
 	kbd_init(keyboard);
@@ -116,5 +116,5 @@
 	aliases = ofw_tree_lookup("/aliases");
 	if (!aliases)
-		panic("Can't find /aliases.\n");
+		panic("Cannot find '/aliases'.");
 	
 	/* "def-cn" = "default console" */
Index: kernel/arch/sparc64/src/drivers/fhc.c
===================================================================
--- kernel/arch/sparc64/src/drivers/fhc.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/sparc64/src/drivers/fhc.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -97,5 +97,5 @@
 		break;
 	default:
-		panic("Unexpected INR (%d)\n", inr);
+		panic("Unexpected INR (%d).", inr);
 		break;
 	}
@@ -112,5 +112,5 @@
 		break;
 	default:
-		panic("Unexpected INR (%d)\n", inr);
+		panic("Unexpected INR (%d).", inr);
 		break;
 	}
Index: kernel/arch/sparc64/src/drivers/kbd.c
===================================================================
--- kernel/arch/sparc64/src/drivers/kbd.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/sparc64/src/drivers/kbd.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -88,5 +88,5 @@
 	prop = ofw_tree_getprop(node, "interrupts");
 	if ((!prop) || (!prop->value))
-		panic("Can't find \"interrupts\" property.\n");
+		panic("Cannot find 'interrupt' property.");
 	interrupts = *((uint32_t *) prop->value);
 	
@@ -96,5 +96,5 @@
 	prop = ofw_tree_getprop(node, "reg");
 	if ((!prop) || (!prop->value))
-		panic("Can't find \"reg\" property.\n");
+		panic("Cannot find 'reg' property.");
 	
 	uintptr_t pa;
@@ -134,5 +134,5 @@
 		
 	default:
-		panic("Unexpected keyboard type.\n");
+		panic("Unexpected keyboard type.");
 	}
 	
Index: kernel/arch/sparc64/src/drivers/scr.c
===================================================================
--- kernel/arch/sparc64/src/drivers/scr.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/sparc64/src/drivers/scr.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -105,5 +105,5 @@
 	prop = ofw_tree_getprop(node, "reg");
 	if (!prop)
-		panic("Can't find \"reg\" property.\n");
+		panic("Cannot find 'reg' property.");
 
 	switch (scr_type) {
@@ -224,5 +224,5 @@
 		break;
 	default:
-		panic("Unexpected type.\n");
+		panic("Unexpected type.");
 	}
 
Index: kernel/arch/sparc64/src/drivers/sgcn.c
===================================================================
--- kernel/arch/sparc64/src/drivers/sgcn.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/sparc64/src/drivers/sgcn.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -200,11 +200,11 @@
 	chosen = ofw_tree_lookup("/chosen");
 	if (!chosen)
-		panic("Can't find /chosen.\n");
+		panic("Cannot find '/chosen'.");
 
 	iosram_toc = ofw_tree_getprop(chosen, "iosram-toc");
 	if (!iosram_toc)
-		panic("Can't find property \"iosram-toc\".\n");
+		panic("Cannot find property 'iosram-toc'.");
 	if (!iosram_toc->value)
-		panic("Can't find SRAM TOC.\n");
+		panic("Cannot find SRAM TOC.");
 
 	sram_begin_physical = SBBC_START + SBBC_SRAM_OFFSET
@@ -329,5 +329,5 @@
 static void sgcn_irq_handler(irq_t *irq, void *arg, ...)
 {
-	panic("Not yet implemented, SGCN works in polled mode.\n");
+	panic("Not yet implemented, SGCN works in polled mode.");
 }
 
Index: kernel/arch/sparc64/src/mm/tlb.c
===================================================================
--- kernel/arch/sparc64/src/mm/tlb.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/sparc64/src/mm/tlb.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -425,7 +425,7 @@
     const char *str)
 {
-	fault_if_from_uspace(istate, "%s", str);
+	fault_if_from_uspace(istate, "%s.", str);
 	dump_istate(istate);
-	panic("%s\n", str);
+	panic("%s.", str);
 }
 
@@ -437,10 +437,10 @@
 	va = tag.vpn << MMU_PAGE_WIDTH;
 	if (tag.context) {
-		fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d)", str, va,
+		fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d).", str, va,
 		    tag.context);
 	}
 	dump_istate(istate);
-	printf("Faulting page: %p, ASID=%d\n", va, tag.context);
-	panic("%s\n", str);
+	printf("Faulting page: %p, ASID=%d.\n", va, tag.context);
+	panic("%s.", str);
 }
 
@@ -453,10 +453,10 @@
 
 	if (tag.context) {
-		fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d)", str, va,
+		fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d).", str, va,
 		    tag.context);
 	}
 	printf("Faulting page: %p, ASID=%d\n", va, tag.context);
 	dump_istate(istate);
-	panic("%s\n", str);
+	panic("%s.", str);
 }
 
Index: kernel/arch/sparc64/src/smp/ipi.c
===================================================================
--- kernel/arch/sparc64/src/smp/ipi.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/sparc64/src/smp/ipi.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -99,5 +99,5 @@
 	status = asi_u64_read(ASI_INTR_DISPATCH_STATUS, 0);
 	if (status & INTR_DISPATCH_STATUS_BUSY)
-		panic("Interrupt Dispatch Status busy bit set\n");
+		panic("Interrupt Dispatch Status busy bit set.");
 	
 	ASSERT(!(pstate_read() & PSTATE_IE_BIT));
@@ -152,5 +152,5 @@
 		break;
 	default:
-		panic("Unknown IPI (%d).\n", ipi);
+		panic("Unknown IPI (%d).", ipi);
 		break;
 	}
Index: kernel/arch/sparc64/src/sparc64.c
===================================================================
--- kernel/arch/sparc64/src/sparc64.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/sparc64/src/sparc64.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -111,5 +111,5 @@
 		t = thread_create(kkbdpoll, NULL, TASK, 0, "kkbdpoll", true);
 		if (!t)
-			panic("cannot create kkbdpoll\n");
+			panic("Cannot create kkbdpoll.");
 		thread_ready(t);
 	}
Index: kernel/arch/sparc64/src/trap/exception.c
===================================================================
--- kernel/arch/sparc64/src/trap/exception.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/sparc64/src/trap/exception.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -54,7 +54,7 @@
 void instruction_access_exception(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -62,7 +62,7 @@
 void instruction_access_error(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -70,7 +70,7 @@
 void illegal_instruction(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -78,7 +78,7 @@
 void privileged_opcode(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -86,7 +86,7 @@
 void unimplemented_LDD(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -94,7 +94,7 @@
 void unimplemented_STD(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -114,7 +114,7 @@
 	scheduler_fpu_lazy_request();
 #else
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 #endif
 }
@@ -123,7 +123,7 @@
 void fp_exception_ieee_754(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -131,7 +131,7 @@
 void fp_exception_other(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -139,7 +139,7 @@
 void tag_overflow(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -147,7 +147,7 @@
 void division_by_zero(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -155,8 +155,8 @@
 void data_access_exception(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
 	dump_istate(istate);
 	dump_sfsr_and_sfar();
-	panic("%s\n", __func__);
+	panic("%s.", __func__);
 }
 
@@ -164,7 +164,7 @@
 void data_access_error(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -172,7 +172,7 @@
 void mem_address_not_aligned(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -180,7 +180,7 @@
 void LDDF_mem_address_not_aligned(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -188,7 +188,7 @@
 void STDF_mem_address_not_aligned(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -196,7 +196,7 @@
 void privileged_action(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -204,7 +204,7 @@
 void LDQF_mem_address_not_aligned(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
@@ -212,7 +212,7 @@
 void STQF_mem_address_not_aligned(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "%s", __func__);
-	dump_istate(istate);
-	panic("%s\n", __func__);
+	fault_if_from_uspace(istate, "%s.", __func__);
+	dump_istate(istate);
+	panic("%s.", __func__);
 }
 
Index: kernel/arch/sparc64/src/trap/interrupt.c
===================================================================
--- kernel/arch/sparc64/src/trap/interrupt.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/arch/sparc64/src/trap/interrupt.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -73,5 +73,5 @@
 	status = asi_u64_read(ASI_INTR_DISPATCH_STATUS, 0);
 	if (status & (!INTR_DISPATCH_STATUS_BUSY))
-		panic("Interrupt Dispatch Status busy bit not set\n");
+		panic("Interrupt Dispatch Status busy bit not set.");
 
 	intrcv = asi_u64_read(ASI_INTR_RECEIVE, 0);
Index: kernel/genarch/src/drivers/ega/ega.c
===================================================================
--- kernel/genarch/src/drivers/ega/ega.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/genarch/src/drivers/ega/ega.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -79,5 +79,5 @@
 	backbuf = (uint8_t *) malloc(SCREEN * 2, 0);
 	if (!backbuf)
-		panic("Unable to allocate backbuffer.\n");
+		panic("Unable to allocate backbuffer.");
 	
 	videoram = (uint8_t *) hw_map(videoram_phys, SCREEN * 2);
Index: kernel/genarch/src/fb/fb.c
===================================================================
--- kernel/genarch/src/fb/fb.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/genarch/src/fb/fb.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -457,5 +457,5 @@
 		break;
 	default:
-		panic("Unsupported visual.\n");
+		panic("Unsupported visual.");
 	}
 	
@@ -489,13 +489,13 @@
 	backbuf = (uint8_t *) malloc(bbsize, 0);
 	if (!backbuf)
-		panic("Unable to allocate backbuffer.\n");
+		panic("Unable to allocate backbuffer.");
 	
 	glyphs = (uint8_t *) malloc(glyphsize, 0);
 	if (!glyphs)
-		panic("Unable to allocate glyphs.\n");
+		panic("Unable to allocate glyphs.");
 	
 	bgscan = malloc(bgscanbytes, 0);
 	if (!bgscan)
-		panic("Unable to allocate background pixel.\n");
+		panic("Unable to allocate background pixel.");
 	
 	memsetb(backbuf, bbsize, 0);
Index: kernel/genarch/src/ofw/fhc.c
===================================================================
--- kernel/genarch/src/ofw/fhc.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/genarch/src/ofw/fhc.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -68,5 +68,5 @@
 			}
 			if (strcmp(ofw_tree_node_name(node->parent), "central") != 0)
-				panic("Unexpected parent node: %s.\n", ofw_tree_node_name(node->parent));
+				panic("Unexpected parent node: %s.", ofw_tree_node_name(node->parent));
 			
 			ofw_central_reg_t central_reg;
@@ -85,5 +85,5 @@
 {
 	if (node->parent->parent)
-		panic("Unexpected parent node: %s.\n", ofw_tree_node_name(node->parent));
+		panic("Unexpected parent node: %s.", ofw_tree_node_name(node->parent));
 	
 	ofw_tree_property_t *prop;
Index: kernel/genarch/src/ofw/ofw_tree.c
===================================================================
--- kernel/genarch/src/ofw/ofw_tree.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/genarch/src/ofw/ofw_tree.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -86,8 +86,8 @@
 	prop = ofw_tree_getprop(node, "name");
 	if (!prop)
-		panic("Node without name property.\n");
+		panic("Node without name property.");
 		
 	if (prop->size < 2)
-		panic("Invalid name property.\n");
+		panic("Invalid name property.");
 	
 	return prop->value;
Index: kernel/genarch/src/ofw/pci.c
===================================================================
--- kernel/genarch/src/ofw/pci.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/genarch/src/ofw/pci.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -102,5 +102,5 @@
 	prop = ofw_tree_getprop(node, "assigned-addresses");
 	if (!prop)
-		panic("Can't find \"assigned-addresses\" property.\n");
+		panic("Cannot find 'assigned-addresses' property.");
 	
 	assigned_addresses = prop->size / sizeof(ofw_pci_reg_t);
Index: kernel/generic/include/debug.h
===================================================================
--- kernel/generic/include/debug.h	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/include/debug.h	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -58,5 +58,5 @@
 #	define ASSERT(expr) \
 		if (!(expr)) { \
-			panic("assertion failed (%s), caller=%p\n", #expr, CALLER); \
+			panic("Assertion failed (%s), caller=%p.", #expr, CALLER); \
 		}
 #else
Index: kernel/generic/include/panic.h
===================================================================
--- kernel/generic/include/panic.h	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/include/panic.h	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -38,9 +38,9 @@
 #ifdef CONFIG_DEBUG
 #	define panic(format, ...) \
-		panic_printf("Kernel panic in %s() at %s:%u: " format, __func__, \
-		__FILE__, __LINE__, ##__VA_ARGS__);
+		panic_printf("Kernel panic in %s() at %s:%u: " format "\n", \
+		__func__, __FILE__, __LINE__, ##__VA_ARGS__);
 #else
 #	define panic(format, ...) \
-		panic_printf("Kernel panic: " format, ##__VA_ARGS__);
+		panic_printf("Kernel panic: " format "\n", ##__VA_ARGS__);
 #endif
 
Index: kernel/generic/src/adt/btree.c
===================================================================
--- kernel/generic/src/adt/btree.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/adt/btree.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -125,5 +125,5 @@
 	if (!lnode) {
 		if (btree_search(t, key, &lnode)) {
-			panic("B-tree %p already contains key %" PRIu64 "\n", t, key);
+			panic("B-tree %p already contains key %" PRIu64 ".", t, key);
 		}
 	}
@@ -225,5 +225,5 @@
 	if (!lnode) {
 		if (!btree_search(t, key, &lnode)) {
-			panic("B-tree %p does not contain key %" PRIu64 "\n", t, key);
+			panic("B-tree %p does not contain key %" PRIu64 ".", t, key);
 		}
 	}
@@ -525,5 +525,5 @@
 		}
 	}
-	panic("node %p does not contain key %" PRIu64 "\n", node, key);
+	panic("Node %p does not contain key %" PRIu64 ".", node, key);
 }
 
@@ -552,5 +552,5 @@
 		}
 	}
-	panic("node %p does not contain key %" PRIu64 "\n", node, key);
+	panic("Node %p does not contain key %" PRIu64 ".", node, key);
 }
 
@@ -694,5 +694,5 @@
 			return i - (int) (right != false);
 	}
-	panic("node %p does not contain subtree %p\n", node, subtree);
+	panic("Node %p does not contain subtree %p.", node, subtree);
 }
 
Index: kernel/generic/src/adt/hash_table.c
===================================================================
--- kernel/generic/src/adt/hash_table.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/adt/hash_table.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -62,5 +62,5 @@
 	h->entry = (link_t *) malloc(m * sizeof(link_t), 0);
 	if (!h->entry) {
-		panic("cannot allocate memory for hash table\n");
+		panic("Cannot allocate memory for hash table.");
 	}
 	memsetb(h->entry, m * sizeof(link_t), 0);
Index: kernel/generic/src/cpu/cpu.c
===================================================================
--- kernel/generic/src/cpu/cpu.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/cpu/cpu.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -65,5 +65,5 @@
 					FRAME_ATOMIC);
 		if (!cpus)
-			panic("malloc/cpus");
+			panic("Cannot allocate CPU structures.");
 
 		/* initialize everything */
Index: kernel/generic/src/interrupt/interrupt.c
===================================================================
--- kernel/generic/src/interrupt/interrupt.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/interrupt/interrupt.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -106,6 +106,6 @@
 static void exc_undef(int n, istate_t *istate)
 {
-	fault_if_from_uspace(istate, "Unhandled exception %d", n);
-	panic("Unhandled exception %d", n);
+	fault_if_from_uspace(istate, "Unhandled exception %d.", n);
+	panic("Unhandled exception %d.", n);
 }
 
Index: kernel/generic/src/main/kinit.c
===================================================================
--- kernel/generic/src/main/kinit.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/main/kinit.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -111,5 +111,5 @@
 			thread_ready(thread);
 		} else
-			panic("Unable to create kmp thread\n");
+			panic("Unable to create kmp thread.");
 		thread_join(thread);
 		thread_detach(thread);
Index: kernel/generic/src/main/main.c
===================================================================
--- kernel/generic/src/main/main.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/main/main.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -270,5 +270,5 @@
 	task_t *kernel = task_create(AS_KERNEL, "kernel");
 	if (!kernel)
-		panic("Can't create kernel task\n");
+		panic("Cannot create kernel task.");
 	
 	/*
@@ -278,5 +278,5 @@
 		= thread_create(kinit, NULL, kernel, 0, "kinit", true);
 	if (!kinit_thread)
-		panic("Can't create kinit thread\n");
+		panic("Cannot create kinit thread.");
 	LOG_EXEC(thread_ready(kinit_thread));
 	
Index: kernel/generic/src/mm/as.c
===================================================================
--- kernel/generic/src/mm/as.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/mm/as.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -147,5 +147,5 @@
 	AS_KERNEL = as_create(FLAG_AS_KERNEL);
 	if (!AS_KERNEL)
-		panic("Cannot create kernel address space\n");
+		panic("Cannot create kernel address space.");
 	
 	/* Make sure the kernel address space
@@ -445,6 +445,6 @@
 					if (!used_space_remove(area, start_free,
 					    c - i))
-						panic("Could not remove used "
-						    "space.\n");
+						panic("Cannot remove used "
+						    "space.");
 				} else {
 					/*
@@ -453,6 +453,6 @@
 					 */
 					if (!used_space_remove(area, b, c))
-						panic("Could not remove used "
-						    "space.\n");
+						panic("Cannot remove used "
+						    "space.");
 				}
 			
@@ -1667,5 +1667,5 @@
 
 	panic("Inconsistency detected while adding %" PRIc " pages of used "
-	    "space at %p.\n", count, page);
+	    "space at %p.", count, page);
 }
 
@@ -1846,5 +1846,5 @@
 error:
 	panic("Inconsistency detected while removing %" PRIc " pages of used "
-	    "space from %p.\n", count, page);
+	    "space from %p.", count, page);
 }
 
Index: kernel/generic/src/mm/backend_anon.c
===================================================================
--- kernel/generic/src/mm/backend_anon.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/mm/backend_anon.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -153,5 +153,5 @@
 	page_mapping_insert(AS, addr, frame, as_area_get_flags(area));
 	if (!used_space_insert(area, ALIGN_DOWN(addr, PAGE_SIZE), 1))
-		panic("Could not insert used space.\n");
+		panic("Cannot insert used space.");
 		
 	return AS_PF_OK;
Index: kernel/generic/src/mm/backend_elf.c
===================================================================
--- kernel/generic/src/mm/backend_elf.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/mm/backend_elf.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -130,5 +130,5 @@
 			    as_area_get_flags(area));
 			if (!used_space_insert(area, page, 1))
-				panic("Could not insert used space.\n");
+				panic("Cannot insert used space.");
 			mutex_unlock(&area->sh_info->lock);
 			return AS_PF_OK;
@@ -215,5 +215,5 @@
 	page_mapping_insert(AS, addr, frame, as_area_get_flags(area));
 	if (!used_space_insert(area, page, 1))
-		panic("Could not insert used space.\n");
+		panic("Cannot insert used space.");
 
 	return AS_PF_OK;
Index: kernel/generic/src/mm/backend_phys.c
===================================================================
--- kernel/generic/src/mm/backend_phys.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/mm/backend_phys.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -78,5 +78,5 @@
 	    as_area_get_flags(area));
         if (!used_space_insert(area, ALIGN_DOWN(addr, PAGE_SIZE), 1))
-                panic("Could not insert used space.\n");
+                panic("Cannot insert used space.");
 
 	return AS_PF_OK;
Index: kernel/generic/src/mm/tlb.c
===================================================================
--- kernel/generic/src/mm/tlb.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/mm/tlb.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -174,5 +174,5 @@
 			break;
 		default:
-			panic("unknown type (%d)\n", type);
+			panic("Unknown type (%d).", type);
 			break;
 		}
Index: kernel/generic/src/proc/scheduler.c
===================================================================
--- kernel/generic/src/proc/scheduler.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/proc/scheduler.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -452,5 +452,5 @@
 			 * Entering state is unexpected.
 			 */
-			panic("tid%" PRIu64 ": unexpected state %s\n",
+			panic("tid%" PRIu64 ": unexpected state %s.",
 			    THREAD->tid, thread_states[THREAD->state]);
 			break;
Index: kernel/generic/src/proc/tasklet.c
===================================================================
--- kernel/generic/src/proc/tasklet.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/proc/tasklet.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -52,5 +52,5 @@
 	tasklet_list = malloc(sizeof(tasklet_descriptor_t *) * config.cpu_count, 0);
 	if (!tasklet_list)
-		panic("Error initializing tasklets");
+		panic("Error initializing tasklets.");
 	
 	for (i = 0; i < config.cpu_count; i++)
Index: kernel/generic/src/synch/rwlock.c
===================================================================
--- kernel/generic/src/synch/rwlock.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/synch/rwlock.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -232,8 +232,8 @@
 			break;
 		case ESYNCH_OK_ATOMIC:
-			panic("_mutex_lock_timeout() == ESYNCH_OK_ATOMIC\n");
+			panic("_mutex_lock_timeout() == ESYNCH_OK_ATOMIC.");
 			break;
 		default:
-			panic("invalid ESYNCH\n");
+			panic("Invalid ESYNCH.");
 			break;
 		}
Index: kernel/generic/src/sysinfo/sysinfo.c
===================================================================
--- kernel/generic/src/sysinfo/sysinfo.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/sysinfo/sysinfo.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -164,5 +164,6 @@
 		}	
 	}
-	panic("Not reached\n");
+
+	panic("Not reached.");
 	return NULL;
 }
Index: kernel/generic/src/time/clock.c
===================================================================
--- kernel/generic/src/time/clock.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/time/clock.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -80,5 +80,5 @@
 	faddr = frame_alloc(ONE_FRAME, FRAME_ATOMIC);
 	if (!faddr)
-		panic("Cannot allocate page for clock");
+		panic("Cannot allocate page for clock.");
 	
 	uptime = (uptime_t *) PA2KA(faddr);
Index: kernel/generic/src/time/timeout.c
===================================================================
--- kernel/generic/src/time/timeout.c	(revision c571f428780356712393ffa289dcab9107a5367f)
+++ kernel/generic/src/time/timeout.c	(revision f651e80e2ba6968d9e184dd8ca7fa6e5b779caaf)
@@ -114,5 +114,5 @@
 
 	if (t->cpu)
-		panic("t->cpu != 0");
+		panic("Unexpected: t->cpu != 0.");
 
 	t->cpu = CPU;
