Index: kernel/arch/ppc32/src/drivers/pic.c
===================================================================
--- kernel/arch/ppc32/src/drivers/pic.c	(revision d46732962adcfcbf946c2c3f032af0f7fadb285c)
+++ kernel/arch/ppc32/src/drivers/pic.c	(revision 7b3b57171e1a38631bd24e5ecdf71edd3f1926f4)
@@ -42,5 +42,5 @@
 void pic_init(uintptr_t base, size_t size, cir_t *cir, void **cir_arg)
 {
-	pic = (uint32_t *) hw_map(base, size);
+	pic = (uint32_t *) km_map(base, size, PAGE_WRITE | PAGE_NOT_CACHEABLE);
 	*cir = pic_ack_interrupt;
 	*cir_arg = NULL;
Index: kernel/arch/ppc32/src/ppc32.c
===================================================================
--- kernel/arch/ppc32/src/ppc32.c	(revision d46732962adcfcbf946c2c3f032af0f7fadb285c)
+++ kernel/arch/ppc32/src/ppc32.c	(revision 7b3b57171e1a38631bd24e5ecdf71edd3f1926f4)
@@ -209,6 +209,6 @@
 		size_t size = 2 * PAGE_SIZE;
 		
-		cuda_t *cuda = (cuda_t *)
-		    (hw_map(aligned_addr, offset + size) + offset);
+		cuda_t *cuda = (cuda_t *) (km_map(aligned_addr, offset + size,
+		    PAGE_WRITE | PAGE_NOT_CACHEABLE) + offset);
 		
 		/* Initialize I/O controller */
