|
FreeBSD kernel kern code
|
#include <sys/cdefs.h>#include "opt_zero.h"#include <sys/param.h>#include <sys/systm.h>#include <sys/kernel.h>#include <sys/limits.h>#include <sys/lock.h>#include <sys/mman.h>#include <sys/mutex.h>#include <sys/proc.h>#include <sys/resourcevar.h>#include <sys/sched.h>#include <sys/sysctl.h>#include <sys/vnode.h>#include <vm/vm.h>#include <vm/vm_param.h>#include <vm/vm_extern.h>#include <vm/vm_page.h>#include <vm/vm_map.h>
Go to the source code of this file.
Macros | |
| #define | PHYS_PAGE_COUNT(len) (howmany(len, PAGE_SIZE) + 1) |
Functions | |
| __FBSDID ("$BSDSUniX$") | |
| SYSCTL_INT (_kern, KERN_IOV_MAX, iov_max, CTLFLAG_RD, SYSCTL_NULL_INT_PTR, UIO_MAXIOV,"Maximum number of elements in an I/O vector; sysconf(_SC_IOV_MAX)") | |
| static int | uiomove_faultflag (void *cp, int n, struct uio *uio, int nofault) |
| int | copyin_nofault (const void *udaddr, void *kaddr, size_t len) |
| int | copyout_nofault (const void *kaddr, void *udaddr, size_t len) |
| int | physcopyin (void *src, vm_paddr_t dst, size_t len) |
| int | physcopyout (vm_paddr_t src, void *dst, size_t len) |
| int | uiomove (void *cp, int n, struct uio *uio) |
| int | uiomove_nofault (void *cp, int n, struct uio *uio) |
| int | uiomove_frombuf (void *buf, int buflen, struct uio *uio) |
| int | ureadc (int c, struct uio *uio) |
| int | copyinfrom (const void *__restrict src, void *__restrict dst, size_t len, int seg) |
| int | copyinstrfrom (const void *__restrict src, void *__restrict dst, size_t len, size_t *__restrict copied, int seg) |
| int | copyiniov (struct iovec *iovp, u_int iovcnt, struct iovec **iov, int error) |
| int | copyinuio (struct iovec *iovp, u_int iovcnt, struct uio **uiop) |
| struct uio * | cloneuio (struct uio *uiop) |
| int | copyout_map (struct thread *td, vm_offset_t *addr, size_t sz) |
| int | copyout_unmap (struct thread *td, vm_offset_t addr, size_t sz) |
| #define PHYS_PAGE_COUNT | ( | len | ) | (howmany(len, PAGE_SIZE) + 1) |
Definition at line 155 of file subr_uio.c.
Referenced by physcopyin(), and physcopyout().
| __FBSDID | ( | "$BSDSUniX$" | ) |
| struct uio* cloneuio | ( | struct uio * | uiop | ) |
Definition at line 544 of file subr_uio.c.
References malloc().
Referenced by dofileread(), dofilewrite(), kern_recvit(), kern_sendit(), log_console(), sys_kevent(), sys_sctp_generic_recvmsg(), and vn_io_fault().


| int copyin_nofault | ( | const void * | udaddr, |
| void * | kaddr, | ||
| size_t | len | ||
| ) |
Definition at line 134 of file subr_uio.c.
| int copyinfrom | ( | const void *__restrict | src, |
| void *__restrict | dst, | ||
| size_t | len, | ||
| int | seg | ||
| ) |
Definition at line 452 of file subr_uio.c.
References panic().

| int copyiniov | ( | struct iovec * | iovp, |
| u_int | iovcnt, | ||
| struct iovec ** | iov, | ||
| int | error | ||
| ) |
Definition at line 490 of file subr_uio.c.
References free(), and malloc().
Referenced by sys_recvmsg(), sys_sctp_generic_recvmsg(), sys_sctp_generic_sendmsg_iov(), and sys_sendmsg().


| int copyinstrfrom | ( | const void *__restrict | src, |
| void *__restrict | dst, | ||
| size_t | len, | ||
| size_t *__restrict | copied, | ||
| int | seg | ||
| ) |
Definition at line 471 of file subr_uio.c.
References panic().

| int copyinuio | ( | struct iovec * | iovp, |
| u_int | iovcnt, | ||
| struct uio ** | uiop | ||
| ) |
Definition at line 508 of file subr_uio.c.
References free(), and malloc().
Referenced by do_sendfile(), sys_jail_get(), sys_jail_set(), sys_nmount(), sys_preadv(), sys_pwritev(), sys_readv(), and sys_writev().


| int copyout_map | ( | struct thread * | td, |
| vm_offset_t * | addr, | ||
| size_t | sz | ||
| ) |
Definition at line 562 of file subr_uio.c.
References lim_max().

| int copyout_nofault | ( | const void * | kaddr, |
| void * | udaddr, | ||
| size_t | len | ||
| ) |
Definition at line 145 of file subr_uio.c.
Referenced by sysctl_old_user().

| int copyout_unmap | ( | struct thread * | td, |
| vm_offset_t | addr, | ||
| size_t | sz | ||
| ) |
Definition at line 591 of file subr_uio.c.
| int physcopyin | ( | void * | src, |
| vm_paddr_t | dst, | ||
| size_t | len | ||
| ) |
Definition at line 158 of file subr_uio.c.
References PHYS_PAGE_COUNT.
| int physcopyout | ( | vm_paddr_t | src, |
| void * | dst, | ||
| size_t | len | ||
| ) |
Definition at line 179 of file subr_uio.c.
References PHYS_PAGE_COUNT.
| SYSCTL_INT | ( | _kern | , |
| KERN_IOV_MAX | , | ||
| iov_max | , | ||
| CTLFLAG_RD | , | ||
| SYSCTL_NULL_INT_PTR | , | ||
| UIO_MAXIOV | , | ||
| "Maximum number of elements in an I/O vector; sysconf(_SC_IOV_MAX)" | |||
| ) |
| int uiomove | ( | void * | cp, |
| int | n, | ||
| struct uio * | uio | ||
| ) |
Definition at line 202 of file subr_uio.c.
References uiomove_faultflag().
Referenced by devread(), log_console(), logread(), m_mbuftouio(), m_uiotombuf(), pipe_read(), pipe_write(), ptsdev_write(), sbuf_uionew(), soreceive_dgram(), soreceive_generic(), soreceive_rcvoob(), ttydisc_getc_uio(), ttydisc_write(), ttyinq_read_uio(), ttyoutq_read_uio(), uiomove_frombuf(), vfs_read_dirent(), vn_io_fault(), and vn_io_fault_uiomove().


|
static |
Definition at line 216 of file subr_uio.c.
References maybe_yield().
Referenced by uiomove(), and uiomove_nofault().


| int uiomove_frombuf | ( | void * | buf, |
| int | buflen, | ||
| struct uio * | uio | ||
| ) |
Definition at line 296 of file subr_uio.c.
References uiomove().
Referenced by mqfs_read().


| int uiomove_nofault | ( | void * | cp, |
| int | n, | ||
| struct uio * | uio | ||
| ) |
Definition at line 209 of file subr_uio.c.
References uiomove_faultflag().

| int ureadc | ( | int | c, |
| struct uio * | uio | ||
| ) |
Definition at line 411 of file subr_uio.c.
References panic().
Referenced by ptsdev_read().

