1059 lines
60 KiB
HTML
1059 lines
60 KiB
HTML
<!-- HTML header for doxygen 1.9.1-->
|
|
<!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.15.0"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>L4Re Operating System Framework: L4vcpu::Vcpu Class 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="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript" src="cookie.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" />
|
|
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
<link href="l4re-awesome.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="projectlogo"><img alt="Logo" src="L4Re_rgb_logo_quer_hg_h55.png"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">L4Re Operating System Framework
|
|
</div>
|
|
<div id="projectbrief">Interface and Usage Documentation</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.15.0 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
</script>
|
|
<script type="text/javascript">
|
|
$(function() { codefold.init(); });
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search',true);
|
|
$(function() { init_search(); });
|
|
});
|
|
</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">
|
|
$(function(){initNavTree('classL4vcpu_1_1Vcpu.html','',''); });
|
|
</script>
|
|
<div id="container">
|
|
<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">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="headertitle"><div class="title">L4vcpu::Vcpu Class Reference<div class="ingroups"><a class="el" href="group__api__libvcpu.html">vCPU Support Library</a></div></div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>C++ implementation of the vCPU save state area.
|
|
<a href="#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="vcpu_source.html">vcpu</a>></code></p>
|
|
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Inheritance diagram for L4vcpu::Vcpu:</div>
|
|
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classL4vcpu_1_1Vcpu__inherit__graph.svg" width="159" height="650"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
<div id="dynsection-1" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for L4vcpu::Vcpu:</div>
|
|
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classL4vcpu_1_1Vcpu__coll__graph.svg" width="471" height="1243"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a64b8c738ca6779f7c034b7b8d5446b03" id="r_a64b8c738ca6779f7c034b7b8d5446b03"><td class="memItemLeft" align="right" valign="top"><a id="a64b8c738ca6779f7c034b7b8d5446b03" name="a64b8c738ca6779f7c034b7b8d5446b03"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><b>irq_disable</b> () throw ()</td></tr>
|
|
<tr class="memdesc:a64b8c738ca6779f7c034b7b8d5446b03"><td class="mdescLeft"> </td><td class="mdescRight">Disable the vCPU for event delivery. <br /></td></tr>
|
|
<tr class="memitem:a05a251f7ecc0852035f2db1cd8b23188" id="r_a05a251f7ecc0852035f2db1cd8b23188"><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="#a05a251f7ecc0852035f2db1cd8b23188">irq_disable_save</a> () throw ()</td></tr>
|
|
<tr class="memdesc:a05a251f7ecc0852035f2db1cd8b23188"><td class="mdescLeft"> </td><td class="mdescRight">Disable the vCPU for event delivery and return previous state. <br /></td></tr>
|
|
<tr class="memitem:a12f2e064e141e2a9f40ff1ab7fd31a11" id="r_a12f2e064e141e2a9f40ff1ab7fd31a11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classL4vcpu_1_1State.html">State</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a12f2e064e141e2a9f40ff1ab7fd31a11">state</a> () throw ()</td></tr>
|
|
<tr class="memdesc:a12f2e064e141e2a9f40ff1ab7fd31a11"><td class="mdescLeft"> </td><td class="mdescRight">Get state word. <br /></td></tr>
|
|
<tr class="memitem:a6dd59776e4b4c983a78282f98e799015" id="r_a6dd59776e4b4c983a78282f98e799015"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classL4vcpu_1_1State.html">State</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6dd59776e4b4c983a78282f98e799015">state</a> () const throw ()</td></tr>
|
|
<tr class="memdesc:a6dd59776e4b4c983a78282f98e799015"><td class="mdescLeft"> </td><td class="mdescRight">Get state word. <br /></td></tr>
|
|
<tr class="memitem:af282f0489ad036cb5144e1159237b2f1" id="r_af282f0489ad036cb5144e1159237b2f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classL4vcpu_1_1State.html">State</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#af282f0489ad036cb5144e1159237b2f1">saved_state</a> () throw ()</td></tr>
|
|
<tr class="memdesc:af282f0489ad036cb5144e1159237b2f1"><td class="mdescLeft"> </td><td class="mdescRight">Get saved_state word. <br /></td></tr>
|
|
<tr class="memitem:af58de93ab3e482ce63391f30a00f4e4e" id="r_af58de93ab3e482ce63391f30a00f4e4e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classL4vcpu_1_1State.html">State</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#af58de93ab3e482ce63391f30a00f4e4e">saved_state</a> () const throw ()</td></tr>
|
|
<tr class="memdesc:af58de93ab3e482ce63391f30a00f4e4e"><td class="mdescLeft"> </td><td class="mdescRight">Get saved_state word. <br /></td></tr>
|
|
<tr class="memitem:ae99fd1547c6c31cd6d7b7722514a1fc6" id="r_ae99fd1547c6c31cd6d7b7722514a1fc6"><td class="memItemLeft" align="right" valign="top"><a id="ae99fd1547c6c31cd6d7b7722514a1fc6" name="ae99fd1547c6c31cd6d7b7722514a1fc6"></a>
|
|
<a class="el" href="group__l4__basic__types.html#gae8d67914f723bf843df6f311ad2619a2">l4_uint16_t</a> </td><td class="memItemRight" valign="bottom"><b>sticky_flags</b> () const throw ()</td></tr>
|
|
<tr class="memdesc:ae99fd1547c6c31cd6d7b7722514a1fc6"><td class="mdescLeft"> </td><td class="mdescRight">Get sticky flags. <br /></td></tr>
|
|
<tr class="memitem:a9776fe5423e6215779e321a921a9ac90" id="r_a9776fe5423e6215779e321a921a9ac90"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9776fe5423e6215779e321a921a9ac90">irq_enable</a> (<a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb, l4vcpu_event_hndl_t do_event_work_cb, l4vcpu_setup_ipc_t setup_ipc) throw ()</td></tr>
|
|
<tr class="memdesc:a9776fe5423e6215779e321a921a9ac90"><td class="mdescLeft"> </td><td class="mdescRight">Enable the vCPU for event delivery. <br /></td></tr>
|
|
<tr class="memitem:af180fbb0106c7727a255eb8185dbe981" id="r_af180fbb0106c7727a255eb8185dbe981"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#af180fbb0106c7727a255eb8185dbe981">irq_restore</a> (unsigned s, <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb, l4vcpu_event_hndl_t do_event_work_cb, l4vcpu_setup_ipc_t setup_ipc) throw ()</td></tr>
|
|
<tr class="memdesc:af180fbb0106c7727a255eb8185dbe981"><td class="mdescLeft"> </td><td class="mdescRight">Restore a previously saved IRQ/event state. <br /></td></tr>
|
|
<tr class="memitem:a9b41fa338e4fbef40bf2399355b68ce0" id="r_a9b41fa338e4fbef40bf2399355b68ce0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9b41fa338e4fbef40bf2399355b68ce0">wait_for_event</a> (<a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb, l4vcpu_event_hndl_t do_event_work_cb, l4vcpu_setup_ipc_t setup_ipc) throw ()</td></tr>
|
|
<tr class="memdesc:a9b41fa338e4fbef40bf2399355b68ce0"><td class="mdescLeft"> </td><td class="mdescRight">Wait for event. <br /></td></tr>
|
|
<tr class="memitem:ad3ef11adf9662db3feed1b40208032eb" id="r_ad3ef11adf9662db3feed1b40208032eb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad3ef11adf9662db3feed1b40208032eb">task</a> (<a class="el" href="classL4_1_1Cap.html">L4::Cap</a>< <a class="el" href="classL4_1_1Task.html">L4::Task</a> > const task=<a class="el" href="classL4_1_1Cap.html">L4::Cap</a>< <a class="el" href="classL4_1_1Task.html">L4::Task</a> >::Invalid) throw ()</td></tr>
|
|
<tr class="memdesc:ad3ef11adf9662db3feed1b40208032eb"><td class="mdescLeft"> </td><td class="mdescRight">Set the task of the vCPU. <br /></td></tr>
|
|
<tr class="memitem:af4e2482db06b36722046e173a09c7ae9" id="r_af4e2482db06b36722046e173a09c7ae9"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#af4e2482db06b36722046e173a09c7ae9">is_page_fault_entry</a> () const</td></tr>
|
|
<tr class="memdesc:af4e2482db06b36722046e173a09c7ae9"><td class="mdescLeft"> </td><td class="mdescRight">Return whether the entry reason was a page fault. <br /></td></tr>
|
|
<tr class="memitem:a454e797844fe8ab7113c6241725055e4" id="r_a454e797844fe8ab7113c6241725055e4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a454e797844fe8ab7113c6241725055e4">is_irq_entry</a> () const</td></tr>
|
|
<tr class="memdesc:a454e797844fe8ab7113c6241725055e4"><td class="mdescLeft"> </td><td class="mdescRight">Return whether the entry reason was an IRQ/IPC message. <br /></td></tr>
|
|
<tr class="memitem:a847e056fb68946f30bf50e6d87ac5e51" id="r_a847e056fb68946f30bf50e6d87ac5e51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__vcpu__regs__t.html">l4_vcpu_regs_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a847e056fb68946f30bf50e6d87ac5e51">r</a> () throw ()</td></tr>
|
|
<tr class="memdesc:a847e056fb68946f30bf50e6d87ac5e51"><td class="mdescLeft"> </td><td class="mdescRight">Return pointer to register state. <br /></td></tr>
|
|
<tr class="memitem:a7d968f631a37acca700b3ebc8fedba5d" id="r_a7d968f631a37acca700b3ebc8fedba5d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__vcpu__regs__t.html">l4_vcpu_regs_t</a> const * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7d968f631a37acca700b3ebc8fedba5d">r</a> () const throw ()</td></tr>
|
|
<tr class="memdesc:a7d968f631a37acca700b3ebc8fedba5d"><td class="mdescLeft"> </td><td class="mdescRight">Return pointer to register state. <br /></td></tr>
|
|
<tr class="memitem:a7124bd8c387b3517b8c157c961b94ea8" id="r_a7124bd8c387b3517b8c157c961b94ea8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__vcpu__ipc__regs__t.html">l4_vcpu_ipc_regs_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7124bd8c387b3517b8c157c961b94ea8">i</a> () throw ()</td></tr>
|
|
<tr class="memdesc:a7124bd8c387b3517b8c157c961b94ea8"><td class="mdescLeft"> </td><td class="mdescRight">Return pointer to IPC state. <br /></td></tr>
|
|
<tr class="memitem:a0610615b55a3c4a5c60f2cd082a5b0b3" id="r_a0610615b55a3c4a5c60f2cd082a5b0b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__vcpu__ipc__regs__t.html">l4_vcpu_ipc_regs_t</a> const * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0610615b55a3c4a5c60f2cd082a5b0b3">i</a> () const throw ()</td></tr>
|
|
<tr class="memdesc:a0610615b55a3c4a5c60f2cd082a5b0b3"><td class="mdescLeft"> </td><td class="mdescRight">Return pointer to IPC state. <br /></td></tr>
|
|
<tr class="memitem:a9e09487d2a068815cab8af4df5efe0a8" id="r_a9e09487d2a068815cab8af4df5efe0a8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9e09487d2a068815cab8af4df5efe0a8">entry_sp</a> (<a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> sp)</td></tr>
|
|
<tr class="memdesc:a9e09487d2a068815cab8af4df5efe0a8"><td class="mdescLeft"> </td><td class="mdescRight">Set vCPU entry stack pointer. <br /></td></tr>
|
|
<tr class="memitem:a8b80a393ef89fe4b654d957bc61a046a" id="r_a8b80a393ef89fe4b654d957bc61a046a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8b80a393ef89fe4b654d957bc61a046a">entry_ip</a> (<a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> ip)</td></tr>
|
|
<tr class="memdesc:a8b80a393ef89fe4b654d957bc61a046a"><td class="mdescLeft"> </td><td class="mdescRight">Set vCPU entry instruction pointer. <br /></td></tr>
|
|
<tr class="memitem:ac54c8a3226660bf4c38ae15369c48bbf" id="r_ac54c8a3226660bf4c38ae15369c48bbf"><td class="memItemLeft" align="right" valign="top"><a id="ac54c8a3226660bf4c38ae15369c48bbf" name="ac54c8a3226660bf4c38ae15369c48bbf"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><b>print_state</b> (const char *prefix="") const throw ()</td></tr>
|
|
<tr class="memdesc:ac54c8a3226660bf4c38ae15369c48bbf"><td class="mdescLeft"> </td><td class="mdescRight">Print the state of the vCPU. <br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-pub-static-methods" class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
|
|
Static Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a55041ded3fa29604e7cf3d845c14ad92" id="r_a55041ded3fa29604e7cf3d845c14ad92"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a55041ded3fa29604e7cf3d845c14ad92">ext_alloc</a> (<a class="el" href="classL4vcpu_1_1Vcpu.html">Vcpu</a> **vcpu, <a class="el" href="group__l4__basic__types.html#ga4087b991c40c0d2fcde9ca331049a4d4">l4_addr_t</a> *ext_state, <a class="el" href="classL4_1_1Cap.html">L4::Cap</a>< <a class="el" href="classL4_1_1Task.html">L4::Task</a> > <a class="el" href="#ad3ef11adf9662db3feed1b40208032eb">task</a>=<a class="el" href="classL4Re_1_1Env.html#a2706ca11e70845b0a29a5646c9fd54bc">L4Re::Env::env</a>() -><a class="el" href="#ad3ef11adf9662db3feed1b40208032eb">task</a>(), <a class="el" href="classL4_1_1Cap.html">L4::Cap</a>< <a class="el" href="classL4Re_1_1Rm.html">L4Re::Rm</a> > rm=<a class="el" href="classL4Re_1_1Env.html#a2706ca11e70845b0a29a5646c9fd54bc">L4Re::Env::env</a>() ->rm()) throw ()</td></tr>
|
|
<tr class="memdesc:a55041ded3fa29604e7cf3d845c14ad92"><td class="mdescLeft"> </td><td class="mdescRight">Allocate state area for an extended vCPU. <br /></td></tr>
|
|
<tr class="memitem:a2cffae209f093fc6d4745204f5a0f134" id="r_a2cffae209f093fc6d4745204f5a0f134"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classL4vcpu_1_1Vcpu.html">Vcpu</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2cffae209f093fc6d4745204f5a0f134">cast</a> (void *x) throw ()</td></tr>
|
|
<tr class="memdesc:a2cffae209f093fc6d4745204f5a0f134"><td class="mdescLeft"> </td><td class="mdescRight">Cast a void pointer to a class pointer. <br /></td></tr>
|
|
<tr class="memitem:a76c79f3b55c1bf74797caef61f67086f" id="r_a76c79f3b55c1bf74797caef61f67086f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classL4vcpu_1_1Vcpu.html">Vcpu</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a76c79f3b55c1bf74797caef61f67086f">cast</a> (<a class="el" href="group__l4__basic__types.html#ga4087b991c40c0d2fcde9ca331049a4d4">l4_addr_t</a> x) throw ()</td></tr>
|
|
<tr class="memdesc:a76c79f3b55c1bf74797caef61f67086f"><td class="mdescLeft"> </td><td class="mdescRight">Cast an address to a class pointer. <br /></td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>C++ implementation of the vCPU save state area. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00065">65</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
|
|
<a id="a76c79f3b55c1bf74797caef61f67086f" name="a76c79f3b55c1bf74797caef61f67086f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a76c79f3b55c1bf74797caef61f67086f">◆ </a></span>cast() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classL4vcpu_1_1Vcpu.html">Vcpu</a> * L4vcpu::Vcpu::cast </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__basic__types.html#ga4087b991c40c0d2fcde9ca331049a4d4">l4_addr_t</a></td> <td class="paramname"><span class="paramname"><em>x</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel static">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Cast an address to a class pointer. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">x</td><td>Pointer.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointer to <a class="el" href="classL4vcpu_1_1Vcpu.html" title="C++ implementation of the vCPU save state area.">Vcpu</a> class. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00269">269</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2cffae209f093fc6d4745204f5a0f134" name="a2cffae209f093fc6d4745204f5a0f134"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2cffae209f093fc6d4745204f5a0f134">◆ </a></span>cast() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classL4vcpu_1_1Vcpu.html">Vcpu</a> * L4vcpu::Vcpu::cast </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void *</td> <td class="paramname"><span class="paramname"><em>x</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel static">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Cast a void pointer to a class pointer. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">x</td><td>Pointer.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointer to <a class="el" href="classL4vcpu_1_1Vcpu.html" title="C++ implementation of the vCPU save state area.">Vcpu</a> class. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00259">259</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="vcpu_source.html#l00259">cast()</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="vcpu_source.html#l00259">cast()</a>.</p>
|
|
<div id="dynsection-2" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-2-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-2-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classL4vcpu_1_1Vcpu_a2cffae209f093fc6d4745204f5a0f134_cgraph.svg" width="154" height="60"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
<div id="dynsection-3" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the caller graph for this function:</div>
|
|
<div id="dynsection-3-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-3-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classL4vcpu_1_1Vcpu_a2cffae209f093fc6d4745204f5a0f134_icgraph.svg" width="154" height="60"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8b80a393ef89fe4b654d957bc61a046a" name="a8b80a393ef89fe4b654d957bc61a046a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8b80a393ef89fe4b654d957bc61a046a">◆ </a></span>entry_ip()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void L4vcpu::Vcpu::entry_ip </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a></td> <td class="paramname"><span class="paramname"><em>ip</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Set vCPU entry instruction pointer. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">ip</td><td>Instruction pointer address to set. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00232">232</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2vcpu_8h_source.html#l00092">l4_vcpu_state_t::entry_ip</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9e09487d2a068815cab8af4df5efe0a8" name="a9e09487d2a068815cab8af4df5efe0a8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9e09487d2a068815cab8af4df5efe0a8">◆ </a></span>entry_sp()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void L4vcpu::Vcpu::entry_sp </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a></td> <td class="paramname"><span class="paramname"><em>sp</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Set vCPU entry stack pointer. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">sp</td><td>Stack pointer address to set.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section note"><dt>Note</dt><dd>The value is only used when entering from a user-task. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00225">225</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2vcpu_8h_source.html#l00091">l4_vcpu_state_t::entry_sp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a55041ded3fa29604e7cf3d845c14ad92" name="a55041ded3fa29604e7cf3d845c14ad92"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a55041ded3fa29604e7cf3d845c14ad92">◆ </a></span>ext_alloc()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int L4vcpu::Vcpu::ext_alloc </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classL4vcpu_1_1Vcpu.html">Vcpu</a> **</td> <td class="paramname"><span class="paramname"><em>vcpu</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__l4__basic__types.html#ga4087b991c40c0d2fcde9ca331049a4d4">l4_addr_t</a> *</td> <td class="paramname"><span class="paramname"><em>ext_state</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classL4_1_1Cap.html">L4::Cap</a>< <a class="el" href="classL4_1_1Task.html">L4::Task</a> ></td> <td class="paramname"><span class="paramname"><em>task</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="classL4Re_1_1Env.html#a2706ca11e70845b0a29a5646c9fd54bc">L4Re::Env::env</a>() -><a class="el" href="#ad3ef11adf9662db3feed1b40208032eb">task</a>()</span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classL4_1_1Cap.html">L4::Cap</a>< <a class="el" href="classL4Re_1_1Rm.html">L4Re::Rm</a> ></td> <td class="paramname"><span class="paramname"><em>rm</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="classL4Re_1_1Env.html#a2706ca11e70845b0a29a5646c9fd54bc">L4Re::Env::env</a>() ->rm()</span> )</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Allocate state area for an extended vCPU. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">vcpu</td><td>Allocated vcpu-state area. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">ext_state</td><td>Allocated extended vcpu-state area. </td></tr>
|
|
<tr><td class="paramdir"></td><td class="paramname">task</td><td>Task to use for allocation, defaults to own task. </td></tr>
|
|
<tr><td class="paramdir"></td><td class="paramname">rm</td><td>Region manager to use for allocation defaults to standard region manager.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>0 for success, error code otherwise </dd></dl>
|
|
|
|
<p class="reference">References <a class="el" href="env_source.html#l00096">L4Re::Env::env()</a>, and <a class="el" href="vcpu_source.html#l00174">task()</a>.</p>
|
|
<div id="dynsection-4" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-4-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-4-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classL4vcpu_1_1Vcpu_a55041ded3fa29604e7cf3d845c14ad92_cgraph.svg" width="378" height="110"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7124bd8c387b3517b8c157c961b94ea8" name="a7124bd8c387b3517b8c157c961b94ea8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7124bd8c387b3517b8c157c961b94ea8">◆ </a></span>i() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structl4__vcpu__ipc__regs__t.html">l4_vcpu_ipc_regs_t</a> * L4vcpu::Vcpu::i </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Return pointer to IPC state. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointer to IPC state. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00209">209</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2vcpu_8h_source.html#l00082">l4_vcpu_state_t::i</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0610615b55a3c4a5c60f2cd082a5b0b3" name="a0610615b55a3c4a5c60f2cd082a5b0b3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0610615b55a3c4a5c60f2cd082a5b0b3">◆ </a></span>i() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structl4__vcpu__ipc__regs__t.html">l4_vcpu_ipc_regs_t</a> const * L4vcpu::Vcpu::i </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Return pointer to IPC state. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointer to IPC state. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00216">216</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2vcpu_8h_source.html#l00082">l4_vcpu_state_t::i</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a05a251f7ecc0852035f2db1cd8b23188" name="a05a251f7ecc0852035f2db1cd8b23188"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a05a251f7ecc0852035f2db1cd8b23188">◆ </a></span>irq_disable_save()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">unsigned L4vcpu::Vcpu::irq_disable_save </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Disable the vCPU for event delivery and return previous state. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>IRQ state before disabling IRQs. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00078">78</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="vcpu_2vcpu_8h_source.html#l00209">l4vcpu_irq_disable_save()</a>.</p>
|
|
<div id="dynsection-5" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-5-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-5-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classL4vcpu_1_1Vcpu_a05a251f7ecc0852035f2db1cd8b23188_cgraph.svg" width="788" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9776fe5423e6215779e321a921a9ac90" name="a9776fe5423e6215779e321a921a9ac90"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9776fe5423e6215779e321a921a9ac90">◆ </a></span>irq_enable()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void L4vcpu::Vcpu::irq_enable </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *</td> <td class="paramname"><span class="paramname"><em>utcb</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">l4vcpu_event_hndl_t</td> <td class="paramname"><span class="paramname"><em>do_event_work_cb</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">l4vcpu_setup_ipc_t</td> <td class="paramname"><span class="paramname"><em>setup_ipc</em></span> )</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Enable the vCPU for event delivery. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">utcb</td><td>The UTCB to use. </td></tr>
|
|
<tr><td class="paramname">do_event_work_cb</td><td>Call-back function that is called in case an event (such as an interrupt) is pending. </td></tr>
|
|
<tr><td class="paramname">setup_ipc</td><td>Call-back function that is called before an IPC operation is called, and before event delivery is enabled. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00135">135</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="vcpu_2vcpu_8h_source.html#l00232">l4vcpu_irq_enable()</a>.</p>
|
|
<div id="dynsection-6" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-6-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-6-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classL4vcpu_1_1Vcpu_a9776fe5423e6215779e321a921a9ac90_cgraph.svg" width="515" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af180fbb0106c7727a255eb8185dbe981" name="af180fbb0106c7727a255eb8185dbe981"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af180fbb0106c7727a255eb8185dbe981">◆ </a></span>irq_restore()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void L4vcpu::Vcpu::irq_restore </td>
|
|
<td>(</td>
|
|
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>s</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *</td> <td class="paramname"><span class="paramname"><em>utcb</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">l4vcpu_event_hndl_t</td> <td class="paramname"><span class="paramname"><em>do_event_work_cb</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">l4vcpu_setup_ipc_t</td> <td class="paramname"><span class="paramname"><em>setup_ipc</em></span> )</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Restore a previously saved IRQ/event state. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">s</td><td>IRQ state to be restored. </td></tr>
|
|
<tr><td class="paramname">utcb</td><td>The UTCB to use. </td></tr>
|
|
<tr><td class="paramname">do_event_work_cb</td><td>Call-back function that is called in case an event (such as an interrupt) is pending. </td></tr>
|
|
<tr><td class="paramname">setup_ipc</td><td>Call-back function that is called before an IPC operation is called, and before event delivery is enabled. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00150">150</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="vcpu_2vcpu_8h_source.html#l00257">l4vcpu_irq_restore()</a>.</p>
|
|
<div id="dynsection-7" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-7-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-7-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classL4vcpu_1_1Vcpu_af180fbb0106c7727a255eb8185dbe981_cgraph.svg" width="711" height="86"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a454e797844fe8ab7113c6241725055e4" name="a454e797844fe8ab7113c6241725055e4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a454e797844fe8ab7113c6241725055e4">◆ </a></span>is_irq_entry()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int L4vcpu::Vcpu::is_irq_entry </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Return whether the entry reason was an IRQ/IPC message. </p>
|
|
<p>return 0 if not, !=0 otherwise. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00188">188</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="group__api__libvcpu.html#ga55f7fc7f6496002375240e2354ecb807">l4vcpu_is_irq_entry()</a>.</p>
|
|
<div id="dynsection-8" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-8-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-8-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classL4vcpu_1_1Vcpu_a454e797844fe8ab7113c6241725055e4_cgraph.svg" width="358" height="51"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af4e2482db06b36722046e173a09c7ae9" name="af4e2482db06b36722046e173a09c7ae9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af4e2482db06b36722046e173a09c7ae9">◆ </a></span>is_page_fault_entry()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int L4vcpu::Vcpu::is_page_fault_entry </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Return whether the entry reason was a page fault. </p>
|
|
<p>return 0 if not, !=0 otherwise. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00181">181</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="group__api__libvcpu.html#gab5156a117efc0b4760e81e99938a2dc1">l4vcpu_is_page_fault_entry()</a>.</p>
|
|
<div id="dynsection-9" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-9-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-9-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classL4vcpu_1_1Vcpu_af4e2482db06b36722046e173a09c7ae9_cgraph.svg" width="384" height="51"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a847e056fb68946f30bf50e6d87ac5e51" name="a847e056fb68946f30bf50e6d87ac5e51"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a847e056fb68946f30bf50e6d87ac5e51">◆ </a></span>r() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structl4__vcpu__regs__t.html">l4_vcpu_regs_t</a> * L4vcpu::Vcpu::r </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Return pointer to register state. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointer to register state. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00195">195</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2vcpu_8h_source.html#l00081">l4_vcpu_state_t::r</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7d968f631a37acca700b3ebc8fedba5d" name="a7d968f631a37acca700b3ebc8fedba5d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7d968f631a37acca700b3ebc8fedba5d">◆ </a></span>r() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structl4__vcpu__regs__t.html">l4_vcpu_regs_t</a> const * L4vcpu::Vcpu::r </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Return pointer to register state. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointer to register state. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00202">202</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2vcpu_8h_source.html#l00081">l4_vcpu_state_t::r</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af282f0489ad036cb5144e1159237b2f1" name="af282f0489ad036cb5144e1159237b2f1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af282f0489ad036cb5144e1159237b2f1">◆ </a></span>saved_state() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classL4vcpu_1_1State.html">State</a> * L4vcpu::Vcpu::saved_state </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get saved_state word. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointer to saved_state word in the vCPU </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00106">106</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2vcpu_8h_source.html#l00085">l4_vcpu_state_t::saved_state</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af58de93ab3e482ce63391f30a00f4e4e" name="af58de93ab3e482ce63391f30a00f4e4e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af58de93ab3e482ce63391f30a00f4e4e">◆ </a></span>saved_state() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classL4vcpu_1_1State.html">State</a> L4vcpu::Vcpu::saved_state </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get saved_state word. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointer to saved_state word in the vCPU </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00116">116</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2vcpu_8h_source.html#l00085">l4_vcpu_state_t::saved_state</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a12f2e064e141e2a9f40ff1ab7fd31a11" name="a12f2e064e141e2a9f40ff1ab7fd31a11"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a12f2e064e141e2a9f40ff1ab7fd31a11">◆ </a></span>state() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classL4vcpu_1_1State.html">State</a> * L4vcpu::Vcpu::state </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get state word. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointer to state word in the vCPU </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00088">88</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2vcpu_8h_source.html#l00084">l4_vcpu_state_t::state</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6dd59776e4b4c983a78282f98e799015" name="a6dd59776e4b4c983a78282f98e799015"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6dd59776e4b4c983a78282f98e799015">◆ </a></span>state() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classL4vcpu_1_1State.html">State</a> L4vcpu::Vcpu::state </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get state word. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointer to state word in the vCPU </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00099">99</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2vcpu_8h_source.html#l00084">l4_vcpu_state_t::state</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad3ef11adf9662db3feed1b40208032eb" name="ad3ef11adf9662db3feed1b40208032eb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad3ef11adf9662db3feed1b40208032eb">◆ </a></span>task()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void L4vcpu::Vcpu::task </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classL4_1_1Cap.html">L4::Cap</a>< <a class="el" href="classL4_1_1Task.html">L4::Task</a> > const</td> <td class="paramname"><span class="paramname"><em>task</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="classL4_1_1Cap.html">L4::Cap</a><<a class="el" href="classL4_1_1Task.html">L4::Task</a>>::Invalid</span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Set the task of the vCPU. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">task</td><td>Task to set, defaults to invalid task. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00174">174</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="capability_8h_source.html#l00042">L4::Cap_base::Invalid</a>, <a class="el" href="vcpu_source.html#l00174">task()</a>, and <a class="el" href="sys_2vcpu_8h_source.html#l00089">l4_vcpu_state_t::user_task</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="#a55041ded3fa29604e7cf3d845c14ad92">ext_alloc()</a>, and <a class="el" href="vcpu_source.html#l00174">task()</a>.</p>
|
|
<div id="dynsection-10" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-10-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-10-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classL4vcpu_1_1Vcpu_ad3ef11adf9662db3feed1b40208032eb_cgraph.svg" width="155" height="60"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
<div id="dynsection-11" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the caller graph for this function:</div>
|
|
<div id="dynsection-11-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-11-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classL4vcpu_1_1Vcpu_ad3ef11adf9662db3feed1b40208032eb_icgraph.svg" width="378" height="60"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9b41fa338e4fbef40bf2399355b68ce0" name="a9b41fa338e4fbef40bf2399355b68ce0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9b41fa338e4fbef40bf2399355b68ce0">◆ </a></span>wait_for_event()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void L4vcpu::Vcpu::wait_for_event </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *</td> <td class="paramname"><span class="paramname"><em>utcb</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">l4vcpu_event_hndl_t</td> <td class="paramname"><span class="paramname"><em>do_event_work_cb</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">l4vcpu_setup_ipc_t</td> <td class="paramname"><span class="paramname"><em>setup_ipc</em></span> )</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">throw </td><td>(</td><td colspan="2"> )</td><td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Wait for event. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">utcb</td><td>The UTCB to use. </td></tr>
|
|
<tr><td class="paramname">do_event_work_cb</td><td>Call-back function that is called in case an event (such as an interrupt) is pending. </td></tr>
|
|
<tr><td class="paramname">setup_ipc</td><td>Call-back function that is called before an IPC operation is called.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>Note that event delivery remains disabled after this function returns. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcpu_source.html#l00166">166</a> of file <a class="el" href="vcpu_source.html">vcpu</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="vcpu_2vcpu_8h_source.html#l00270">l4vcpu_wait_for_event()</a>.</p>
|
|
<div id="dynsection-12" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-12-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-12-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classL4vcpu_1_1Vcpu_a9b41fa338e4fbef40bf2399355b68ce0_cgraph.svg" width="372" height="51"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li>l4/vcpu/<a class="el" href="vcpu_source.html">vcpu</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<div id="page-nav" class="page-nav-panel">
|
|
<div id="page-nav-resize-handle"></div>
|
|
<div id="page-nav-tree">
|
|
<div id="page-nav-contents">
|
|
</div><!-- page-nav-contents -->
|
|
</div><!-- page-nav-tree -->
|
|
</div><!-- page-nav -->
|
|
</div><!-- container -->
|
|
<!-- HTML footer for doxygen 1.9.1-->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><b>L4vcpu</b></li><li class="navelem"><a href="classL4vcpu_1_1Vcpu.html">Vcpu</a></li>
|
|
<li class="footer">Generated on <span class="timestamp"></span> for L4Re Operating System Framework by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|