<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>UbixOS V2: src/sys/include/ubixos/smp.h File Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="classes.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <div class="nav"> <a class="el" href="dir_897b6a2d7bab147dd1db58381aad3984.html">src</a> » <a class="el" href="dir_832905b1f7f5feaf61a306b40c0ac817.html">sys</a> » <a class="el" href="dir_caf4200c438ae9601464168e21e8e4d8.html">include</a> » <a class="el" href="dir_9854bc9d2b9a2a73f32c73e97d31d0f7.html">ubixos</a></div> <h1>smp.h File Reference</h1><code>#include <<a class="el" href="types_8h-source.html">ubixos/types.h</a>></code><br> <p> Include dependency graph for smp.h:<p><center><img src="smp_8h__incl.png" border="0" usemap="#src/sys/include/ubixos/smp.h_map" alt=""></center> <map name="src/sys/include/ubixos/smp.h_map"> <area href="types_8h.html" shape="rect" coords="274,5,394,32" alt=""> <area href="__types_8h.html" shape="rect" coords="444,5,548,32" alt=""> </map> <p> This graph shows which files directly or indirectly include this file:<p><center><img src="smp_8h__dep__incl.png" border="0" usemap="#src/sys/include/ubixos/smp.hdep_map" alt=""></center> <map name="src/sys/include/ubixos/smp.hdep_map"> <area href="smp_8c.html" shape="rect" coords="273,5,431,32" alt=""> </map> <p> <a href="smp_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structcpuinfo__t.html">cpuinfo_t</a></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="smp_8h.html#fb282ad2f10cfff4d0da79689e6dfc82">apicMagic</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="smp_8h.html#8e797e0b8a36194fca8fa45767974c2f">cpuid</a> (<a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a>, <a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> *)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="smp_8h.html#c89d80447fce7d622c7dfc6620039600">cpuidDetect</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="smp_8h.html#452f210aee65a2a30cbc5cb8923a9881">cpuInfo</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="smp_8h.html#abe8182d15984977e87831f32527ff78">getEflags</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="smp_8h.html#d58e8f36b58bd7c198307a1f012fd975">setEflags</a> (<a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a>)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="smp_8h.html#ce31619db109aa8b20a916d48969928d">smpInit</a> ()</td></tr> </table> <hr><h2>Function Documentation</h2> <a class="anchor" name="fb282ad2f10cfff4d0da79689e6dfc82"></a><!-- doxytag: member="smp.h::apicMagic" ref="fb282ad2f10cfff4d0da79689e6dfc82" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void apicMagic </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="smp_8c-source.html#l00234">234</a> of file <a class="el" href="smp_8c-source.html">smp.c</a>. <p> References <a class="el" href="smp_8c.html#e4dc28abba9d6b02a779ca1b8ffecd98">ap_trampoline_end()</a>, <a class="el" href="ap-boot_8S-source.html#l00006">ap_trampoline_start</a>, <a class="el" href="smp_8c-source.html#l00045">apicRead()</a>, <a class="el" href="smp_8c-source.html#l00049">apicWrite()</a>, <a class="el" href="kprintf_8c-source.html#l00038">kprintf()</a>, and <a class="el" href="lib_2string_8h.html#e33b18edb618c656b9b795b9fce2316c">memcpy()</a>. <p> Referenced by <a class="el" href="smp_8c-source.html#l00161">smpInit()</a>. <p> Here is the call graph for this function:<p><center><img src="smp_8h_fb282ad2f10cfff4d0da79689e6dfc82_cgraph.png" border="0" usemap="#smp_8h_fb282ad2f10cfff4d0da79689e6dfc82_cgraph_map" alt=""></center> <map name="smp_8h_fb282ad2f10cfff4d0da79689e6dfc82_cgraph_map"> <area href="smp_8c.html#e4dc28abba9d6b02a779ca1b8ffecd98" shape="rect" coords="144,5,296,32" alt=""> <area href="smp_8c.html#98935271c68a482c194d4c784d814ddd" shape="rect" coords="179,56,261,83" alt=""> <area href="smp_8c.html#ab4a831897afae67446bf78c88123749" shape="rect" coords="177,107,263,133" alt=""> <area href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8" shape="rect" coords="187,157,253,184" alt=""> <area href="lib_2string_8h.html#e33b18edb618c656b9b795b9fce2316c" shape="rect" coords="180,208,260,235" alt=""> </map> </div> </div><p> <a class="anchor" name="8e797e0b8a36194fca8fa45767974c2f"></a><!-- doxytag: member="smp.h::cpuid" ref="8e797e0b8a36194fca8fa45767974c2f" args="(uInt32, uInt32 *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cpuid </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> * </td> <td class="paramname"></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Referenced by <a class="el" href="smp_8c-source.html#l00182">cpuInfo()</a>. </div> </div><p> <a class="anchor" name="c89d80447fce7d622c7dfc6620039600"></a><!-- doxytag: member="smp.h::cpuidDetect" ref="c89d80447fce7d622c7dfc6620039600" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cpuidDetect </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="smp_8c-source.html#l00173">173</a> of file <a class="el" href="smp_8c-source.html">smp.c</a>. <p> References <a class="el" href="smp_8c-source.html#l00252">getEflags()</a>, <a class="el" href="kpanic_8c-source.html#l00042">kpanic()</a>, and <a class="el" href="smp_8c-source.html#l00262">setEflags()</a>. <p> Referenced by <a class="el" href="smp_8c-source.html#l00161">smpInit()</a>. <p> Here is the call graph for this function:<p><center><img src="smp_8h_c89d80447fce7d622c7dfc6620039600_cgraph.png" border="0" usemap="#smp_8h_c89d80447fce7d622c7dfc6620039600_cgraph_map" alt=""></center> <map name="smp_8h_c89d80447fce7d622c7dfc6620039600_cgraph_map"> <area href="smp_8h.html#abe8182d15984977e87831f32527ff78" shape="rect" coords="157,5,243,32" alt=""> <area href="kpanic_8h.html#db9a182aa071791a306163d50d653deb" shape="rect" coords="167,56,233,83" alt=""> <area href="smp_8h.html#d58e8f36b58bd7c198307a1f012fd975" shape="rect" coords="159,107,241,133" alt=""> <area href="8259_8h.html#2b9ec30943ddb0a2ef3bd7ccfd2026c0" shape="rect" coords="291,5,381,32" alt=""> <area href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8" shape="rect" coords="303,56,369,83" alt=""> <area href="stdarg_8h.html#621577c2df0ad5faa281223c56eeb7a5" shape="rect" coords="300,107,372,133" alt=""> <area href="vsprintf_8c.html#c2f4c669c6f6aa6caa5ab8adb1b07dd0" shape="rect" coords="433,81,508,108" alt=""> <area href="vsprintf_8c.html#3fa7c8ef8597579301cb4b5c59bc6d9a" shape="rect" coords="431,132,511,159" alt=""> </map> </div> </div><p> <a class="anchor" name="452f210aee65a2a30cbc5cb8923a9881"></a><!-- doxytag: member="smp.h::cpuInfo" ref="452f210aee65a2a30cbc5cb8923a9881" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> cpuInfo </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="smp_8c-source.html#l00182">182</a> of file <a class="el" href="smp_8c-source.html">smp.c</a>. <p> References <a class="el" href="smp_8h-source.html#l00038">cpuinfo_t::apic_id</a>, <a class="el" href="smp_8h-source.html#l00038">cpuinfo_t::apic_ver</a>, <a class="el" href="smp_8c-source.html#l00045">apicRead()</a>, <a class="el" href="smp_8h-source.html#l00042">cpuinfo_t::brand</a>, <a class="el" href="smp_8h.html#8e797e0b8a36194fca8fa45767974c2f">cpuid()</a>, <a class="el" href="smp_8c-source.html#l00040">cpuinfo</a>, <a class="el" href="smp_8c-source.html#l00038">cpuInfoLock</a>, <a class="el" href="smp_8c-source.html#l00039">cpus</a>, <a class="el" href="smp_8h-source.html#l00040">cpuinfo_t::feature</a>, <a class="el" href="smp_8c-source.html#l00252">getEflags()</a>, <a class="el" href="smp_8h-source.html#l00036">cpuinfo_t::id</a>, <a class="el" href="smp_8h-source.html#l00043">cpuinfo_t::ident</a>, <a class="el" href="kpanic_8c-source.html#l00042">kpanic()</a>, <a class="el" href="smp_8h-source.html#l00041">cpuinfo_t::max</a>, <a class="el" href="smp_8h-source.html#l00037">cpuinfo_t::ok</a>, <a class="el" href="smp_8c-source.html#l00053">setDr3()</a>, <a class="el" href="smp_8c-source.html#l00262">setEflags()</a>, <a class="el" href="smp_8h-source.html#l00039">cpuinfo_t::signature</a>, <a class="el" href="spinlock_8c-source.html#l00056">spinLock()</a>, <a class="el" href="spinlock_8c-source.html#l00037">spinUnlock()</a>, <a class="el" href="start_8S-source.html#l00051">x20</a>, and <a class="el" href="ap-boot_8S-source.html#l00052">x30</a>. <p> Referenced by <a class="el" href="smp_8c-source.html#l00137">c_ap_boot()</a>, and <a class="el" href="smp_8c-source.html#l00161">smpInit()</a>. <p> Here is the call graph for this function:<p><center><img src="smp_8h_452f210aee65a2a30cbc5cb8923a9881_cgraph.png" border="0" usemap="#smp_8h_452f210aee65a2a30cbc5cb8923a9881_cgraph_map" alt=""></center> <map name="smp_8h_452f210aee65a2a30cbc5cb8923a9881_cgraph_map"> <area href="smp_8c.html#98935271c68a482c194d4c784d814ddd" shape="rect" coords="132,5,215,32" alt=""> <area href="smp_8h.html#8e797e0b8a36194fca8fa45767974c2f" shape="rect" coords="144,56,203,83" alt=""> <area href="smp_8h.html#abe8182d15984977e87831f32527ff78" shape="rect" coords="131,107,216,133" alt=""> <area href="kpanic_8h.html#db9a182aa071791a306163d50d653deb" shape="rect" coords="140,157,207,184" alt=""> <area href="smp_8c.html#5607ecf06fd77905053dbb15eaf0ff6b" shape="rect" coords="140,208,207,235" alt=""> <area href="smp_8h.html#d58e8f36b58bd7c198307a1f012fd975" shape="rect" coords="132,259,215,285" alt=""> <area href="spinlock_8h.html#2cd9a4502680fb8e7f0fe6b029e558b1" shape="rect" coords="133,309,213,336" alt=""> <area href="spinlock_8h.html#dd996cbbb3b9826dd9c8cf02b66a4c65" shape="rect" coords="125,360,221,387" alt=""> <area href="8259_8h.html#2b9ec30943ddb0a2ef3bd7ccfd2026c0" shape="rect" coords="275,107,365,133" alt=""> <area href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8" shape="rect" coords="287,157,353,184" alt=""> <area href="stdarg_8h.html#621577c2df0ad5faa281223c56eeb7a5" shape="rect" coords="284,208,356,235" alt=""> <area href="vsprintf_8c.html#c2f4c669c6f6aa6caa5ab8adb1b07dd0" shape="rect" coords="423,171,497,197" alt=""> <area href="vsprintf_8c.html#3fa7c8ef8597579301cb4b5c59bc6d9a" shape="rect" coords="420,221,500,248" alt=""> <area href="sched_8h.html#08933fe6d593a1c78b9080359f15a0b7" shape="rect" coords="269,284,371,311" alt=""> <area href="spinlock_8h.html#8f9173fadeddafa01754d6cbcc630198" shape="rect" coords="573,335,672,361" alt=""> <area href="sched_8h.html#549a0c1cc47933fa045b200690965cbd" shape="rect" coords="429,284,491,311" alt=""> <area href="sched_8h.html#e969273d772018d111e1f0344eb550f8" shape="rect" coords="549,233,696,260" alt=""> <area href="sched_8h.html#086cc0adc0b6a3860ceeeb5bc5ea94ea" shape="rect" coords="553,284,692,311" alt=""> </map> </div> </div><p> <a class="anchor" name="abe8182d15984977e87831f32527ff78"></a><!-- doxytag: member="smp.h::getEflags" ref="abe8182d15984977e87831f32527ff78" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> getEflags </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="smp_8c-source.html#l00252">252</a> of file <a class="el" href="smp_8c-source.html">smp.c</a>. <p> Referenced by <a class="el" href="smp_8c-source.html#l00173">cpuidDetect()</a>, and <a class="el" href="smp_8c-source.html#l00182">cpuInfo()</a>. </div> </div><p> <a class="anchor" name="d58e8f36b58bd7c198307a1f012fd975"></a><!-- doxytag: member="smp.h::setEflags" ref="d58e8f36b58bd7c198307a1f012fd975" args="(uInt32)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void setEflags </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="smp_8c-source.html#l00262">262</a> of file <a class="el" href="smp_8c-source.html">smp.c</a>. <p> Referenced by <a class="el" href="smp_8c-source.html#l00173">cpuidDetect()</a>, and <a class="el" href="smp_8c-source.html#l00182">cpuInfo()</a>. </div> </div><p> <a class="anchor" name="ce31619db109aa8b20a916d48969928d"></a><!-- doxytag: member="smp.h::smpInit" ref="ce31619db109aa8b20a916d48969928d" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void smpInit </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="smp_8c-source.html#l00161">161</a> of file <a class="el" href="smp_8c-source.html">smp.c</a>. <p> References <a class="el" href="smp_8c-source.html#l00234">apicMagic()</a>, <a class="el" href="smp_8c-source.html#l00173">cpuidDetect()</a>, <a class="el" href="smp_8c-source.html#l00182">cpuInfo()</a>, <a class="el" href="smp_8c-source.html#l00069">GDT_fixer()</a>, <a class="el" href="smp_8c-source.html#l00037">initSpinLock</a>, <a class="el" href="spinlock_8c-source.html#l00056">spinLock()</a>, and <a class="el" href="spinlock_8c-source.html#l00037">spinUnlock()</a>. <p> Here is the call graph for this function:<p><center><img src="smp_8h_ce31619db109aa8b20a916d48969928d_cgraph.png" border="0" usemap="#smp_8h_ce31619db109aa8b20a916d48969928d_cgraph_map" alt=""></center> <map name="smp_8h_ce31619db109aa8b20a916d48969928d_cgraph_map"> <area href="smp_8h.html#fb282ad2f10cfff4d0da79689e6dfc82" shape="rect" coords="132,132,223,159" alt=""> <area href="smp_8h.html#c89d80447fce7d622c7dfc6620039600" shape="rect" coords="125,323,229,349" alt=""> <area href="smp_8h.html#452f210aee65a2a30cbc5cb8923a9881" shape="rect" coords="141,399,213,425" alt=""> <area href="spinlock_8h.html#2cd9a4502680fb8e7f0fe6b029e558b1" shape="rect" coords="313,512,393,539" alt=""> <area href="spinlock_8h.html#dd996cbbb3b9826dd9c8cf02b66a4c65" shape="rect" coords="305,563,401,589" alt=""> <area href="smp_8c.html#b9f1e8692e06eb164641f50aa4d7aed6" shape="rect" coords="133,551,221,577" alt=""> <area href="smp_8c.html#e4dc28abba9d6b02a779ca1b8ffecd98" shape="rect" coords="277,5,429,32" alt=""> <area href="smp_8c.html#98935271c68a482c194d4c784d814ddd" shape="rect" coords="312,208,395,235" alt=""> <area href="smp_8c.html#ab4a831897afae67446bf78c88123749" shape="rect" coords="311,107,396,133" alt=""> <area href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8" shape="rect" coords="495,132,561,159" alt=""> <area href="lib_2string_8h.html#e33b18edb618c656b9b795b9fce2316c" shape="rect" coords="313,157,393,184" alt=""> <area href="smp_8h.html#abe8182d15984977e87831f32527ff78" shape="rect" coords="311,259,396,285" alt=""> <area href="kpanic_8h.html#db9a182aa071791a306163d50d653deb" shape="rect" coords="320,309,387,336" alt=""> <area href="smp_8h.html#d58e8f36b58bd7c198307a1f012fd975" shape="rect" coords="312,360,395,387" alt=""> <area href="8259_8h.html#2b9ec30943ddb0a2ef3bd7ccfd2026c0" shape="rect" coords="483,335,573,361" alt=""> <area href="stdarg_8h.html#621577c2df0ad5faa281223c56eeb7a5" shape="rect" coords="492,284,564,311" alt=""> <area href="vsprintf_8c.html#c2f4c669c6f6aa6caa5ab8adb1b07dd0" shape="rect" coords="631,259,705,285" alt=""> <area href="vsprintf_8c.html#3fa7c8ef8597579301cb4b5c59bc6d9a" shape="rect" coords="628,309,708,336" alt=""> <area href="smp_8h.html#8e797e0b8a36194fca8fa45767974c2f" shape="rect" coords="324,411,383,437" alt=""> <area href="smp_8c.html#5607ecf06fd77905053dbb15eaf0ff6b" shape="rect" coords="320,461,387,488" alt=""> <area href="sched_8h.html#08933fe6d593a1c78b9080359f15a0b7" shape="rect" coords="477,537,579,564" alt=""> <area href="spinlock_8h.html#8f9173fadeddafa01754d6cbcc630198" shape="rect" coords="781,487,880,513" alt=""> <area href="sched_8h.html#549a0c1cc47933fa045b200690965cbd" shape="rect" coords="637,537,699,564" alt=""> <area href="sched_8h.html#e969273d772018d111e1f0344eb550f8" shape="rect" coords="757,588,904,615" alt=""> <area href="sched_8h.html#086cc0adc0b6a3860ceeeb5bc5ea94ea" shape="rect" coords="761,537,900,564" alt=""> </map> </div> </div><p> <hr size="1"><address style="align: right;"><small>Generated on Fri Dec 15 11:21:38 2006 for UbixOS V2 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>