153 lines
17 KiB
HTML
153 lines
17 KiB
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.18"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>MyOS Kernel: kernel/cpu/i386/isr.h Source File</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>
|
|
<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">MyOS Kernel
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.18 -->
|
|
<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('i386_2isr_8h_source.html',''); initResizable(); });
|
|
/* @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="headertitle">
|
|
<div class="title">isr.h</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a href="i386_2isr_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>  </div>
|
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#ifndef ISR_H</span></div>
|
|
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#define ISR_H</span></div>
|
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>  </div>
|
|
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include <stdint.h></span></div>
|
|
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>  </div>
|
|
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="structregisters__t.html"> 13</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
|
|
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="structregisters__t.html#a306bd2b372d49bfd4c7d238d70f008de"> 14</a></span>  uint32_t <a class="code" href="structregisters__t.html#a306bd2b372d49bfd4c7d238d70f008de">ds</a>; </div>
|
|
<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="structregisters__t.html#aa5edb9d0c62bdedca9f143c172845d48"> 15</a></span>  uint32_t <a class="code" href="structregisters__t.html#aa5edb9d0c62bdedca9f143c172845d48">edi</a>; </div>
|
|
<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="structregisters__t.html#ab2d08df2d79ee5da0adbba49f4b4fc93"> 16</a></span>  uint32_t <a class="code" href="structregisters__t.html#ab2d08df2d79ee5da0adbba49f4b4fc93">esi</a>; </div>
|
|
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="structregisters__t.html#aff130efb880979b18f2f4a8264afccde"> 17</a></span>  uint32_t <a class="code" href="structregisters__t.html#aff130efb880979b18f2f4a8264afccde">ebp</a>; </div>
|
|
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="structregisters__t.html#af3d2cd0ef47376c87848a1497c779d45"> 18</a></span>  uint32_t <a class="code" href="structregisters__t.html#af3d2cd0ef47376c87848a1497c779d45">esp</a>; </div>
|
|
<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="structregisters__t.html#a84391dc9350fbfb30b02d635546696e8"> 19</a></span>  uint32_t <a class="code" href="structregisters__t.html#a84391dc9350fbfb30b02d635546696e8">ebx</a>; </div>
|
|
<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="structregisters__t.html#a6c531d5d89f3dfab8255cec001beef54"> 20</a></span>  uint32_t <a class="code" href="structregisters__t.html#a6c531d5d89f3dfab8255cec001beef54">edx</a>; </div>
|
|
<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="structregisters__t.html#abdc4acd673970ed5c985ac2732f97c24"> 21</a></span>  uint32_t <a class="code" href="structregisters__t.html#abdc4acd673970ed5c985ac2732f97c24">ecx</a>; </div>
|
|
<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="structregisters__t.html#adaa5ebb5f10e5eeb2cac10c8e25d320c"> 22</a></span>  uint32_t <a class="code" href="structregisters__t.html#adaa5ebb5f10e5eeb2cac10c8e25d320c">eax</a>; </div>
|
|
<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="structregisters__t.html#a8e99e934a82bfae46a74fd6cfccf33f5"> 23</a></span>  uint32_t <a class="code" href="structregisters__t.html#a8e99e934a82bfae46a74fd6cfccf33f5">int_no</a>; </div>
|
|
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="structregisters__t.html#aad855f6a4d0a6914759c59b66cd763f6"> 24</a></span>  uint32_t <a class="code" href="structregisters__t.html#aad855f6a4d0a6914759c59b66cd763f6">err_code</a>; </div>
|
|
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="structregisters__t.html#ac8298121612095b5f2649462bb01d6a6"> 25</a></span>  uint32_t <a class="code" href="structregisters__t.html#ac8298121612095b5f2649462bb01d6a6">eip</a>; </div>
|
|
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="structregisters__t.html#a2fd90ea98c1435017c17c924f580c089"> 26</a></span>  uint32_t <a class="code" href="structregisters__t.html#a2fd90ea98c1435017c17c924f580c089">cs</a>; </div>
|
|
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="structregisters__t.html#af74793cc2103014e6f370ef29a1657d8"> 27</a></span>  uint32_t <a class="code" href="structregisters__t.html#af74793cc2103014e6f370ef29a1657d8">eflags</a>; </div>
|
|
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="structregisters__t.html#af8719df6cec71f1884a4cfd6e616e066"> 28</a></span>  uint32_t <a class="code" href="structregisters__t.html#af8719df6cec71f1884a4cfd6e616e066">useresp</a>; </div>
|
|
<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="structregisters__t.html#a97c29a6c76373f09b839926a5d55a659"> 29</a></span>  uint32_t <a class="code" href="structregisters__t.html#a97c29a6c76373f09b839926a5d55a659">ss</a>; </div>
|
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> } <a class="code" href="structregisters__t.html">registers_t</a>;</div>
|
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  </div>
|
|
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="i386_2isr_8h.html#a2ae93e6d11fda68bd746e046e2411a90"> 32</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="i386_2isr_8h.html#a2ae93e6d11fda68bd746e046e2411a90">isr_t</a>)(<a class="code" href="structregisters__t.html">registers_t</a>*); </div>
|
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  </div>
|
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">void</span> <a class="code" href="i386_2isr_8h.html#aed0ecf87a0ed3270ce0e9c68cd01a946">isr_install</a>();</div>
|
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  </div>
|
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">void</span> <a class="code" href="i386_2isr_8h.html#add073e14261bb5f977abc321d03f809b">isr_register_handler</a>(<span class="keywordtype">int</span> n,<a class="code" href="i386_2isr_8h.html#a2ae93e6d11fda68bd746e046e2411a90">isr_t</a> handler);</div>
|
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  </div>
|
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#endif</span></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<div class="ttc" id="ai386_2isr_8h_html_add073e14261bb5f977abc321d03f809b"><div class="ttname"><a href="i386_2isr_8h.html#add073e14261bb5f977abc321d03f809b">isr_register_handler</a></div><div class="ttdeci">void isr_register_handler(int n, isr_t handler)</div><div class="ttdef"><b>Definition:</b> isr.c:279</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_adaa5ebb5f10e5eeb2cac10c8e25d320c"><div class="ttname"><a href="structregisters__t.html#adaa5ebb5f10e5eeb2cac10c8e25d320c">registers_t::eax</a></div><div class="ttdeci">uint32_t eax</div><div class="ttdoc">Pushed by pusha.</div><div class="ttdef"><b>Definition:</b> isr.h:22</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_af8719df6cec71f1884a4cfd6e616e066"><div class="ttname"><a href="structregisters__t.html#af8719df6cec71f1884a4cfd6e616e066">registers_t::useresp</a></div><div class="ttdeci">uint32_t useresp</div><div class="ttdoc">Pushed by the processor automatically.</div><div class="ttdef"><b>Definition:</b> isr.h:28</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_a8e99e934a82bfae46a74fd6cfccf33f5"><div class="ttname"><a href="structregisters__t.html#a8e99e934a82bfae46a74fd6cfccf33f5">registers_t::int_no</a></div><div class="ttdeci">uint32_t int_no</div><div class="ttdoc">Interrupt number.</div><div class="ttdef"><b>Definition:</b> isr.h:23</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_a2fd90ea98c1435017c17c924f580c089"><div class="ttname"><a href="structregisters__t.html#a2fd90ea98c1435017c17c924f580c089">registers_t::cs</a></div><div class="ttdeci">uint32_t cs</div><div class="ttdoc">Pushed by the processor automatically.</div><div class="ttdef"><b>Definition:</b> isr.h:26</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_a84391dc9350fbfb30b02d635546696e8"><div class="ttname"><a href="structregisters__t.html#a84391dc9350fbfb30b02d635546696e8">registers_t::ebx</a></div><div class="ttdeci">uint32_t ebx</div><div class="ttdoc">Pushed by pusha.</div><div class="ttdef"><b>Definition:</b> isr.h:19</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_af3d2cd0ef47376c87848a1497c779d45"><div class="ttname"><a href="structregisters__t.html#af3d2cd0ef47376c87848a1497c779d45">registers_t::esp</a></div><div class="ttdeci">uint32_t esp</div><div class="ttdoc">Pushed by pusha.</div><div class="ttdef"><b>Definition:</b> isr.h:18</div></div>
|
|
<div class="ttc" id="ai386_2isr_8h_html_aed0ecf87a0ed3270ce0e9c68cd01a946"><div class="ttname"><a href="i386_2isr_8h.html#aed0ecf87a0ed3270ce0e9c68cd01a946">isr_install</a></div><div class="ttdeci">void isr_install()</div><div class="ttdef"><b>Definition:</b> isr.c:25</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_a97c29a6c76373f09b839926a5d55a659"><div class="ttname"><a href="structregisters__t.html#a97c29a6c76373f09b839926a5d55a659">registers_t::ss</a></div><div class="ttdeci">uint32_t ss</div><div class="ttdoc">Pushed by the processor automatically.</div><div class="ttdef"><b>Definition:</b> isr.h:29</div></div>
|
|
<div class="ttc" id="astructregisters__t_html"><div class="ttname"><a href="structregisters__t.html">registers_t</a></div><div class="ttdef"><b>Definition:</b> isr.h:13</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_ab2d08df2d79ee5da0adbba49f4b4fc93"><div class="ttname"><a href="structregisters__t.html#ab2d08df2d79ee5da0adbba49f4b4fc93">registers_t::esi</a></div><div class="ttdeci">uint32_t esi</div><div class="ttdoc">Pushed by pusha.</div><div class="ttdef"><b>Definition:</b> isr.h:16</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_a6c531d5d89f3dfab8255cec001beef54"><div class="ttname"><a href="structregisters__t.html#a6c531d5d89f3dfab8255cec001beef54">registers_t::edx</a></div><div class="ttdeci">uint32_t edx</div><div class="ttdoc">Pushed by pusha.</div><div class="ttdef"><b>Definition:</b> isr.h:20</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_a306bd2b372d49bfd4c7d238d70f008de"><div class="ttname"><a href="structregisters__t.html#a306bd2b372d49bfd4c7d238d70f008de">registers_t::ds</a></div><div class="ttdeci">uint32_t ds</div><div class="ttdoc">Data segment selector.</div><div class="ttdef"><b>Definition:</b> isr.h:14</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_ac8298121612095b5f2649462bb01d6a6"><div class="ttname"><a href="structregisters__t.html#ac8298121612095b5f2649462bb01d6a6">registers_t::eip</a></div><div class="ttdeci">uint32_t eip</div><div class="ttdoc">Pushed by the processor automatically.</div><div class="ttdef"><b>Definition:</b> isr.h:25</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_af74793cc2103014e6f370ef29a1657d8"><div class="ttname"><a href="structregisters__t.html#af74793cc2103014e6f370ef29a1657d8">registers_t::eflags</a></div><div class="ttdeci">uint32_t eflags</div><div class="ttdoc">Pushed by the processor automatically.</div><div class="ttdef"><b>Definition:</b> isr.h:27</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_aa5edb9d0c62bdedca9f143c172845d48"><div class="ttname"><a href="structregisters__t.html#aa5edb9d0c62bdedca9f143c172845d48">registers_t::edi</a></div><div class="ttdeci">uint32_t edi</div><div class="ttdoc">Pushed by pusha.</div><div class="ttdef"><b>Definition:</b> isr.h:15</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_aad855f6a4d0a6914759c59b66cd763f6"><div class="ttname"><a href="structregisters__t.html#aad855f6a4d0a6914759c59b66cd763f6">registers_t::err_code</a></div><div class="ttdeci">uint32_t err_code</div><div class="ttdoc">Error code (if applicable)</div><div class="ttdef"><b>Definition:</b> isr.h:24</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_abdc4acd673970ed5c985ac2732f97c24"><div class="ttname"><a href="structregisters__t.html#abdc4acd673970ed5c985ac2732f97c24">registers_t::ecx</a></div><div class="ttdeci">uint32_t ecx</div><div class="ttdoc">Pushed by pusha.</div><div class="ttdef"><b>Definition:</b> isr.h:21</div></div>
|
|
<div class="ttc" id="astructregisters__t_html_aff130efb880979b18f2f4a8264afccde"><div class="ttname"><a href="structregisters__t.html#aff130efb880979b18f2f4a8264afccde">registers_t::ebp</a></div><div class="ttdeci">uint32_t ebp</div><div class="ttdoc">Pushed by pusha.</div><div class="ttdef"><b>Definition:</b> isr.h:17</div></div>
|
|
<div class="ttc" id="ai386_2isr_8h_html_a2ae93e6d11fda68bd746e046e2411a90"><div class="ttname"><a href="i386_2isr_8h.html#a2ae93e6d11fda68bd746e046e2411a90">isr_t</a></div><div class="ttdeci">void(* isr_t)(registers_t *)</div><div class="ttdoc">Type of an ISR handler function pointer.</div><div class="ttdef"><b>Definition:</b> isr.h:32</div></div>
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_dc43877d82dd332f9fb2071fcca799d6.html">kernel</a></li><li class="navelem"><a class="el" href="dir_de6efc35b99b831d558bda0d93c38d37.html">cpu</a></li><li class="navelem"><a class="el" href="dir_4f1b1f9de0a2e79802f54c784fb69b12.html">i386</a></li><li class="navelem"><a class="el" href="i386_2isr_8h.html">isr.h</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.18 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|