Newer
Older
UbixOS / doc / html / df / dc9 / exec_8c.html
<!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: arch/armv6/exec.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&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</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
   &#160;<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" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('../../',false,false,'search.php','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&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('df/dc9/exec_8c.html','../../');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">exec.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="../../df/d37/exec_8h_source.html">ubixos/exec.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="../../d4/de4/sys_2elf_8h_source.html">sys/elf.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="../../d9/d37/ld_8h_source.html">ubixos/ld.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="../../d3/d24/kpanic_8h_source.html">ubixos/kpanic.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="../../dc/d0c/endtask_8h_source.html">ubixos/endtask.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="../../d1/d21/vmm_8h_source.html">vmm/vmm.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="../../d4/d03/kmalloc_8h_source.html">lib/kmalloc.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="../../da/d28/kprintf_8h_source.html">lib/kprintf.h</a>&gt;</code><br />
<code>#include &lt;lib/string.h&gt;</code><br />
<code>#include &lt;<a class="el" href="../../dc/da7/assert_8h_source.html">assert.h</a>&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for exec.c:</div>
<div class="dyncontent">
<div class="center"><img src="../../d3/dd9/exec_8c__incl.png" border="0" usemap="#arch_2armv6_2exec_8c" alt=""/></div>
<map name="arch_2armv6_2exec_8c" id="arch_2armv6_2exec_8c">
<area shape="rect" title=" " alt="" coords="1663,5,1791,32"/>
<area shape="rect" href="../../df/d37/exec_8h.html" title=" " alt="" coords="815,155,918,181"/>
<area shape="rect" href="../../d4/de4/sys_2elf_8h.html" title=" " alt="" coords="261,80,331,107"/>
<area shape="rect" href="../../d9/d37/ld_8h.html" title=" " alt="" coords="475,229,560,256"/>
<area shape="rect" href="../../d3/d24/kpanic_8h.html" title=" " alt="" coords="1534,80,1647,107"/>
<area shape="rect" href="../../dc/d0c/endtask_8h.html" title=" " alt="" coords="670,155,791,181"/>
<area shape="rect" href="../../d1/d21/vmm_8h.html" title=" " alt="" coords="1723,80,1813,107"/>
<area shape="rect" href="../../d4/d03/kmalloc_8h.html" title=" " alt="" coords="1877,304,1971,331"/>
<area shape="rect" href="../../da/d28/kprintf_8h.html" title=" " alt="" coords="1915,80,2000,107"/>
<area shape="rect" title=" " alt="" coords="2024,80,2107,107"/>
<area shape="rect" href="../../dc/da7/assert_8h.html" title=" " alt="" coords="2131,80,2200,107"/>
<area shape="rect" href="../../d0/d27/include_2sys_2types_8h.html" title=" " alt="" coords="892,603,983,629"/>
<area shape="rect" href="../../d7/d00/sched_8h.html" title=" " alt="" coords="686,229,797,256"/>
<area shape="rect" href="../../d0/d6f/__types_8h.html" title=" " alt="" coords="1029,827,1126,853"/>
<area shape="rect" href="../../d9/dab/select_8h.html" title=" " alt="" coords="1071,677,1164,704"/>
<area shape="rect" href="../../d6/d92/cdefs_8h.html" title=" " alt="" coords="1267,752,1357,779"/>
<area shape="rect" href="../../d6/d30/__timespec_8h.html" title=" " alt="" coords="819,752,938,779"/>
<area shape="rect" href="../../df/dc5/__timeval_8h.html" title=" " alt="" coords="962,752,1067,779"/>
<area shape="rect" href="../../d6/da4/__sigset_8h.html" title=" " alt="" coords="1091,752,1191,779"/>
<area shape="rect" href="../../d6/db4/include_2vfs_2file_8h.html" title=" " alt="" coords="951,304,1019,331"/>
<area shape="rect" href="../../db/dd5/thread_8h.html" title=" " alt="" coords="1525,379,1619,405"/>
<area shape="rect" href="../../dd/d71/tty_8h.html" title=" " alt="" coords="627,304,717,331"/>
<area shape="rect" href="../../de/d9a/tss_8h.html" title=" " alt="" coords="742,304,818,331"/>
<area shape="rect" href="../../d1/de9/dirCache_8h.html" title=" " alt="" coords="829,528,952,555"/>
<area shape="rect" href="../../d3/d73/inode_8h.html" title=" " alt="" coords="1100,379,1183,405"/>
<area shape="rect" href="../../df/d42/ufs_8h.html" title=" " alt="" coords="986,453,1057,480"/>
<area shape="rect" href="../../d2/d29/mount_8h.html" title=" " alt="" coords="779,379,867,405"/>
<area shape="rect" href="../../d7/d0b/trap_8h.html" title=" " alt="" coords="1545,453,1625,480"/>
<area shape="rect" href="../../df/d92/sys_2signal_8h.html" title=" " alt="" coords="1650,453,1742,480"/>
<area shape="rect" href="../../d8/d01/resource_8h.html" title=" " alt="" coords="1803,677,1911,704"/>
<area shape="rect" href="../../d6/d35/i386_2cpu_8h.html" title=" " alt="" coords="1545,528,1628,555"/>
<area shape="rect" href="../../d1/df2/wait_8h.html" title=" " alt="" coords="1132,453,1231,480"/>
<area shape="rect" href="../../d1/d7d/pipe__fs_8h.html" title=" " alt="" coords="1255,453,1343,480"/>
<area shape="rect" href="../../d8/dff/msdos__fs_8h.html" title=" " alt="" coords="1367,453,1470,480"/>
<area shape="rect" href="../../d4/d7e/include_2sys_2device_8h.html" title=" " alt="" coords="1027,528,1122,555"/>
<area shape="rect" href="../../d0/d39/i386_2elf_8h.html" title=" " alt="" coords="115,155,189,181"/>
<area shape="rect" href="../../d2/d5c/elf32_8h.html" title=" " alt="" coords="213,155,299,181"/>
<area shape="rect" href="../../dc/d26/elf64_8h.html" title=" " alt="" coords="5,155,91,181"/>
<area shape="rect" href="../../dd/d1b/ubthread_8h.html" title=" " alt="" coords="375,155,500,181"/>
<area shape="rect" href="../../dd/d58/elf__common_8h.html" title=" " alt="" coords="77,229,205,256"/>
<area shape="rect" href="../../de/df7/time_8h.html" title=" " alt="" coords="223,528,323,555"/>
<area shape="rect" href="../../dc/dac/io_8h.html" title=" " alt="" coords="239,603,307,629"/>
<area shape="rect" href="../../d4/df4/paging_8h.html" title=" " alt="" coords="1654,155,1757,181"/>
<area shape="rect" href="../../d3/d7e/sysproto__posix_8h.html" title=" " alt="" coords="1596,229,1743,256"/>
<area shape="rect" href="../../d1/d2d/stdarg_8h.html" title=" " alt="" coords="1919,155,1988,181"/>
</map>
</div>
</div>
<p><a href="../../df/dc9/exec_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:a9b8e51a44a47d7ea827c570ffdca14e5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#a9b8e51a44a47d7ea827c570ffdca14e5">AT_BASE</a>&#160;&#160;&#160;7       /* Interpreter's base address. */</td></tr>
<tr class="separator:a9b8e51a44a47d7ea827c570ffdca14e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80f2ea99241a6afdc4718d3c4318c871"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#a80f2ea99241a6afdc4718d3c4318c871">AT_ENTRY</a>&#160;&#160;&#160;9       /* Where interpreter should transfer control. */</td></tr>
<tr class="separator:a80f2ea99241a6afdc4718d3c4318c871"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a3070773d3f9231c9390172ae3fd2e7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#a8a3070773d3f9231c9390172ae3fd2e7">AT_EXECFD</a>&#160;&#160;&#160;2       /* File descriptor of program to load. */</td></tr>
<tr class="separator:a8a3070773d3f9231c9390172ae3fd2e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08c6bdc11224c9d17fbde19666c332cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#a08c6bdc11224c9d17fbde19666c332cc">AT_FLAGS</a>&#160;&#160;&#160;8       /* Flags (unused for i386). */</td></tr>
<tr class="separator:a08c6bdc11224c9d17fbde19666c332cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab11dfd4fb71c15a128c3f70a310b53d1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#ab11dfd4fb71c15a128c3f70a310b53d1">AT_IGNORE</a>&#160;&#160;&#160;1       /* Ignored entry. */</td></tr>
<tr class="separator:ab11dfd4fb71c15a128c3f70a310b53d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa893f7231479240d49c660c5649cac5b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#aa893f7231479240d49c660c5649cac5b">AT_NULL</a>&#160;&#160;&#160;0       /* Terminates the vector. */</td></tr>
<tr class="separator:aa893f7231479240d49c660c5649cac5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7269f0c135d4bd3f9bc074d18fb30f9d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#a7269f0c135d4bd3f9bc074d18fb30f9d">AT_PAGESZ</a>&#160;&#160;&#160;6       /* Page size in bytes. */</td></tr>
<tr class="separator:a7269f0c135d4bd3f9bc074d18fb30f9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3de7ec7b5cee2d34208387ab97dc0642"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#a3de7ec7b5cee2d34208387ab97dc0642">AT_PHDR</a>&#160;&#160;&#160;3       /* Program header of program already loaded. */</td></tr>
<tr class="separator:a3de7ec7b5cee2d34208387ab97dc0642"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56f1f9975d88f768d7928b0ed587ef38"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#a56f1f9975d88f768d7928b0ed587ef38">AT_PHENT</a>&#160;&#160;&#160;4       /* <a class="el" href="../../de/d9a/elf__generic_8h.html#a8f083052502d1aead5adf3f980dede7a">Size</a> of each program header entry. */</td></tr>
<tr class="separator:a56f1f9975d88f768d7928b0ed587ef38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc712c67bee059574b4e3c096538d5bd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#abc712c67bee059574b4e3c096538d5bd">AT_PHNUM</a>&#160;&#160;&#160;5       /* Number of program header entries. */</td></tr>
<tr class="separator:abc712c67bee059574b4e3c096538d5bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa8ddb544ff5a7ec07bbe00b16927559"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#afa8ddb544ff5a7ec07bbe00b16927559">AUXARGS_ENTRY</a>(pos,  <a class="el" href="../../d5/d8b/kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>,  val)&#160;&#160;&#160;{*pos = <a class="el" href="../../d5/d8b/kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>;pos++; *pos = val;pos++;}</td></tr>
<tr class="separator:afa8ddb544ff5a7ec07bbe00b16927559"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad93dccba62fb5241c0b7cebcd097794a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#ad93dccba62fb5241c0b7cebcd097794a">STACK_ADDR</a>&#160;&#160;&#160;0xC800000</td></tr>
<tr class="separator:ad93dccba62fb5241c0b7cebcd097794a"><td class="memSeparator" colspan="2">&#160;</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:af80d4412d42ed1b5bf9a1b9774230f33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#af80d4412d42ed1b5bf9a1b9774230f33">execFile</a> (char *<a class="el" href="../../d7/d3a/structfile.html">file</a>, int argc, char **argv, int console)</td></tr>
<tr class="separator:af80d4412d42ed1b5bf9a1b9774230f33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b86d28d8fd56197042aef174de2fd58"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d1e/objgfx30_8h.html#ada085051a6d9a8e00a2cb256d1af14ba">uInt32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#a4b86d28d8fd56197042aef174de2fd58">execThread</a> (void(*tproc)(void), <a class="el" href="../../dd/d1e/objgfx30_8h.html#ada085051a6d9a8e00a2cb256d1af14ba">uInt32</a> stack, char *arg)</td></tr>
<tr class="separator:a4b86d28d8fd56197042aef174de2fd58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a094c23346b6d226a03866a54b755ed64"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#a094c23346b6d226a03866a54b755ed64">sys_exec</a> (char *<a class="el" href="../../d7/d3a/structfile.html">file</a>, char *ap)</td></tr>
<tr class="memdesc:a094c23346b6d226a03866a54b755ed64"><td class="mdescLeft">&#160;</td><td class="mdescRight">New exec...  <a href="../../df/dc9/exec_8c.html#a094c23346b6d226a03866a54b755ed64">More...</a><br /></td></tr>
<tr class="separator:a094c23346b6d226a03866a54b755ed64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a219681612352232186a0f568457d851d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dc9/exec_8c.html#a219681612352232186a0f568457d851d">sysExec</a> (char *<a class="el" href="../../d7/d3a/structfile.html">file</a>, char *ap)</td></tr>
<tr class="separator:a219681612352232186a0f568457d851d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a9b8e51a44a47d7ea827c570ffdca14e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b8e51a44a47d7ea827c570ffdca14e5">&#9670;&nbsp;</a></span>AT_BASE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define AT_BASE&#160;&#160;&#160;7       /* Interpreter's base address. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00049">49</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

</div>
</div>
<a id="a80f2ea99241a6afdc4718d3c4318c871"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80f2ea99241a6afdc4718d3c4318c871">&#9670;&nbsp;</a></span>AT_ENTRY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define AT_ENTRY&#160;&#160;&#160;9       /* Where interpreter should transfer control. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00051">51</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

</div>
</div>
<a id="a8a3070773d3f9231c9390172ae3fd2e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a3070773d3f9231c9390172ae3fd2e7">&#9670;&nbsp;</a></span>AT_EXECFD</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define AT_EXECFD&#160;&#160;&#160;2       /* File descriptor of program to load. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00044">44</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

</div>
</div>
<a id="a08c6bdc11224c9d17fbde19666c332cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08c6bdc11224c9d17fbde19666c332cc">&#9670;&nbsp;</a></span>AT_FLAGS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define AT_FLAGS&#160;&#160;&#160;8       /* Flags (unused for i386). */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00050">50</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

</div>
</div>
<a id="ab11dfd4fb71c15a128c3f70a310b53d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab11dfd4fb71c15a128c3f70a310b53d1">&#9670;&nbsp;</a></span>AT_IGNORE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define AT_IGNORE&#160;&#160;&#160;1       /* Ignored entry. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00043">43</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

</div>
</div>
<a id="aa893f7231479240d49c660c5649cac5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa893f7231479240d49c660c5649cac5b">&#9670;&nbsp;</a></span>AT_NULL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define AT_NULL&#160;&#160;&#160;0       /* Terminates the vector. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00042">42</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

</div>
</div>
<a id="a7269f0c135d4bd3f9bc074d18fb30f9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7269f0c135d4bd3f9bc074d18fb30f9d">&#9670;&nbsp;</a></span>AT_PAGESZ</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define AT_PAGESZ&#160;&#160;&#160;6       /* Page size in bytes. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00048">48</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

</div>
</div>
<a id="a3de7ec7b5cee2d34208387ab97dc0642"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3de7ec7b5cee2d34208387ab97dc0642">&#9670;&nbsp;</a></span>AT_PHDR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define AT_PHDR&#160;&#160;&#160;3       /* Program header of program already loaded. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00045">45</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

</div>
</div>
<a id="a56f1f9975d88f768d7928b0ed587ef38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56f1f9975d88f768d7928b0ed587ef38">&#9670;&nbsp;</a></span>AT_PHENT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define AT_PHENT&#160;&#160;&#160;4       /* <a class="el" href="../../de/d9a/elf__generic_8h.html#a8f083052502d1aead5adf3f980dede7a">Size</a> of each program header entry. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00046">46</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

</div>
</div>
<a id="abc712c67bee059574b4e3c096538d5bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc712c67bee059574b4e3c096538d5bd">&#9670;&nbsp;</a></span>AT_PHNUM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define AT_PHNUM&#160;&#160;&#160;5       /* Number of program header entries. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00047">47</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

</div>
</div>
<a id="afa8ddb544ff5a7ec07bbe00b16927559"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa8ddb544ff5a7ec07bbe00b16927559">&#9670;&nbsp;</a></span>AUXARGS_ENTRY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define AUXARGS_ENTRY</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">pos, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="../../d5/d8b/kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">val&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;{*pos = <a class="el" href="../../d5/d8b/kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>;pos++; *pos = val;pos++;}</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00054">54</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

</div>
</div>
<a id="ad93dccba62fb5241c0b7cebcd097794a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad93dccba62fb5241c0b7cebcd097794a">&#9670;&nbsp;</a></span>STACK_ADDR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define STACK_ADDR&#160;&#160;&#160;0xC800000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00040">40</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="af80d4412d42ed1b5bf9a1b9774230f33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af80d4412d42ed1b5bf9a1b9774230f33">&#9670;&nbsp;</a></span>execFile()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void execFile </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>argv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>console</em>&#160;</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="../../df/dc9/exec_8c_source.html#l00153">153</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

<p class="reference">References <a class="el" href="../../d3/d02/armv6_2sched_8c_source.html#l00050">_current</a>, <a class="el" href="../../dc/da7/assert_8h_source.html#l00064">assert</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00035">tssStruct::back_link</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00046">tssStruct::cr3</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00056">tssStruct::cs</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00060">tssStruct::ds</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00051">tssStruct::ebp</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00053">tssStruct::edi</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00048">tssStruct::eflags</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00047">tssStruct::eip</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00054">tssStruct::es</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00052">tssStruct::esi</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00050">tssStruct::esp</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00037">tssStruct::esp0</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00040">tssStruct::esp1</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00043">tssStruct::esp2</a>, <a class="el" href="../../d6/d13/file_8c_source.html#l00533">fclose()</a>, <a class="el" href="../../d6/d13/file_8c_source.html#l00395">fopen()</a>, <a class="el" href="../../d6/d13/file_8c_source.html#l00297">fread()</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00062">tssStruct::fs</a>, <a class="el" href="../../d6/d13/file_8c_source.html#l00332">fseek()</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00073">taskStruct::gid</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00064">tssStruct::gs</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00063">taskStruct::id</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00069">tssStruct::io_map</a>, <a class="el" href="../../d3/d24/kpanic_8h_source.html#l00032">K_PANIC</a>, <a class="el" href="../../d4/df4/paging_8h_source.html#l00069">KERNEL_PAGE_DEFAULT</a>, <a class="el" href="../../de/d38/paging_8c_source.html#l00041">kernelPageDirectory</a>, <a class="el" href="../../d3/d1a/kmalloc_8c_source.html#l00342">kfree()</a>, <a class="el" href="../../d3/d1a/kmalloc_8c_source.html#l00241">kmalloc()</a>, <a class="el" href="../../dc/d94/armv6_2kpanic_8c_source.html#l00041">kpanic()</a>, <a class="el" href="../../df/d87/kprintf_8c_source.html#l00259">kprintf()</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00066">tssStruct::ldt</a>, <a class="el" href="../../da/d66/string_8h.html#ace4b911463887af5e748326323e99a23">memset()</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00069">taskStruct::oInfo</a>, <a class="el" href="../../dd/d71/tty_8h_source.html#l00042">tty_termNode::owner</a>, <a class="el" href="../../d4/df4/paging_8h_source.html#l00068">PAGE_DEFAULT</a>, <a class="el" href="../../d4/df4/paging_8h_source.html#l00055">PAGE_PRESENT</a>, <a class="el" href="../../d4/df4/paging_8h_source.html#l00065">PAGE_STACK</a>, <a class="el" href="../../d4/df4/paging_8h_source.html#l00057">PAGE_USER</a>, <a class="el" href="../../d6/db4/include_2vfs_2file_8h_source.html#l00076">fileDescriptor::perms</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00047">READY</a>, <a class="el" href="../../d3/d02/armv6_2sched_8c_source.html#l00265">sched_setStatus()</a>, <a class="el" href="../../d3/d02/armv6_2sched_8c_source.html#l00135">schedNewTask()</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00058">tssStruct::ss</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00038">tssStruct::ss0</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00041">tssStruct::ss1</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00044">tssStruct::ss2</a>, <a class="el" href="../../df/dc9/exec_8c_source.html#l00040">STACK_ADDR</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00078">taskStruct::td</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00077">taskStruct::term</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00068">tssStruct::trace_bitmap</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00067">taskStruct::tss</a>, <a class="el" href="../../dc/d03/tty_8c_source.html#l00167">tty_find()</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00073">taskStruct::uid</a>, <a class="el" href="../../db/dd5/thread_8h_source.html#l00043">thread::vm_daddr</a>, <a class="el" href="../../d3/db5/vmm__memory_8c_source.html#l00221">vmm_findFreePage()</a>, <a class="el" href="../../de/d38/paging_8c_source.html#l00199">vmm_remapPage()</a>, <a class="el" href="../../db/df4/setpageattributes_8c_source.html#l00039">vmm_setPageAttributes()</a>, and <a class="el" href="../../d7/d00/sched_8h_source.html#l00054">osInfo::vmStart</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="../../df/dc9/exec_8c_af80d4412d42ed1b5bf9a1b9774230f33_cgraph.png" border="0" usemap="#df/dc9/exec_8c_af80d4412d42ed1b5bf9a1b9774230f33_cgraph" alt=""/></div>
<map name="df/dc9/exec_8c_af80d4412d42ed1b5bf9a1b9774230f33_cgraph" id="df/dc9/exec_8c_af80d4412d42ed1b5bf9a1b9774230f33_cgraph">
<area shape="rect" title=" " alt="" coords="5,639,76,665"/>
<area shape="rect" href="../../d6/d13/file_8c.html#a62ac32695420234cb7ccbcfc6cabd4a4" title=" " alt="" coords="611,689,667,716"/>
<area shape="rect" href="../../d6/d13/file_8c.html#a249f3bc0af043dc5ac3c9aa8646986af" title=" " alt="" coords="177,284,231,311"/>
<area shape="rect" href="../../d4/d03/kmalloc_8h.html#aaa9ed6886459604cf73ccdbf6410e487" title=" " alt="" coords="357,31,407,57"/>
<area shape="rect" href="../../d4/d03/kmalloc_8h.html#a150eab2ac4ce4553e21ca10e7f441762" title=" " alt="" coords="349,537,415,564"/>
<area shape="rect" href="../../da/d28/kprintf_8h.html#a20b56810edb62a6fe59917015c30848f" title=" " alt="" coords="353,81,411,108"/>
<area shape="rect" href="../../dd/d71/tty_8h.html#a4f96ccac7e60296ef496008d8cbed0ff" title=" " alt="" coords="607,399,671,425"/>
<area shape="rect" href="../../da/d66/string_8h.html#ace4b911463887af5e748326323e99a23" title=" " alt="" coords="347,436,417,463"/>
<area shape="rect" href="../../d6/d13/file_8c.html#ac539f57edd90fcd088fd3baa10319166" title=" " alt="" coords="179,639,229,665"/>
<area shape="rect" href="../../d6/d13/file_8c.html#aac4e345a7fcee61422a6b35b54f22def" title=" " alt="" coords="177,689,231,716"/>
<area shape="rect" href="../../dc/d94/armv6_2kpanic_8c.html#adb9a182aa071791a306163d50d653deb" title="print panic message and halt system" alt="" coords="352,917,412,944"/>
<area shape="rect" href="../../d3/d02/armv6_2sched_8c.html#a2cbadd034400c65dbd11fd4892ddf26e" title=" " alt="" coords="144,791,264,817"/>
<area shape="rect" href="../../d3/d02/armv6_2sched_8c.html#a92458df2063761371869cdfe0c9b4ee3" title=" " alt="" coords="149,841,259,868"/>
<area shape="rect" href="../../d1/d21/vmm_8h.html#ab8e4e189a7b1df2a03072ce5b75c89fe" title=" " alt="" coords="138,993,270,1020"/>
<area shape="rect" href="../../d4/df4/paging_8h.html#adea68f248df43bddee62a09d945304b0" title=" " alt="" coords="143,588,265,615"/>
<area shape="rect" href="../../d4/df4/paging_8h.html#ab060cb62a6dd6d22f63757d72c27c335" title=" " alt="" coords="124,892,284,919"/>
<area shape="rect" href="../../dc/d88/armv6_2spinlock_8c.html#a71f03d2ba55111c715b6068254847a53" title=" " alt="" coords="732,588,807,615"/>
<area shape="rect" href="../../d3/d02/armv6_2sched_8c.html#a08933fe6d593a1c78b9080359f15a0b7" title=" " alt="" coords="855,563,946,589"/>
<area shape="rect" href="../../dc/d88/armv6_2spinlock_8c.html#a740766af5da58616f700fffab6768a78" title=" " alt="" coords="855,613,947,640"/>
<area shape="rect" href="../../dc/d88/armv6_2spinlock_8c.html#ae29ab191c93f9ead066cb462dd2e7247" title=" " alt="" coords="339,284,425,311"/>
<area shape="rect" href="../../da/d28/kprintf_8h.html#ac38cd16373d98782e1465bd3d5aba470" title=" " alt="" coords="353,335,411,361"/>
<area shape="rect" href="../../da/d66/string_8h.html#a55e123beb3d7f96e25e024a13582d987" title=" " alt="" coords="353,385,411,412"/>
<area shape="rect" href="../../da/d66/string_8h.html#adcec9a82a6a276e8edb0fd4fc26fe8f2" title=" " alt="" coords="356,132,408,159"/>
<area shape="rect" href="../../da/d66/string_8h.html#a9af7251f0c1b875e0e34b8e2b94dda39" title=" " alt="" coords="355,183,409,209"/>
<area shape="rect" href="../../dc/d92/mount_8c.html#aa8cc926aa9badb781158b6738b1b0f2d" title=" " alt="" coords="332,233,432,260"/>
<area shape="rect" href="../../dd/d78/video_8h.html#a5429378b96a24fadfd2d1f8d777eb95a" title=" " alt="" coords="486,31,541,57"/>
<area shape="rect" href="../../df/d87/kprintf_8c.html#a3093cdac4668a4ccffdd7f77270888b7" title=" " alt="" coords="482,81,545,108"/>
<area shape="rect" href="../../da/d28/kprintf_8h.html#a3b4a66bf1f6583e65660f281b6014aa1" title=" " alt="" coords="480,132,547,159"/>
<area shape="rect" href="../../dc/dac/io_8h.html#a77b934268de1b3ecdcf3f275413b3108" title="input one byte from specified port" alt="" coords="599,5,680,32"/>
<area shape="rect" href="../../dc/dac/io_8h.html#a8acc1a06073db2e7b92ffbd00fbd0cf1" title="outputut one byte to specified port" alt="" coords="595,56,684,83"/>
<area shape="rect" href="../../dd/d71/tty_8h.html#ad96f57a7c113d3cfa76ee5fed6de33c0" title=" " alt="" coords="605,259,674,285"/>
<area shape="rect" href="../../d7/d7c/strtok_8c.html#af18c3fca5cc30bc1313728d45c031ae9" title=" " alt="" coords="480,183,547,209"/>
<area shape="rect" href="../../da/d66/string_8h.html#a6f3dcb20ff11ff9db5904c3cfb61a38c" title=" " alt="" coords="482,233,545,260"/>
</map>
</div>

</div>
</div>
<a id="a4b86d28d8fd56197042aef174de2fd58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b86d28d8fd56197042aef174de2fd58">&#9670;&nbsp;</a></span>execThread()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dd/d1e/objgfx30_8h.html#ada085051a6d9a8e00a2cb256d1af14ba">uInt32</a> execThread </td>
          <td>(</td>
          <td class="paramtype">void(*)(void)&#160;</td>
          <td class="paramname"><em>tproc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dd/d1e/objgfx30_8h.html#ada085051a6d9a8e00a2cb256d1af14ba">uInt32</a>&#160;</td>
          <td class="paramname"><em>stack</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>arg</em>&#160;</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="../../df/dc9/exec_8c_source.html#l00066">66</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

<p class="reference">References <a class="el" href="../../dc/da7/assert_8h_source.html#l00064">assert</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00035">tssStruct::back_link</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00046">tssStruct::cr3</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00056">tssStruct::cs</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00060">tssStruct::ds</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00051">tssStruct::ebp</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00053">tssStruct::edi</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00048">tssStruct::eflags</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00047">tssStruct::eip</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00054">tssStruct::es</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00052">tssStruct::esi</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00050">tssStruct::esp</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00037">tssStruct::esp0</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00040">tssStruct::esp1</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00043">tssStruct::esp2</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00062">tssStruct::fs</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00064">tssStruct::gs</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00063">taskStruct::id</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00069">tssStruct::io_map</a>, <a class="el" href="../../de/d38/paging_8c_source.html#l00041">kernelPageDirectory</a>, <a class="el" href="../../dc/d94/armv6_2kpanic_8c_source.html#l00041">kpanic()</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00066">tssStruct::ldt</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00069">taskStruct::oInfo</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00047">READY</a>, <a class="el" href="../../d3/d02/armv6_2sched_8c_source.html#l00265">sched_setStatus()</a>, <a class="el" href="../../d3/d02/armv6_2sched_8c_source.html#l00135">schedNewTask()</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00058">tssStruct::ss</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00038">tssStruct::ss0</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00041">tssStruct::ss1</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00044">tssStruct::ss2</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00068">tssStruct::trace_bitmap</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00067">taskStruct::tss</a>, and <a class="el" href="../../d7/d00/sched_8h_source.html#l00054">osInfo::vmStart</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d9/d0f/main_8cc_source.html#l00051">sdeThread()</a>, <a class="el" href="../../d3/dd3/i386_2systemtask_8c_source.html#l00046">systemTask()</a>, and <a class="el" href="../../d5/d9a/ubthread_8c_source.html#l00083">ubthread_create()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="../../df/dc9/exec_8c_a4b86d28d8fd56197042aef174de2fd58_cgraph.png" border="0" usemap="#df/dc9/exec_8c_a4b86d28d8fd56197042aef174de2fd58_cgraph" alt=""/></div>
<map name="df/dc9/exec_8c_a4b86d28d8fd56197042aef174de2fd58_cgraph" id="df/dc9/exec_8c_a4b86d28d8fd56197042aef174de2fd58_cgraph">
<area shape="rect" title=" " alt="" coords="5,56,95,83"/>
<area shape="rect" href="../../dc/d94/armv6_2kpanic_8c.html#adb9a182aa071791a306163d50d653deb" title="print panic message and halt system" alt="" coords="173,5,233,32"/>
<area shape="rect" href="../../d3/d02/armv6_2sched_8c.html#a2cbadd034400c65dbd11fd4892ddf26e" title=" " alt="" coords="143,56,263,83"/>
<area shape="rect" href="../../d3/d02/armv6_2sched_8c.html#a92458df2063761371869cdfe0c9b4ee3" title=" " alt="" coords="147,107,258,133"/>
</map>
</div>

</div>
</div>
<a id="a094c23346b6d226a03866a54b755ed64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a094c23346b6d226a03866a54b755ed64">&#9670;&nbsp;</a></span>sys_exec()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sys_exec </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>ap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>New exec... </p>
<p>copy in arg strings</p>
<p>Clean the virtual of COW pages left over from the fork</p>
<p>Adjust iframe</p>
<p>build argc and argv[]</p>
<p>Build ENV</p>

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00551">551</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d9/d74/execve_8c_source.html#l00033">sys_execve()</a>.</p>

</div>
</div>
<a id="a219681612352232186a0f568457d851d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a219681612352232186a0f568457d851d">&#9670;&nbsp;</a></span>sysExec()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sysExec </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>ap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Clean the virtual of COW pages left over from the fork</p>
<p>Adjust iframe</p>
<p>build argc and argv[]</p>

<p class="definition">Definition at line <a class="el" href="../../df/dc9/exec_8c_source.html#l00340">340</a> of file <a class="el" href="../../df/dc9/exec_8c_source.html">exec.c</a>.</p>

<p class="reference">References <a class="el" href="../../d3/d02/armv6_2sched_8c_source.html#l00050">_current</a>, <a class="el" href="../../dc/da7/assert_8h_source.html#l00064">assert</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00092">i386_frame::ebp</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00102">i386_frame::eip</a>, <a class="el" href="../../dc/d86/endtask_8c_source.html#l00044">endTask()</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00037">tssStruct::esp0</a>, <a class="el" href="../../d6/d13/file_8c_source.html#l00533">fclose()</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00071">taskStruct::files</a>, <a class="el" href="../../d6/d13/file_8c_source.html#l00395">fopen()</a>, <a class="el" href="../../d6/d13/file_8c_source.html#l00297">fread()</a>, <a class="el" href="../../d6/d13/file_8c_source.html#l00332">fseek()</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00063">taskStruct::id</a>, <a class="el" href="../../d3/d24/kpanic_8h_source.html#l00032">K_PANIC</a>, <a class="el" href="../../d3/d1a/kmalloc_8c_source.html#l00342">kfree()</a>, <a class="el" href="../../d3/d1a/kmalloc_8c_source.html#l00241">kmalloc()</a>, <a class="el" href="../../dc/d94/armv6_2kpanic_8c_source.html#l00041">kpanic()</a>, <a class="el" href="../../df/d87/kprintf_8c_source.html#l00259">kprintf()</a>, <a class="el" href="../../d9/d37/ld_8h.html#ab0622e93915d1824df770950e425875f">ldEnable()</a>, <a class="el" href="../../da/d66/string_8h.html#ace4b911463887af5e748326323e99a23">memset()</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00069">taskStruct::oInfo</a>, <a class="el" href="../../d4/df4/paging_8h_source.html#l00068">PAGE_DEFAULT</a>, <a class="el" href="../../d4/df4/paging_8h_source.html#l00055">PAGE_PRESENT</a>, <a class="el" href="../../d4/df4/paging_8h_source.html#l00036">PAGE_SHIFT</a>, <a class="el" href="../../d4/df4/paging_8h_source.html#l00037">PAGE_SIZE</a>, <a class="el" href="../../d4/df4/paging_8h_source.html#l00057">PAGE_USER</a>, <a class="el" href="../../d6/db4/include_2vfs_2file_8h_source.html#l00076">fileDescriptor::perms</a>, <a class="el" href="../../dd/d58/elf__common_8h_source.html#l00493">PT_DYNAMIC</a>, <a class="el" href="../../dd/d58/elf__common_8h_source.html#l00494">PT_INTERP</a>, <a class="el" href="../../dd/d58/elf__common_8h_source.html#l00492">PT_LOAD</a>, <a class="el" href="../../d4/df4/paging_8h_source.html#l00072">round_page</a>, <a class="el" href="../../df/dc9/exec_8c_source.html#l00040">STACK_ADDR</a>, <a class="el" href="../../da/d66/string_8h.html#a55e123beb3d7f96e25e024a13582d987">strcpy()</a>, <a class="el" href="../../d3/d67/strlen_8c_source.html#l00055">strlen()</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00078">taskStruct::td</a>, <a class="el" href="../../d4/df4/paging_8h_source.html#l00071">trunc_page</a>, <a class="el" href="../../d7/d00/sched_8h_source.html#l00067">taskStruct::tss</a>, <a class="el" href="../../de/d9a/tss_8h_source.html#l00105">i386_frame::user_esp</a>, <a class="el" href="../../db/dd5/thread_8h_source.html#l00043">thread::vm_daddr</a>, <a class="el" href="../../db/dd5/thread_8h_source.html#l00044">thread::vm_dsize</a>, <a class="el" href="../../d4/df4/paging_8h_source.html#l00052">VM_TASK</a>, <a class="el" href="../../de/d38/paging_8c_source.html#l00587">vmm_cleanVirtualSpace()</a>, <a class="el" href="../../d3/db5/vmm__memory_8c_source.html#l00221">vmm_findFreePage()</a>, <a class="el" href="../../de/d38/paging_8c_source.html#l00199">vmm_remapPage()</a>, <a class="el" href="../../db/df4/setpageattributes_8c_source.html#l00039">vmm_setPageAttributes()</a>, and <a class="el" href="../../d7/d00/sched_8h_source.html#l00054">osInfo::vmStart</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="../../df/dc9/exec_8c_a219681612352232186a0f568457d851d_cgraph.png" border="0" usemap="#df/dc9/exec_8c_a219681612352232186a0f568457d851d_cgraph" alt=""/></div>
<map name="df/dc9/exec_8c_a219681612352232186a0f568457d851d_cgraph" id="df/dc9/exec_8c_a219681612352232186a0f568457d851d_cgraph">
<area shape="rect" title=" " alt="" coords="5,461,79,488"/>
<area shape="rect" href="../../dc/d0c/endtask_8h.html#a152c1859ada097cc21071f471bfa2e67" title=" " alt="" coords="172,56,243,83"/>
<area shape="rect" href="../../d6/d13/file_8c.html#a62ac32695420234cb7ccbcfc6cabd4a4" title=" " alt="" coords="635,853,691,880"/>
<area shape="rect" href="../../d6/d13/file_8c.html#a249f3bc0af043dc5ac3c9aa8646986af" title=" " alt="" coords="181,259,234,285"/>
<area shape="rect" href="../../d4/d03/kmalloc_8h.html#aaa9ed6886459604cf73ccdbf6410e487" title=" " alt="" coords="371,157,421,184"/>
<area shape="rect" href="../../d4/d03/kmalloc_8h.html#a150eab2ac4ce4553e21ca10e7f441762" title=" " alt="" coords="363,107,429,133"/>
<area shape="rect" href="../../da/d28/kprintf_8h.html#a20b56810edb62a6fe59917015c30848f" title=" " alt="" coords="367,208,425,235"/>
<area shape="rect" href="../../da/d66/string_8h.html#ace4b911463887af5e748326323e99a23" title=" " alt="" coords="361,512,431,539"/>
<area shape="rect" href="../../da/d66/string_8h.html#a55e123beb3d7f96e25e024a13582d987" title=" " alt="" coords="367,563,425,589"/>
<area shape="rect" href="../../d6/d13/file_8c.html#ac539f57edd90fcd088fd3baa10319166" title=" " alt="" coords="182,461,233,488"/>
<area shape="rect" href="../../d6/d13/file_8c.html#aac4e345a7fcee61422a6b35b54f22def" title=" " alt="" coords="181,512,234,539"/>
<area shape="rect" href="../../dc/d94/armv6_2kpanic_8c.html#adb9a182aa071791a306163d50d653deb" title="print panic message and halt system" alt="" coords="366,715,426,741"/>
<area shape="rect" href="../../d9/d37/ld_8h.html#ab0622e93915d1824df770950e425875f" title=" " alt="" coords="171,613,243,640"/>
<area shape="rect" href="../../de/d14/lib_8h.html#ae6c8de953239811a34eeeab09458e55e" title=" " alt="" coords="180,664,235,691"/>
<area shape="rect" href="../../d4/df4/paging_8h.html#adf104ab2196331b538186550cb7ada3e" title=" " alt="" coords="127,715,288,741"/>
<area shape="rect" href="../../d1/d21/vmm_8h.html#ab8e4e189a7b1df2a03072ce5b75c89fe" title=" " alt="" coords="141,411,273,437"/>
<area shape="rect" href="../../d4/df4/paging_8h.html#adea68f248df43bddee62a09d945304b0" title=" " alt="" coords="146,816,269,843"/>
<area shape="rect" href="../../d4/df4/paging_8h.html#ab060cb62a6dd6d22f63757d72c27c335" title=" " alt="" coords="127,765,287,792"/>
<area shape="rect" href="../../d3/d02/armv6_2sched_8c.html#a2cbadd034400c65dbd11fd4892ddf26e" title=" " alt="" coords="336,5,456,32"/>
<area shape="rect" href="../../d3/d02/armv6_2sched_8c.html#a08933fe6d593a1c78b9080359f15a0b7" title=" " alt="" coords="879,183,970,209"/>
<area shape="rect" href="../../dc/d88/armv6_2spinlock_8c.html#a71f03d2ba55111c715b6068254847a53" title=" " alt="" coords="756,487,831,513"/>
<area shape="rect" href="../../dc/d88/armv6_2spinlock_8c.html#a740766af5da58616f700fffab6768a78" title=" " alt="" coords="879,487,971,513"/>
<area shape="rect" href="../../dc/d88/armv6_2spinlock_8c.html#ae29ab191c93f9ead066cb462dd2e7247" title=" " alt="" coords="353,360,439,387"/>
<area shape="rect" href="../../da/d28/kprintf_8h.html#ac38cd16373d98782e1465bd3d5aba470" title=" " alt="" coords="367,411,425,437"/>
<area shape="rect" href="../../da/d66/string_8h.html#adcec9a82a6a276e8edb0fd4fc26fe8f2" title=" " alt="" coords="370,461,422,488"/>
<area shape="rect" href="../../da/d66/string_8h.html#a9af7251f0c1b875e0e34b8e2b94dda39" title=" " alt="" coords="369,259,423,285"/>
<area shape="rect" href="../../dc/d92/mount_8c.html#aa8cc926aa9badb781158b6738b1b0f2d" title=" " alt="" coords="346,309,446,336"/>
<area shape="rect" href="../../dd/d78/video_8h.html#a5429378b96a24fadfd2d1f8d777eb95a" title=" " alt="" coords="510,259,565,285"/>
<area shape="rect" href="../../df/d87/kprintf_8c.html#a3093cdac4668a4ccffdd7f77270888b7" title=" " alt="" coords="506,157,569,184"/>
<area shape="rect" href="../../da/d28/kprintf_8h.html#a3b4a66bf1f6583e65660f281b6014aa1" title=" " alt="" coords="504,208,571,235"/>
<area shape="rect" href="../../dc/dac/io_8h.html#a77b934268de1b3ecdcf3f275413b3108" title="input one byte from specified port" alt="" coords="623,309,704,336"/>
<area shape="rect" href="../../dc/dac/io_8h.html#a8acc1a06073db2e7b92ffbd00fbd0cf1" title="outputut one byte to specified port" alt="" coords="619,360,708,387"/>
<area shape="rect" href="../../dd/d71/tty_8h.html#a4f96ccac7e60296ef496008d8cbed0ff" title=" " alt="" coords="631,208,695,235"/>
<area shape="rect" href="../../dd/d71/tty_8h.html#ad96f57a7c113d3cfa76ee5fed6de33c0" title=" " alt="" coords="629,259,698,285"/>
<area shape="rect" href="../../d7/d7c/strtok_8c.html#af18c3fca5cc30bc1313728d45c031ae9" title=" " alt="" coords="504,309,571,336"/>
<area shape="rect" href="../../da/d66/string_8h.html#a6f3dcb20ff11ff9db5904c3cfb61a38c" title=" " alt="" coords="506,360,569,387"/>
</map>
</div>

</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_ea9599923402ca8ab47fc3e495999dea.html">arch</a></li><li class="navelem"><a class="el" href="../../dir_1a0345ad50f8290df9a6e9406901343e.html">armv6</a></li><li class="navelem"><a class="el" href="../../df/dc9/exec_8c.html">exec.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>