Date: Sun, 10 Jul 2011 20:49:13 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r223914 - head/sys/vm Message-ID: <201107102049.p6AKnDmd061059@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kib Date: Sun Jul 10 20:49:13 2011 New Revision: 223914 URL: http://svn.freebsd.org/changeset/base/223914 Log: Extract the code to translate VM error into errno, into an exported function vm_mmap_to_errno(). It is useful for the drivers that implement mmap(2)-like functionality, to be able to return error codes consistent with mmap(2). Sponsored by: The FreeBSD Foundation No objections from: alc MFC after: 1 week Modified: head/sys/vm/vm_extern.h head/sys/vm/vm_mmap.c Modified: head/sys/vm/vm_extern.h ============================================================================== --- head/sys/vm/vm_extern.h Sun Jul 10 20:45:13 2011 (r223913) +++ head/sys/vm/vm_extern.h Sun Jul 10 20:49:13 2011 (r223914) @@ -72,6 +72,7 @@ int vm_fault_wire(vm_map_t, vm_offset_t, int vm_forkproc(struct thread *, struct proc *, struct thread *, struct vmspace *, int); void vm_waitproc(struct proc *); int vm_mmap(vm_map_t, vm_offset_t *, vm_size_t, vm_prot_t, vm_prot_t, int, objtype_t, void *, vm_ooffset_t); +int vm_mmap_to_errno(int rv); void vm_set_page_size(void); void vm_sync_icache(vm_map_t, vm_offset_t, vm_size_t); struct vmspace *vmspace_alloc(vm_offset_t, vm_offset_t); Modified: head/sys/vm/vm_mmap.c ============================================================================== --- head/sys/vm/vm_mmap.c Sun Jul 10 20:45:13 2011 (r223913) +++ head/sys/vm/vm_mmap.c Sun Jul 10 20:49:13 2011 (r223914) @@ -1535,6 +1535,13 @@ vm_mmap(vm_map_t map, vm_offset_t *addr, vm_map_wire(map, *addr, *addr + size, VM_MAP_WIRE_USER|VM_MAP_WIRE_NOHOLES); + return (vm_mmap_to_errno(rv)); +} + +int +vm_mmap_to_errno(int rv) +{ + switch (rv) { case KERN_SUCCESS: return (0);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107102049.p6AKnDmd061059>