540 lines
35 KiB
HTML
540 lines
35 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: Kernel Interface Page</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('group__l4__kip__api.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">Kernel Interface Page <div class="ingroups"><a class="el" href="group__l4__api.html">Base API</a></div></div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Kernel Interface Page.
|
|
<a href="#details">More...</a></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>Collaboration diagram for Kernel Interface Page:</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="group__l4__kip__api.svg" width="498" height="51"><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-groups" class="groupheader"><a id="groups" name="groups"></a>
|
|
Topics</h2></td></tr>
|
|
<tr class="memitem:l4_5Fkip_5Fmemdesc_5Fapi" id="r_l4_5Fkip_5Fmemdesc_5Fapi"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__kip__memdesc__api.html">Memory descriptors (C version) </a></td></tr>
|
|
<tr class="memdesc:group__l4__kip__memdesc__api"><td class="mdescLeft"> </td><td class="mdescRight">C Interface for KIP memory descriptors. <br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
Data Structures</h2></td></tr>
|
|
<tr class="memitem:L4_3A_3AKip_3A_3AMem_5Fdesc" id="r_L4_3A_3AKip_3A_3AMem_5Fdesc"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4_1_1Kip_1_1Mem__desc.html">L4::Kip::Mem_desc</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Memory descriptors stored in the kernel interface page. <a href="classL4_1_1Kip_1_1Mem__desc.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:l4_5Fkernel_5Finfo_5Ft" id="r_l4_5Fkernel_5Finfo_5Ft"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> Kernel Interface Page. <a href="structl4__kernel__info__t.html#details">More...</a><br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-define-members" class="groupheader"><a id="define-members" name="define-members"></a>
|
|
Macros</h2></td></tr>
|
|
<tr class="memitem:ga2f628da69cbc2c40d624cc5f4cd0a182" id="r_ga2f628da69cbc2c40d624cc5f4cd0a182"><td class="memItemLeft" align="right" valign="top"><a id="ga2f628da69cbc2c40d624cc5f4cd0a182" name="ga2f628da69cbc2c40d624cc5f4cd0a182"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><b>L4_KERNEL_INFO_MAGIC</b>   (0x4BE6344CL) /* "L4µK" */</td></tr>
|
|
<tr class="memdesc:ga2f628da69cbc2c40d624cc5f4cd0a182"><td class="mdescLeft"> </td><td class="mdescRight">Kernel Info Page identifier ("L4µK"). <br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-typedef-members" class="groupheader"><a id="typedef-members" name="typedef-members"></a>
|
|
Typedefs</h2></td></tr>
|
|
<tr class="memitem:gab618f3bd23019ba3cc72b3d15d9bf187" id="r_gab618f3bd23019ba3cc72b3d15d9bf187"><td class="memItemLeft" align="right" valign="top">typedef struct l4_kernel_info_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#gab618f3bd23019ba3cc72b3d15d9bf187">l4_kernel_info_t</a></td></tr>
|
|
<tr class="memdesc:gab618f3bd23019ba3cc72b3d15d9bf187"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> Kernel Interface Page. <br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-enum-members" class="groupheader"><a id="enum-members" name="enum-members"></a>
|
|
Enumerations</h2></td></tr>
|
|
<tr class="memitem:ga3e33cabe47149bf05539220fdbb08d51" id="r_ga3e33cabe47149bf05539220fdbb08d51"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <a class="el" href="#gga3e33cabe47149bf05539220fdbb08d51ac78f55362d6b4ec2a7351e48d96bb33c">L4_KIP_OFFS_READ_US</a> = 0x900
|
|
, <a class="el" href="#gga3e33cabe47149bf05539220fdbb08d51a3be43baee1738b49640a7e3307609cfb">L4_KIP_OFFS_READ_NS</a> = 0x980
|
|
}</td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:ga6e23586433097cca1631cf085c396b95" id="r_ga6e23586433097cca1631cf085c396b95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> const * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga6e23586433097cca1631cf085c396b95">l4_kip</a> (void) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:ga6e23586433097cca1631cf085c396b95"><td class="mdescLeft"> </td><td class="mdescRight">Get Kernel Info Page. <br /></td></tr>
|
|
<tr class="memitem:gacc439209e0eaa49acd4c12ecd5399b93" id="r_gacc439209e0eaa49acd4c12ecd5399b93"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#gacc439209e0eaa49acd4c12ecd5399b93">l4_kip_version</a> (<a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> const *kip) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:gacc439209e0eaa49acd4c12ecd5399b93"><td class="mdescLeft"> </td><td class="mdescRight">Get the kernel version. <br /></td></tr>
|
|
<tr class="memitem:ga93a1b85e22b798e46f7608f59153895c" id="r_ga93a1b85e22b798e46f7608f59153895c"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga93a1b85e22b798e46f7608f59153895c">l4_kip_version_string</a> (<a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> const *kip) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:ga93a1b85e22b798e46f7608f59153895c"><td class="mdescLeft"> </td><td class="mdescRight">Get the kernel version string. <br /></td></tr>
|
|
<tr class="memitem:ga1af259277589e06845c682bff91563c8" id="r_ga1af259277589e06845c682bff91563c8"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga1af259277589e06845c682bff91563c8">l4_kernel_info_version_offset</a> (<a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> const *kip) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:ga1af259277589e06845c682bff91563c8"><td class="mdescLeft"> </td><td class="mdescRight">Return offset in bytes of version_strings relative to the KIP base. <br /></td></tr>
|
|
<tr class="memitem:gadeb6bfd4fa27bf58c9bd60302dbbb044" id="r_gadeb6bfd4fa27bf58c9bd60302dbbb044"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4__basic__types.html#ga6efe5a2c466cba633dbb23611b8eb458">l4_cpu_time_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#gadeb6bfd4fa27bf58c9bd60302dbbb044">l4_kip_clock</a> (<a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> const *kip) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:gadeb6bfd4fa27bf58c9bd60302dbbb044"><td class="mdescLeft"> </td><td class="mdescRight">Return clock value from the KIP. <br /></td></tr>
|
|
<tr class="memitem:ga1faebf3577d24a6ad580ab2bd1398222" id="r_ga1faebf3577d24a6ad580ab2bd1398222"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga1faebf3577d24a6ad580ab2bd1398222">l4_kip_clock_lw</a> (<a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> const *kip) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:ga1faebf3577d24a6ad580ab2bd1398222"><td class="mdescLeft"> </td><td class="mdescRight">Return least significant machine word of clock value from the KIP. <br /></td></tr>
|
|
<tr class="memitem:gae665c6bbba088a8332906557b8e419f1" id="r_gae665c6bbba088a8332906557b8e419f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4__basic__types.html#gaf3331c485014bd12a9e4f9d27a55e689">l4_uint64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#gae665c6bbba088a8332906557b8e419f1">l4_kip_clock_ns</a> (<a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> const *kip) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:gae665c6bbba088a8332906557b8e419f1"><td class="mdescLeft"> </td><td class="mdescRight">Return current clock using the KIP in nanoseconds. <br /></td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
|
<p>Kernel Interface Page. </p>
|
|
<p>C++ interface for the Kernel Interface Page:<br />
|
|
</p><dl class="section user"><dt>Include File</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include <<a class="code" href="kip.html">l4/sys/kip</a>></span> </div>
|
|
<div class="ttc" id="akip_html"><div class="ttname"><a href="kip.html">kip</a></div></div>
|
|
</div><!-- fragment --></dd></dl>
|
|
<p>C interface for the Kernel Interface Page:<br />
|
|
</p><dl class="section user"><dt>Include File</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include <<a class="code" href="sys_2kip_8h.html">l4/sys/kip.h</a>></span> </div>
|
|
<div class="ttc" id="asys_2kip_8h_html"><div class="ttname"><a href="sys_2kip_8h.html">kip.h</a></div><div class="ttdoc">Kernel Info Page access functions.</div></div>
|
|
</div><!-- fragment --> </dd></dl>
|
|
<a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
|
|
<a id="gab618f3bd23019ba3cc72b3d15d9bf187" name="gab618f3bd23019ba3cc72b3d15d9bf187"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gab618f3bd23019ba3cc72b3d15d9bf187">◆ </a></span>l4_kernel_info_t</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef struct l4_kernel_info_t l4_kernel_info_t</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> Kernel Interface Page. </p>
|
|
<p>32-bit architecture may assume that the upper 32 bits of addresses is 0 </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="doc-enum-members" id="doc-enum-members"></a><h2 id="header-doc-enum-members" class="groupheader">Enumeration Type Documentation</h2>
|
|
<a id="ga3e33cabe47149bf05539220fdbb08d51" name="ga3e33cabe47149bf05539220fdbb08d51"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga3e33cabe47149bf05539220fdbb08d51">◆ </a></span>anonymous enum</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">anonymous enum</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga3e33cabe47149bf05539220fdbb08d51ac78f55362d6b4ec2a7351e48d96bb33c" name="gga3e33cabe47149bf05539220fdbb08d51ac78f55362d6b4ec2a7351e48d96bb33c"></a>L4_KIP_OFFS_READ_US </td><td class="fielddoc"><p>Offset of KIP code (provided by the kernel) for reading the KIP clock in microseconds. </p>
|
|
<p>If the kernel is configured for a fine-grained KIP clock (CONFIG_SYNC_TSC enabled for IA32, ARM_SYNC_CLOCK for ARM), this code provides the KIP clock with microseconds granularity and accuracy by reading the hardware clock used by the kernel and transforming this value into microseconds. Otherwise this code just reads the KIP clock value. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="gga3e33cabe47149bf05539220fdbb08d51a3be43baee1738b49640a7e3307609cfb" name="gga3e33cabe47149bf05539220fdbb08d51a3be43baee1738b49640a7e3307609cfb"></a>L4_KIP_OFFS_READ_NS </td><td class="fielddoc"><p>Offset of KIP code (provided by the kernel) for reading the time stamp counter and transforming this value into nanoseconds. </p>
|
|
<p>If the kernel is configured for fine-grained KIP clock (CONFIG_SYNC enabled for IA32, ARM_SYNC_CLOCK for ARM), this code provides the KIP clock with nanoseconds granularity and accuracy by reading the hardware clock used by the kernel and transforming this value into nanoseconds. Otherwise this code just reads the KIP clock value and multiplies it by 1000. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="sys_2kip_8h_source.html#l00095">95</a> of file <a class="el" href="sys_2kip_8h_source.html">kip.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
|
|
<a id="ga1af259277589e06845c682bff91563c8" name="ga1af259277589e06845c682bff91563c8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga1af259277589e06845c682bff91563c8">◆ </a></span>l4_kernel_info_version_offset()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int l4_kernel_info_version_offset </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> const *</td> <td class="paramname"><span class="paramname"><em>kip</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>Return offset in bytes of version_strings relative to the KIP base. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">kip</td><td>Pointer to the kernel info page (KIP).</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>offset of version_strings relative to the KIP base address, in bytes. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="sys_2kip_8h_source.html#l00238">238</a> of file <a class="el" href="sys_2kip_8h_source.html">kip.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="sys_2kip_8h_source.html#l00234">l4_kip_version_string()</a>.</p>
|
|
<div id="dynsection-1" 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-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="group__l4__kip__api_ga1af259277589e06845c682bff91563c8_icgraph.svg" width="627" 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="ga6e23586433097cca1631cf085c396b95" name="ga6e23586433097cca1631cf085c396b95"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga6e23586433097cca1631cf085c396b95">◆ </a></span>l4_kip()</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__kernel__info__t.html">l4_kernel_info_t</a> const * l4_kip </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void</td> <td class="paramname"><span class="paramname"><em></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>Get Kernel Info Page. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointer to Kernel Info Page (KIP) structure. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="sys_2kip_8h_source.html#l00226">226</a> of file <a class="el" href="sys_2kip_8h_source.html">kip.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="env_8h_source.html#l00185">l4re_kip()</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 caller 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="group__l4__kip__api_ga6e23586433097cca1631cf085c396b95_icgraph.svg" width="695" height="108"><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="gadeb6bfd4fa27bf58c9bd60302dbbb044" name="gadeb6bfd4fa27bf58c9bd60302dbbb044"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gadeb6bfd4fa27bf58c9bd60302dbbb044">◆ </a></span>l4_kip_clock()</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="group__l4__basic__types.html#ga6efe5a2c466cba633dbb23611b8eb458">l4_cpu_time_t</a> l4_kip_clock </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> const *</td> <td class="paramname"><span class="paramname"><em>kip</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>Return clock value from the KIP. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">kip</td><td>Pointer to the kernel info page (KIP).</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Value of the clock field in the KIP.</dd></dl>
|
|
<p>The KIP clock always contains the current (relative) time in micro seconds independently of the CPU frequency. The clock is only guaranteed to be accurate within the scheduling granularity announced in the KIP.</p>
|
|
<p>This function basically calls the KIP code for reading the KIP clock with microseconds resolution. The accuracy depends on the platform and the kernel configuration.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#gga3e33cabe47149bf05539220fdbb08d51ac78f55362d6b4ec2a7351e48d96bb33c" title="Offset of KIP code (provided by the kernel) for reading the KIP clock in microseconds.">L4_KIP_OFFS_READ_US</a>. </dd></dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="examples_2libs_2shmc_2prodcons_8c-example.html#a9">examples/libs/shmc/prodcons.c</a>.</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="sys_2kip_8h_source.html#l00242">242</a> of file <a class="el" href="sys_2kip_8h_source.html">kip.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2kip_8h_source.html#l00105">L4_KIP_OFFS_READ_US</a>, and <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="sys_2kip_8h_source.html#l00261">l4_kip_clock_lw()</a>, <a class="el" href="poll__timeout__kipclock_source.html#l00051">L4::Poll_timeout_kipclock::set()</a>, and <a class="el" href="poll__timeout__kipclock_source.html#l00065">L4::Poll_timeout_kipclock::test()</a>.</p>
|
|
<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="group__l4__kip__api_gadeb6bfd4fa27bf58c9bd60302dbbb044_icgraph.svg" width="614" height="151"><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="ga1faebf3577d24a6ad580ab2bd1398222" name="ga1faebf3577d24a6ad580ab2bd1398222"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga1faebf3577d24a6ad580ab2bd1398222">◆ </a></span>l4_kip_clock_lw()</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="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> l4_kip_clock_lw </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> const *</td> <td class="paramname"><span class="paramname"><em>kip</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>Return least significant machine word of clock value from the KIP. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">kip</td><td>Pointer to the kernel info page (KIP).</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Lower machine word of clock value from the KIP.</dd></dl>
|
|
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated</a></b></dt><dd>Use <a class="el" href="#gadeb6bfd4fa27bf58c9bd60302dbbb044" title="Return clock value from the KIP.">l4_kip_clock()</a> instead.</dd></dl>
|
|
<p>This function will always provide the least significant machine word of the clock value from the KIP, regardless of the kernel configuration. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="sys_2kip_8h_source.html#l00261">261</a> of file <a class="el" href="sys_2kip_8h_source.html">kip.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2kip_8h_source.html#l00242">l4_kip_clock()</a>, and <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</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="group__l4__kip__api_ga1faebf3577d24a6ad580ab2bd1398222_cgraph.svg" width="286" 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="gae665c6bbba088a8332906557b8e419f1" name="gae665c6bbba088a8332906557b8e419f1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gae665c6bbba088a8332906557b8e419f1">◆ </a></span>l4_kip_clock_ns()</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="group__l4__basic__types.html#ga6efe5a2c466cba633dbb23611b8eb458">l4_cpu_time_t</a> l4_kip_clock_ns </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> const *</td> <td class="paramname"><span class="paramname"><em>kip</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>Return current clock using the KIP in nanoseconds. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">kip</td><td>Pointer to the kernel info page (KIP).</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Value of the current clock in nanoseconds.</dd></dl>
|
|
<p>This function basically calls the KIP code for reading the KIP clock with nanoseconds resolution. The accuracy depends on the platform and the kernel configuration.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#gga3e33cabe47149bf05539220fdbb08d51a3be43baee1738b49640a7e3307609cfb" title="Offset of KIP code (provided by the kernel) for reading the time stamp counter and transforming this ...">L4_KIP_OFFS_READ_NS</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="sys_2kip_8h_source.html#l00252">252</a> of file <a class="el" href="sys_2kip_8h_source.html">kip.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2kip_8h_source.html#l00116">L4_KIP_OFFS_READ_NS</a>, and <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gacc439209e0eaa49acd4c12ecd5399b93" name="gacc439209e0eaa49acd4c12ecd5399b93"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gacc439209e0eaa49acd4c12ecd5399b93">◆ </a></span>l4_kip_version()</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="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> l4_kip_version </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> const *</td> <td class="paramname"><span class="paramname"><em>kip</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>Get the kernel version. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">kip</td><td>Kernel Info Page.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Kernel version string. 0 if KIP could not be mapped. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="sys_2kip_8h_source.html#l00230">230</a> of file <a class="el" href="sys_2kip_8h_source.html">kip.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga93a1b85e22b798e46f7608f59153895c" name="ga93a1b85e22b798e46f7608f59153895c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga93a1b85e22b798e46f7608f59153895c">◆ </a></span>l4_kip_version_string()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const char * l4_kip_version_string </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> const *</td> <td class="paramname"><span class="paramname"><em>kip</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>Get the kernel version string. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">kip</td><td>Kernel Info Page.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Kernel version string. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="sys_2kip_8h_source.html#l00234">234</a> of file <a class="el" href="sys_2kip_8h_source.html">kip.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="sys_2kip_8h_source.html#l00238">l4_kernel_info_version_offset()</a>, and <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="sys_2kip_8h_source.html#l00286">l4_kip_kernel_has_feature()</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="group__l4__kip__api_ga93a1b85e22b798e46f7608f59153895c_cgraph.svg" width="387" 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 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 caller 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="group__l4__kip__api_ga93a1b85e22b798e46f7608f59153895c_icgraph.svg" width="411" 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>
|
|
</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="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>
|