<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.16"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>UbixOS V2: C:/Dev/git/UbixOS/sys/vmm/vmm_mmap.c File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">UbixOS V2  <span id="projectnumber">2.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.16 --> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ var searchBox = new SearchBox("searchBox", "search",false,'Search'); /* @license-end */ </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); /* @license-end */</script> <div id="main-nav"></div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('vmm__mmap_8c.html','');}); /* @license-end */ </script> <div id="doc-content"> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="summary"> <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">vmm_mmap.c File Reference</div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><code>#include <<a class="el" href="vmm_8h_source.html">vmm/vmm.h</a>></code><br /> <code>#include <<a class="el" href="include_2sys_2types_8h_source.html">sys/types.h</a>></code><br /> <code>#include <<a class="el" href="kprintf_8h_source.html">lib/kprintf.h</a>></code><br /> <code>#include <<a class="el" href="descrip_8h_source.html">sys/descrip.h</a>></code><br /> <code>#include <<a class="el" href="kpanic_8h_source.html">ubixos/kpanic.h</a>></code><br /> <code>#include <<a class="el" href="spinlock_8h_source.html">ubixos/spinlock.h</a>></code><br /> <code>#include <<a class="el" href="sched_8h_source.html">ubixos/sched.h</a>></code><br /> </div><div class="textblock"><div class="dynheader"> Include dependency graph for vmm_mmap.c:</div> <div class="dyncontent"> <div class="center"><img src="vmm__mmap_8c__incl.png" border="0" usemap="#C_1_2Dev_2git_2UbixOS_2sys_2vmm_2vmm__mmap_8c" alt=""/></div> </div> </div> <p><a href="vmm__mmap_8c_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a2d1678d5a7cc8ce499643f3b8957def4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a2d1678d5a7cc8ce499643f3b8957def4">EINVAL</a>   22 /* Invalid argument */</td></tr> <tr class="separator:a2d1678d5a7cc8ce499643f3b8957def4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa409085f7521a7123554f94fec464cae"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#aa409085f7521a7123554f94fec464cae">MAP_ALIGNED</a>(n)   ((n) << <a class="el" href="vmm__mmap_8c.html#ab3c3a0c844aac4c2a776144af72fc962">MAP_ALIGNMENT_SHIFT</a>)</td></tr> <tr class="separator:aa409085f7521a7123554f94fec464cae"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a62e85b60c36d9e7cfe94f571571a2fd9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a62e85b60c36d9e7cfe94f571571a2fd9">MAP_ALIGNED_SUPER</a>   <a class="el" href="vmm__mmap_8c.html#aa409085f7521a7123554f94fec464cae">MAP_ALIGNED</a>(1) /* align on a superpage */</td></tr> <tr class="separator:a62e85b60c36d9e7cfe94f571571a2fd9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac167c2691db71eec92db78befc180561"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#ac167c2691db71eec92db78befc180561">MAP_ALIGNMENT_MASK</a>   <a class="el" href="vmm__mmap_8c.html#aa409085f7521a7123554f94fec464cae">MAP_ALIGNED</a>(0xff)</td></tr> <tr class="separator:ac167c2691db71eec92db78befc180561"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab3c3a0c844aac4c2a776144af72fc962"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#ab3c3a0c844aac4c2a776144af72fc962">MAP_ALIGNMENT_SHIFT</a>   24</td></tr> <tr class="separator:ab3c3a0c844aac4c2a776144af72fc962"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a298ddbffafbe6cf941b92092edfb86a5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a298ddbffafbe6cf941b92092edfb86a5">MAP_ANON</a>   0x1000 /* allocated from memory, swap space */</td></tr> <tr class="separator:a298ddbffafbe6cf941b92092edfb86a5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a238feed3512d8b21b3854d082dcae6f4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a238feed3512d8b21b3854d082dcae6f4">MAP_FILE</a>   0x0000 /* map from <a class="el" href="structfile.html">file</a> (default) */</td></tr> <tr class="separator:a238feed3512d8b21b3854d082dcae6f4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a387ec707b30c5e78cf20a14517a63b96"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a387ec707b30c5e78cf20a14517a63b96">MAP_FIXED</a>   0x0010 /* map addr must be exactly as requested */</td></tr> <tr class="separator:a387ec707b30c5e78cf20a14517a63b96"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8b783766f5ca8ebdcb7650dc3f013232"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a8b783766f5ca8ebdcb7650dc3f013232">MAP_HASSEMAPHORE</a>   0x0200 /* region may contain semaphores */</td></tr> <tr class="separator:a8b783766f5ca8ebdcb7650dc3f013232"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad1c6c22db4e0baa46eea82f3170c1e79"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#ad1c6c22db4e0baa46eea82f3170c1e79">MAP_NORESERVE</a>   0x0040 /* Sun: don't reserve needed swap area */</td></tr> <tr class="separator:ad1c6c22db4e0baa46eea82f3170c1e79"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ada41ea14bbfdc7529727db00153e7da5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#ada41ea14bbfdc7529727db00153e7da5">MAP_NOSYNC</a>   0x0800 /* page to but do not sync underlying <a class="el" href="structfile.html">file</a> */</td></tr> <tr class="separator:ada41ea14bbfdc7529727db00153e7da5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a398ef47a991a44389aa9818c98a28d24"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a398ef47a991a44389aa9818c98a28d24">MAP_PRIVATE</a>   0x0002 /* changes are private */</td></tr> <tr class="separator:a398ef47a991a44389aa9818c98a28d24"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab1561170ccb2de44dea6a3636474b259"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#ab1561170ccb2de44dea6a3636474b259">MAP_RENAME</a>   0x0020 /* Sun: rename private pages to <a class="el" href="structfile.html">file</a> */</td></tr> <tr class="separator:ab1561170ccb2de44dea6a3636474b259"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a944446c3a2efd9c21c915b49815d132c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a944446c3a2efd9c21c915b49815d132c">MAP_RESERVED0080</a>   0x0080 /* previously misimplemented MAP_INHERIT */</td></tr> <tr class="separator:a944446c3a2efd9c21c915b49815d132c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a20fd5035505aefc7df7d95e1c08bedfe"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a20fd5035505aefc7df7d95e1c08bedfe">MAP_RESERVED0100</a>   0x0100 /* previously unimplemented MAP_NOEXTEND */</td></tr> <tr class="separator:a20fd5035505aefc7df7d95e1c08bedfe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a57028962c2a7c0c802ca6613492f2ef3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a57028962c2a7c0c802ca6613492f2ef3">MAP_SHARED</a>   0x0001 /* share changes */</td></tr> <tr class="separator:a57028962c2a7c0c802ca6613492f2ef3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a06c706c6cc07f13a3d0e1252e923ec69"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a06c706c6cc07f13a3d0e1252e923ec69">MAP_STACK</a>   0x0400 /* region grows down, like a stack */</td></tr> <tr class="separator:a06c706c6cc07f13a3d0e1252e923ec69"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac3e045b1eb12fc6a000555fda916a023"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#ac3e045b1eb12fc6a000555fda916a023">NBBY</a>   8 /* number of bits in a byte */</td></tr> <tr class="separator:ac3e045b1eb12fc6a000555fda916a023"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a77848f068638e916c72cd543f5ecb815"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a77848f068638e916c72cd543f5ecb815">PROT_EXEC</a>   0x04 /* pages can be executed */</td></tr> <tr class="separator:a77848f068638e916c72cd543f5ecb815"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6a982b48b8d3eb8eccd17e0d54ee5379"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a6a982b48b8d3eb8eccd17e0d54ee5379">PROT_NONE</a>   0x00 /* no permissions */</td></tr> <tr class="separator:a6a982b48b8d3eb8eccd17e0d54ee5379"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a15bf68ce8b590838b3a5c0b639d8d519"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a15bf68ce8b590838b3a5c0b639d8d519">PROT_READ</a>   0x01 /* pages can be <a class="el" href="gen__calls_8c.html#a5eff3a25d417fafce7c4f211db219ca2">read</a> */</td></tr> <tr class="separator:a15bf68ce8b590838b3a5c0b639d8d519"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2a79c8ceefb8fc25a940ae07a3d94429"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a2a79c8ceefb8fc25a940ae07a3d94429">PROT_WRITE</a>   0x02 /* pages can be written */</td></tr> <tr class="separator:a2a79c8ceefb8fc25a940ae07a3d94429"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:aa7e5e65d64b34dac1a9567aef42e58b2"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="__types_8h.html#acaa96aed3d7fddac490800f166c2af02">__uint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#aa7e5e65d64b34dac1a9567aef42e58b2">__vm_size_t</a></td></tr> <tr class="separator:aa7e5e65d64b34dac1a9567aef42e58b2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3714bf69eda1989e3cf077bc1f029919"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="vmm__mmap_8c.html#aa7e5e65d64b34dac1a9567aef42e58b2">__vm_size_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a3714bf69eda1989e3cf077bc1f029919">vm_size_t</a></td></tr> <tr class="separator:a3714bf69eda1989e3cf077bc1f029919"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ac6b3ef6da47d002e7ff528f9a8e75012"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#ac6b3ef6da47d002e7ff528f9a8e75012">freebsd6_mmap</a> (struct <a class="el" href="structthread.html">thread</a> *td, struct <a class="el" href="structfreebsd6__mmap__args.html">freebsd6_mmap_args</a> *uap)</td></tr> <tr class="separator:ac6b3ef6da47d002e7ff528f9a8e75012"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a34f95e2ffa8a4bb4ca88918a3a3af580"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a34f95e2ffa8a4bb4ca88918a3a3af580">sys_mmap</a> (struct <a class="el" href="structthread.html">thread</a> *td, struct <a class="el" href="structsys__mmap__args.html">sys_mmap_args</a> *uap)</td></tr> <tr class="separator:a34f95e2ffa8a4bb4ca88918a3a3af580"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a985dc19746123edc27f59c56678f81ad"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="vmm__mmap_8c.html#a985dc19746123edc27f59c56678f81ad">sys_munmap</a> (struct <a class="el" href="structthread.html">thread</a> *td, struct <a class="el" href="structsys__munmap__args.html">sys_munmap_args</a> *uap)</td></tr> <tr class="separator:a985dc19746123edc27f59c56678f81ad"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Macro Definition Documentation</h2> <a id="a2d1678d5a7cc8ce499643f3b8957def4"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2d1678d5a7cc8ce499643f3b8957def4">◆ </a></span>EINVAL</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EINVAL   22 /* Invalid argument */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00040">40</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="aa409085f7521a7123554f94fec464cae"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa409085f7521a7123554f94fec464cae">◆ </a></span>MAP_ALIGNED</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_ALIGNED</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">n</td><td>)</td> <td>   ((n) << <a class="el" href="vmm__mmap_8c.html#ab3c3a0c844aac4c2a776144af72fc962">MAP_ALIGNMENT_SHIFT</a>)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00041">41</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a62e85b60c36d9e7cfe94f571571a2fd9"></a> <h2 class="memtitle"><span class="permalink"><a href="#a62e85b60c36d9e7cfe94f571571a2fd9">◆ </a></span>MAP_ALIGNED_SUPER</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_ALIGNED_SUPER   <a class="el" href="vmm__mmap_8c.html#aa409085f7521a7123554f94fec464cae">MAP_ALIGNED</a>(1) /* align on a superpage */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00044">44</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="ac167c2691db71eec92db78befc180561"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac167c2691db71eec92db78befc180561">◆ </a></span>MAP_ALIGNMENT_MASK</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_ALIGNMENT_MASK   <a class="el" href="vmm__mmap_8c.html#aa409085f7521a7123554f94fec464cae">MAP_ALIGNED</a>(0xff)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00043">43</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="ab3c3a0c844aac4c2a776144af72fc962"></a> <h2 class="memtitle"><span class="permalink"><a href="#ab3c3a0c844aac4c2a776144af72fc962">◆ </a></span>MAP_ALIGNMENT_SHIFT</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_ALIGNMENT_SHIFT   24</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00042">42</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a298ddbffafbe6cf941b92092edfb86a5"></a> <h2 class="memtitle"><span class="permalink"><a href="#a298ddbffafbe6cf941b92092edfb86a5">◆ </a></span>MAP_ANON</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_ANON   0x1000 /* allocated from memory, swap space */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00073">73</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a238feed3512d8b21b3854d082dcae6f4"></a> <h2 class="memtitle"><span class="permalink"><a href="#a238feed3512d8b21b3854d082dcae6f4">◆ </a></span>MAP_FILE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_FILE   0x0000 /* map from <a class="el" href="structfile.html">file</a> (default) */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00072">72</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a387ec707b30c5e78cf20a14517a63b96"></a> <h2 class="memtitle"><span class="permalink"><a href="#a387ec707b30c5e78cf20a14517a63b96">◆ </a></span>MAP_FIXED</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_FIXED   0x0010 /* map addr must be exactly as requested */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00060">60</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a8b783766f5ca8ebdcb7650dc3f013232"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8b783766f5ca8ebdcb7650dc3f013232">◆ </a></span>MAP_HASSEMAPHORE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_HASSEMAPHORE   0x0200 /* region may contain semaphores */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00065">65</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="ad1c6c22db4e0baa46eea82f3170c1e79"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad1c6c22db4e0baa46eea82f3170c1e79">◆ </a></span>MAP_NORESERVE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_NORESERVE   0x0040 /* Sun: don't reserve needed swap area */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00062">62</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="ada41ea14bbfdc7529727db00153e7da5"></a> <h2 class="memtitle"><span class="permalink"><a href="#ada41ea14bbfdc7529727db00153e7da5">◆ </a></span>MAP_NOSYNC</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_NOSYNC   0x0800 /* page to but do not sync underlying <a class="el" href="structfile.html">file</a> */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00067">67</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a398ef47a991a44389aa9818c98a28d24"></a> <h2 class="memtitle"><span class="permalink"><a href="#a398ef47a991a44389aa9818c98a28d24">◆ </a></span>MAP_PRIVATE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_PRIVATE   0x0002 /* changes are private */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00059">59</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="ab1561170ccb2de44dea6a3636474b259"></a> <h2 class="memtitle"><span class="permalink"><a href="#ab1561170ccb2de44dea6a3636474b259">◆ </a></span>MAP_RENAME</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_RENAME   0x0020 /* Sun: rename private pages to <a class="el" href="structfile.html">file</a> */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00061">61</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a944446c3a2efd9c21c915b49815d132c"></a> <h2 class="memtitle"><span class="permalink"><a href="#a944446c3a2efd9c21c915b49815d132c">◆ </a></span>MAP_RESERVED0080</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_RESERVED0080   0x0080 /* previously misimplemented MAP_INHERIT */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00063">63</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a20fd5035505aefc7df7d95e1c08bedfe"></a> <h2 class="memtitle"><span class="permalink"><a href="#a20fd5035505aefc7df7d95e1c08bedfe">◆ </a></span>MAP_RESERVED0100</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_RESERVED0100   0x0100 /* previously unimplemented MAP_NOEXTEND */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00064">64</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a57028962c2a7c0c802ca6613492f2ef3"></a> <h2 class="memtitle"><span class="permalink"><a href="#a57028962c2a7c0c802ca6613492f2ef3">◆ </a></span>MAP_SHARED</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_SHARED   0x0001 /* share changes */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00058">58</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a06c706c6cc07f13a3d0e1252e923ec69"></a> <h2 class="memtitle"><span class="permalink"><a href="#a06c706c6cc07f13a3d0e1252e923ec69">◆ </a></span>MAP_STACK</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAP_STACK   0x0400 /* region grows down, like a stack */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00066">66</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="ac3e045b1eb12fc6a000555fda916a023"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac3e045b1eb12fc6a000555fda916a023">◆ </a></span>NBBY</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define NBBY   8 /* number of bits in a byte */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00045">45</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a77848f068638e916c72cd543f5ecb815"></a> <h2 class="memtitle"><span class="permalink"><a href="#a77848f068638e916c72cd543f5ecb815">◆ </a></span>PROT_EXEC</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PROT_EXEC   0x04 /* pages can be executed */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00051">51</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a6a982b48b8d3eb8eccd17e0d54ee5379"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6a982b48b8d3eb8eccd17e0d54ee5379">◆ </a></span>PROT_NONE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PROT_NONE   0x00 /* no permissions */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00048">48</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a15bf68ce8b590838b3a5c0b639d8d519"></a> <h2 class="memtitle"><span class="permalink"><a href="#a15bf68ce8b590838b3a5c0b639d8d519">◆ </a></span>PROT_READ</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PROT_READ   0x01 /* pages can be <a class="el" href="gen__calls_8c.html#a5eff3a25d417fafce7c4f211db219ca2">read</a> */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00049">49</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a2a79c8ceefb8fc25a940ae07a3d94429"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2a79c8ceefb8fc25a940ae07a3d94429">◆ </a></span>PROT_WRITE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PROT_WRITE   0x02 /* pages can be written */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00050">50</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <h2 class="groupheader">Typedef Documentation</h2> <a id="aa7e5e65d64b34dac1a9567aef42e58b2"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa7e5e65d64b34dac1a9567aef42e58b2">◆ </a></span>__vm_size_t</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="__types_8h.html#acaa96aed3d7fddac490800f166c2af02">__uint32_t</a> <a class="el" href="vmm__mmap_8c.html#aa7e5e65d64b34dac1a9567aef42e58b2">__vm_size_t</a></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00038">38</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <a id="a3714bf69eda1989e3cf077bc1f029919"></a> <h2 class="memtitle"><span class="permalink"><a href="#a3714bf69eda1989e3cf077bc1f029919">◆ </a></span>vm_size_t</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="vmm__mmap_8c.html#aa7e5e65d64b34dac1a9567aef42e58b2">__vm_size_t</a> <a class="el" href="vmm__mmap_8c.html#a3714bf69eda1989e3cf077bc1f029919">vm_size_t</a></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00039">39</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="ac6b3ef6da47d002e7ff528f9a8e75012"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac6b3ef6da47d002e7ff528f9a8e75012">◆ </a></span>freebsd6_mmap()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int freebsd6_mmap </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structthread.html">thread</a> * </td> <td class="paramname"><em>td</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structfreebsd6__mmap__args.html">freebsd6_mmap_args</a> * </td> <td class="paramname"><em>uap</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00075">75</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> <p class="reference">References <a class="el" href="armv6_2sched_8c_source.html#l00050">_current</a>, <a class="el" href="vmm_8h_source.html#l00075">freebsd6_mmap_args::addr</a>, <a class="el" href="vmm__mmap_8c_source.html#l00040">EINVAL</a>, <a class="el" href="vmm_8h_source.html#l00090">freebsd6_mmap_args::fd</a>, <a class="el" href="vmm_8h_source.html#l00087">freebsd6_mmap_args::flags</a>, <a class="el" href="sched_8h_source.html#l00063">taskStruct::id</a>, <a class="el" href="kpanic_8h_source.html#l00032">K_PANIC</a>, <a class="el" href="kprintf_8c_source.html#l00259">kprintf()</a>, <a class="el" href="vmm_8h_source.html#l00079">freebsd6_mmap_args::len</a>, <a class="el" href="vmm__mmap_8c_source.html#l00044">MAP_ALIGNED_SUPER</a>, <a class="el" href="vmm__mmap_8c_source.html#l00043">MAP_ALIGNMENT_MASK</a>, <a class="el" href="vmm__mmap_8c_source.html#l00042">MAP_ALIGNMENT_SHIFT</a>, <a class="el" href="vmm__mmap_8c_source.html#l00073">MAP_ANON</a>, <a class="el" href="vmm__mmap_8c_source.html#l00060">MAP_FIXED</a>, <a class="el" href="vmm__mmap_8c_source.html#l00045">NBBY</a>, <a class="el" href="vmm_8h_source.html#l00094">freebsd6_mmap_args::pad</a>, <a class="el" href="paging_8h_source.html#l00068">PAGE_DEFAULT</a>, <a class="el" href="paging_8h_source.html#l00038">PAGE_MASK</a>, <a class="el" href="paging_8h_source.html#l00036">PAGE_SHIFT</a>, <a class="el" href="vmm_8h_source.html#l00098">freebsd6_mmap_args::pos</a>, <a class="el" href="vmm_8h_source.html#l00083">freebsd6_mmap_args::prot</a>, <a class="el" href="paging_8h_source.html#l00072">round_page</a>, <a class="el" href="vmm__memory_8c_source.html#l00221">vmm_findFreePage()</a>, and <a class="el" href="paging_8c_source.html#l00199">vmm_remapPage()</a>.</p> <div class="dynheader"> Here is the call graph for this function:</div> <div class="dyncontent"> <div class="center"><img src="vmm__mmap_8c_ac6b3ef6da47d002e7ff528f9a8e75012_cgraph.png" border="0" usemap="#vmm__mmap_8c_ac6b3ef6da47d002e7ff528f9a8e75012_cgraph" alt=""/></div> </div> </div> </div> <a id="a34f95e2ffa8a4bb4ca88918a3a3af580"></a> <h2 class="memtitle"><span class="permalink"><a href="#a34f95e2ffa8a4bb4ca88918a3a3af580">◆ </a></span>sys_mmap()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int sys_mmap </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structthread.html">thread</a> * </td> <td class="paramname"><em>td</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structsys__mmap__args.html">sys_mmap_args</a> * </td> <td class="paramname"><em>uap</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00162">162</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> <p class="reference">References <a class="el" href="armv6_2sched_8c_source.html#l00050">_current</a>, <a class="el" href="sysproto__posix_8h_source.html#l00380">sys_mmap_args::addr</a>, <a class="el" href="gpt_8h_source.html#l00037">bzero</a>, <a class="el" href="descrip_8h_source.html#l00071">file::fd</a>, <a class="el" href="sysproto__posix_8h_source.html#l00392">sys_mmap_args::fd</a>, <a class="el" href="file_8c_source.html#l00291">fread()</a>, <a class="el" href="file_8c_source.html#l00326">fseek()</a>, <a class="el" href="descrip_8c_source.html#l00214">getfd()</a>, <a class="el" href="sched_8h_source.html#l00063">taskStruct::id</a>, <a class="el" href="kpanic_8h_source.html#l00032">K_PANIC</a>, <a class="el" href="armv6_2kpanic_8c_source.html#l00041">kpanic()</a>, <a class="el" href="sysproto__posix_8h_source.html#l00383">sys_mmap_args::len</a>, <a class="el" href="paging_8h_source.html#l00068">PAGE_DEFAULT</a>, <a class="el" href="sysproto__posix_8h_source.html#l00395">sys_mmap_args::pos</a>, <a class="el" href="paging_8h_source.html#l00072">round_page</a>, <a class="el" href="thread_8h_source.html#l00041">thread::td_retval</a>, <a class="el" href="paging_8h_source.html#l00052">VM_TASK</a>, <a class="el" href="vmm__memory_8c_source.html#l00221">vmm_findFreePage()</a>, <a class="el" href="vmm_8h_source.html#l00111">VMM_FREE</a>, <a class="el" href="getfreevirtualpage_8c_source.html#l00047">vmm_getFreeVirtualPage()</a>, <a class="el" href="paging_8c_source.html#l00199">vmm_remapPage()</a>, and <a class="el" href="unmappage_8c_source.html#l00047">vmm_unmapPage()</a>.</p> <div class="dynheader"> Here is the call graph for this function:</div> <div class="dyncontent"> <div class="center"><img src="vmm__mmap_8c_a34f95e2ffa8a4bb4ca88918a3a3af580_cgraph.png" border="0" usemap="#vmm__mmap_8c_a34f95e2ffa8a4bb4ca88918a3a3af580_cgraph" alt=""/></div> </div> </div> </div> <a id="a985dc19746123edc27f59c56678f81ad"></a> <h2 class="memtitle"><span class="permalink"><a href="#a985dc19746123edc27f59c56678f81ad">◆ </a></span>sys_munmap()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int sys_munmap </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structthread.html">thread</a> * </td> <td class="paramname"><em>td</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structsys__munmap__args.html">sys_munmap_args</a> * </td> <td class="paramname"><em>uap</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="vmm__mmap_8c_source.html#l00155">155</a> of file <a class="el" href="vmm__mmap_8c_source.html">vmm_mmap.c</a>.</p> <p class="reference">References <a class="el" href="thread_8h_source.html#l00041">thread::td_retval</a>.</p> </div> </div> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_e6bb53534ac0e427887cf7a94c0c004e.html">C:</a></li><li class="navelem"><a class="el" href="dir_d99d5d4662bf24521eef49da6a8cd34d.html">Dev</a></li><li class="navelem"><a class="el" href="dir_474a4b306371cf7e7f6fa12cb0b77df6.html">git</a></li><li class="navelem"><a class="el" href="dir_849109bbd106d461b128d63e5babcedf.html">UbixOS</a></li><li class="navelem"><a class="el" href="dir_6ec99f6d7d5182ba8913209ab70c9f18.html">sys</a></li><li class="navelem"><a class="el" href="dir_dea324bae4b043b9618e3719c31c0c41.html">vmm</a></li><li class="navelem"><a class="el" href="vmm__mmap_8c.html">vmm_mmap.c</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li> </ul> </div> </body> </html>