Index: uspace/lib/c/generic/ddi.c
===================================================================
--- uspace/lib/c/generic/ddi.c	(revision 1e94e09a6b3d2c6d59b57494e3909434314e8a36)
+++ uspace/lib/c/generic/ddi.c	(revision 99172baf0d435620d7706ea46a78d4f887c9742d)
@@ -71,8 +71,10 @@
  * @param flags Flags for the new address space area.
  * @param virt  Virtual address of the starting page.
- *
- * @return EOK on success
- * @return EPERM if the caller lacks the CAP_MEM_MANAGER capability
- * @return ENOENT if there is no task with specified ID
+ *              If set to AS_AREA_ANY ((void *) -1), a suitable value
+ *              is found by the kernel, otherwise the kernel tries to
+ *              obey the desired value.
+ *
+ * @return EOK on success.
+ * @return EPERM if the caller lacks the CAP_MEM_MANAGER capability.
  * @return ENOMEM if there was some problem in creating
  *         the address space area.
@@ -85,4 +87,24 @@
 }
 
+/** Lock a piece physical memory for DMA transfers.
+ *
+ * The mapping of the specified virtual memory address
+ * to physical memory address is locked in order to
+ * make it safe for DMA transferts.
+ *
+ * Caller of this function must have the CAP_MEM_MANAGER capability.
+ *
+ * @param virt      Virtual address of the memory to be locked.
+ * @param size      Number of bytes to lock.
+ * @param map_flags Desired virtual memory area flags.
+ * @param flags     Flags for the physical memory address.
+ * @param phys      Locked physical memory address.
+ *
+ * @return EOK on success.
+ * @return EPERM if the caller lacks the CAP_MEM_MANAGER capability.
+ * @return ENOMEM if there was some problem in creating
+ *         the address space area.
+ *
+ */
 int dmamem_map(void *virt, size_t size, unsigned int map_flags,
     unsigned int flags, uintptr_t *phys)
@@ -93,4 +115,24 @@
 }
 
+/** Map a piece of physical memory suitable for DMA transfers.
+ *
+ * Caller of this function must have the CAP_MEM_MANAGER capability.
+ *
+ * @param size       Number of bytes to map.
+ * @param constraint Bit mask defining the contraint on the physical
+ *                   address to be mapped.
+ * @param map_flags  Desired virtual memory area flags.
+ * @param flags      Flags for the physical memory address.
+ * @param virt       Virtual address of the starting page.
+ *                   If set to AS_AREA_ANY ((void *) -1), a suitable value
+ *                   is found by the kernel, otherwise the kernel tries to
+ *                   obey the desired value.
+ *
+ * @return EOK on success.
+ * @return EPERM if the caller lacks the CAP_MEM_MANAGER capability.
+ * @return ENOMEM if there was some problem in creating
+ *         the address space area.
+ *
+ */
 int dmamem_map_anonymous(size_t size, uintptr_t constraint,
     unsigned int map_flags, unsigned int flags, uintptr_t *phys, void **virt)
@@ -221,5 +263,5 @@
 	size_t pages = SIZE2PAGES(offset + size);
 	
-	void *virt_page;
+	void *virt_page = AS_AREA_ANY;
 	int rc = physmem_map(phys_frame, pages,
 	    AS_AREA_READ | AS_AREA_WRITE, &virt_page);
Index: uspace/lib/c/generic/time.c
===================================================================
--- uspace/lib/c/generic/time.c	(revision 1e94e09a6b3d2c6d59b57494e3909434314e8a36)
+++ uspace/lib/c/generic/time.c	(revision 99172baf0d435620d7706ea46a78d4f887c9742d)
@@ -555,5 +555,5 @@
 		}
 		
-		void *addr;
+		void *addr = AS_AREA_ANY;
 		rc = physmem_map(faddr, 1, AS_AREA_READ | AS_AREA_CACHEABLE,
 		    &addr);
