The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/norma/ipc_wire.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* 
    2  * Mach Operating System
    3  * Copyright (c) 1992 Carnegie Mellon University
    4  * All Rights Reserved.
    5  * 
    6  * Permission to use, copy, modify and distribute this software and its
    7  * documentation is hereby granted, provided that both the copyright
    8  * notice and this permission notice appear in all copies of the
    9  * software, derivative works or modified versions, and any portions
   10  * thereof, and that both notices appear in supporting documentation.
   11  * 
   12  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
   13  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
   14  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
   15  * 
   16  * Carnegie Mellon requests users of this software to return to
   17  * 
   18  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
   19  *  School of Computer Science
   20  *  Carnegie Mellon University
   21  *  Pittsburgh PA 15213-3890
   22  * 
   23  * any improvements or extensions that they make and grant Carnegie Mellon
   24  * the rights to redistribute these changes.
   25  */
   26 /*
   27  * HISTORY
   28  * $Log:        ipc_wire.c,v $
   29  * Revision 2.2  92/03/10  16:28:41  jsb
   30  *      Merged in norma branch changes as of NORMA_MK7.
   31  *      [92/03/09  12:50:47  jsb]
   32  * 
   33  * Revision 2.1.2.1  92/01/21  21:53:23  jsb
   34  *      First checkin. Contents moved here from norma/ipc_output.c.
   35  *      [92/01/10  20:51:47  jsb]
   36  * 
   37  */
   38 /*
   39  *      File:   norma/ipc_wire.c
   40  *      Author: Joseph S. Barrera III
   41  *      Date:   1992
   42  *
   43  *      Functions to wire and unwire pages for norma ipc.
   44  */
   45 
   46 #include <mach/kern_return.h>
   47 #include <mach/port.h>
   48 #include <mach/vm_attributes.h>
   49 #include <mach/vm_param.h>
   50 #include <kern/assert.h>
   51 #include <kern/zalloc.h>
   52 #include <vm/vm_fault.h>
   53 #include <vm/vm_map.h>
   54 #include <vm/vm_object.h>
   55 #include <vm/vm_page.h>
   56 #include <ipc/ipc_port.h>
   57 
   58 /*
   59  * For now, we just steal pages.
   60  * In the future, we should remember enough information for
   61  * norma_ipc_thread_return to either pmap_protect appropriate pages
   62  * or block the thread until the pages are released.
   63  *
   64  * I think we don't need a norma_ipc_copyin_page_list_cont; we should be
   65  * able to use vm_map_copyin_page_list_cont.
   66  */
   67 kern_return_t
   68 norma_ipc_copyin_page_list(map, addr, len, src_destroy, copy_result, is_cont)
   69         vm_map_t        map;
   70         vm_offset_t     addr;
   71         vm_size_t       len;
   72         boolean_t       src_destroy;
   73         vm_map_copy_t   *copy_result;   /* OUT */
   74         boolean_t       is_cont;
   75 {
   76         return vm_map_copyin_page_list(map, addr, len, src_destroy, TRUE,
   77                                        copy_result, is_cont);
   78 }
   79 
   80 /*
   81  * Called when a thread wants to return to user space after possibly having
   82  * performed a norma_ipc_copyin_page_list.
   83  *
   84  * Hooks need to be added somewhere around thread_syscall_return and/or
   85  * returns from mach_msg_trap, etc.
   86  *
   87  * For now, this routine can do nothing (and not be called) because
   88  * norma_ipc_copyin_page_list simply steals pages.
   89  */
   90 norma_ipc_thread_return()
   91 {
   92 }

Cache object: b5d1b2442c6986f81a0916bd8e3740ee


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.