Changes in uspace/lib/c/generic/ddi.c [bf9cb2f:9359aae] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/ddi.c
rbf9cb2f r9359aae 71 71 * @param flags Flags for the new address space area. 72 72 * @param virt Virtual address of the starting page. 73 * If set to AS_AREA_ANY ((void *) -1), a suitable value 74 * is found by the kernel, otherwise the kernel tries to 75 * obey the desired value. 76 * 77 * @return EOK on success. 78 * @return EPERM if the caller lacks the CAP_MEM_MANAGER capability. 73 * 74 * @return EOK on success 75 * @return EPERM if the caller lacks the CAP_MEM_MANAGER capability 76 * @return ENOENT if there is no task with specified ID 79 77 * @return ENOMEM if there was some problem in creating 80 78 * the address space area. … … 87 85 } 88 86 89 /** Lock a piece physical memory for DMA transfers.90 *91 * The mapping of the specified virtual memory address92 * to physical memory address is locked in order to93 * make it safe for DMA transferts.94 *95 * Caller of this function must have the CAP_MEM_MANAGER capability.96 *97 * @param virt Virtual address of the memory to be locked.98 * @param size Number of bytes to lock.99 * @param map_flags Desired virtual memory area flags.100 * @param flags Flags for the physical memory address.101 * @param phys Locked physical memory address.102 *103 * @return EOK on success.104 * @return EPERM if the caller lacks the CAP_MEM_MANAGER capability.105 * @return ENOMEM if there was some problem in creating106 * the address space area.107 *108 */109 87 int dmamem_map(void *virt, size_t size, unsigned int map_flags, 110 88 unsigned int flags, uintptr_t *phys) … … 115 93 } 116 94 117 /** Map a piece of physical memory suitable for DMA transfers.118 *119 * Caller of this function must have the CAP_MEM_MANAGER capability.120 *121 * @param size Number of bytes to map.122 * @param constraint Bit mask defining the contraint on the physical123 * address to be mapped.124 * @param map_flags Desired virtual memory area flags.125 * @param flags Flags for the physical memory address.126 * @param virt Virtual address of the starting page.127 * If set to AS_AREA_ANY ((void *) -1), a suitable value128 * is found by the kernel, otherwise the kernel tries to129 * obey the desired value.130 *131 * @return EOK on success.132 * @return EPERM if the caller lacks the CAP_MEM_MANAGER capability.133 * @return ENOMEM if there was some problem in creating134 * the address space area.135 *136 */137 95 int dmamem_map_anonymous(size_t size, uintptr_t constraint, 138 96 unsigned int map_flags, unsigned int flags, uintptr_t *phys, void **virt) … … 263 221 size_t pages = SIZE2PAGES(offset + size); 264 222 265 void *virt_page = AS_AREA_ANY;223 void *virt_page; 266 224 int rc = physmem_map(phys_frame, pages, 267 225 AS_AREA_READ | AS_AREA_WRITE, &virt_page);
Note:
See TracChangeset
for help on using the changeset viewer.