Index: kernel/arch/amd64/src/ddi/ddi.c
===================================================================
--- kernel/arch/amd64/src/ddi/ddi.c	(revision 4236b18ef8b01c2658d23f54ca802874c8232232)
+++ kernel/arch/amd64/src/ddi/ddi.c	(revision f93ba6d5f7e19b94e89a6ccab96897a149761b41)
@@ -45,67 +45,4 @@
 #include <arch.h>
 #include <align.h>
-
-/** Enable I/O space range for task.
- *
- * Interrupts are disabled and task is locked.
- *
- * @param task   Task.
- * @param ioaddr Startign I/O space address.
- * @param size   Size of the enabled I/O range.
- *
- * @return 0 on success or an error code from errno.h.
- *
- */
-int ddi_iospace_enable_arch(task_t *task, uintptr_t ioaddr, size_t size)
-{
-	size_t elements = ioaddr + size;
-	if (elements > IO_PORTS)
-		return ENOENT;
-	
-	if (task->arch.iomap.elements < elements) {
-		/*
-		 * The I/O permission bitmap is too small and needs to be grown.
-		 */
-		
-		void *store = malloc(bitmap_size(elements), FRAME_ATOMIC);
-		if (!store)
-			return ENOMEM;
-		
-		bitmap_t oldiomap;
-		bitmap_initialize(&oldiomap, task->arch.iomap.elements,
-		    task->arch.iomap.bits);
-		
-		bitmap_initialize(&task->arch.iomap, elements, store);
-		
-		/*
-		 * Mark the new range inaccessible.
-		 */
-		bitmap_set_range(&task->arch.iomap, oldiomap.elements,
-		    elements - oldiomap.elements);
-		
-		/*
-		 * In case there really existed smaller iomap,
-		 * copy its contents and deallocate it.
-		 */
-		if (oldiomap.bits) {
-			bitmap_copy(&task->arch.iomap, &oldiomap,
-			    oldiomap.elements);
-			
-			free(oldiomap.bits);
-		}
-	}
-	
-	/*
-	 * Enable the range and we are done.
-	 */
-	bitmap_clear_range(&task->arch.iomap, (size_t) ioaddr, size);
-	
-	/*
-	 * Increment I/O Permission bitmap generation counter.
-	 */
-	task->arch.iomapver++;
-	
-	return 0;
-}
 
 /** Install I/O Permission bitmap.
