Lines Matching refs:uio
97 int mmread(dev_t dev, struct uio *uio);
98 int mmwrite(dev_t dev, struct uio *uio);
100 int mmrw(dev_t dev, struct uio *uio, enum uio_rw rw);
103 mmread(dev_t dev, struct uio *uio)
106 return (mmrw(dev, uio, UIO_READ));
110 mmwrite(dev_t dev, struct uio *uio)
113 return (mmrw(dev, uio, UIO_WRITE));
145 mmrw(dev_t dev, struct uio *uio, enum uio_rw rw)
154 while (uio_resid(uio) > 0 && error == 0) {
155 uio_update(uio, 0);
168 v = trunc_page(uio->uio_offset);
169 if (uio->uio_offset >= (off_t)mem_size)
177 o = uio->uio_offset - v;
178 c = min(PAGE_SIZE - o, uio_curriovlen(uio));
179 error = uiomove((caddr_t) (where + o), c, uio);
192 if (((vm_address_t)uio->uio_offset >= VM_MAX_KERNEL_ADDRESS) ||
193 ((vm_address_t)uio->uio_offset <= VM_MIN_KERNEL_AND_KEXT_ADDRESS))
195 c = uio_curriovlen(uio);
196 if (!kernacc(uio->uio_offset, c))
198 error = uiomove((caddr_t)(uintptr_t)uio->uio_offset,
199 (int)c, uio);
206 c = uio_curriovlen(uio);
213 if(uio->uio_rw == UIO_WRITE) {
214 c = uio_curriovlen(uio);
217 c = min(uio_curriovlen(uio), PAGE_SIZE);
218 error = uiomove(devzerobuf, (int)c, uio);
227 uio_update(uio, c);