Index: kernel/arch/sparc64/src/drivers/kbd.c
===================================================================
--- kernel/arch/sparc64/src/drivers/kbd.c	(revision a1b9f63c506357f379bb6f1d9f633d5a740e941c)
+++ kernel/arch/sparc64/src/drivers/kbd.c	(revision ffa73c60dc2eba8ce632c52a0be8bbf4ecd562d9)
@@ -109,15 +109,6 @@
 	}
 
-	/*
-	 * We need to pass aligned address to hw_map().
-	 * However, the physical keyboard address can
-	 * be pretty much unaligned, depending on the
-	 * underlying controller.
-	 */
-	uintptr_t aligned_addr = ALIGN_DOWN(pa, PAGE_SIZE);
-	size_t offset = pa - aligned_addr;
-
-	ioport8_t *ns16550 = (ioport8_t *) (km_map(aligned_addr, offset + size,
-	    KM_NATURAL_ALIGNMENT, PAGE_WRITE | PAGE_NOT_CACHEABLE) + offset);
+	ioport8_t *ns16550 = (ioport8_t *) km_map(pa, size,
+	    KM_NATURAL_ALIGNMENT, PAGE_WRITE | PAGE_NOT_CACHEABLE);
 
 	ns16550_instance_t *ns16550_instance = ns16550_init(ns16550, 0, inr, cir,
