Changes in uspace/lib/c/generic/ddi.c [1b20da0:a35b458] in mainline
- File:
-
- 1 edited
-
uspace/lib/c/generic/ddi.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/ddi.c
r1b20da0 ra35b458 142 142 { 143 143 *phys = constraint; 144 144 145 145 return (errno_t) __SYSCALL6(SYS_DMAMEM_MAP, (sysarg_t) size, 146 146 (sysarg_t) map_flags, (sysarg_t) flags | DMAMEM_FLAGS_ANONYMOUS, … … 180 180 .size = size 181 181 }; 182 182 183 183 return (errno_t) __SYSCALL1(SYS_IOSPACE_ENABLE, (sysarg_t) &arg); 184 184 } … … 204 204 .size = size 205 205 }; 206 206 207 207 return (errno_t) __SYSCALL1(SYS_IOSPACE_DISABLE, (sysarg_t) &arg); 208 208 } … … 284 284 if (!virt) 285 285 return EINVAL; 286 286 287 287 uintptr_t phys_frame = 288 288 ALIGN_DOWN((uintptr_t) pio_addr, PAGE_SIZE); 289 289 size_t offset = (uintptr_t) pio_addr - phys_frame; 290 290 size_t pages = SIZE2PAGES(offset + size); 291 291 292 292 void *virt_page = AS_AREA_ANY; 293 293 errno_t rc = physmem_map(phys_frame, pages, … … 295 295 if (rc != EOK) 296 296 return rc; 297 297 298 298 *virt = virt_page + offset; 299 299 return EOK;
Note:
See TracChangeset
for help on using the changeset viewer.
