Skip site navigation (1)Skip section navigation (2)
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>