l4re-base-25.08.0

This commit is contained in:
2025-09-12 15:55:45 +02:00
commit d959eaab98
37938 changed files with 9382688 additions and 0 deletions

View File

@@ -0,0 +1,287 @@
<!-- 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: l4/sys/kip Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="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('kip_source.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">kip</div></div>
</div><!--header-->
<div class="contents">
<a href="kip.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">// vim:set ft=cpp: -*- Mode: C++ -*-</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">/*</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * (c) 2008-2009 Author(s)</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * economic rights: Technische Universität Dresden (Germany)</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> *</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * License: see LICENSE.spdx (in this directory or the directories above)</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> */</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &lt;l4/cxx/static_vector&gt;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &lt;<a class="code" href="sys_2kip_8h.html">l4/sys/kip.h</a>&gt;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">/* C++ version of memory descriptors */</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceL4.html">L4</a></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>{</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">namespace </span>Kip</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> {</div>
<div class="foldopen" id="foldopen00042" data-start="{" data-end="};">
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html"> 42</a></span> <span class="keyword">class </span><a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a9adb462cc0a8d58adfdf39ca085d2614">Mem_desc</a></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> {</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">public</span>:</div>
<div class="foldopen" id="foldopen00048" data-start="{" data-end="};">
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fd"> 48</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fd">Mem_type</a></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> {</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda8559f689d943e200642e42b93393f893"> 50</a></span> <a class="code hl_enumvalue" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda8559f689d943e200642e42b93393f893">Undefined</a> = 0x0, </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda33c3f71fd189f3a5d46005a9b80f22d8"> 51</a></span> <a class="code hl_enumvalue" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda33c3f71fd189f3a5d46005a9b80f22d8">Conventional</a> = 0x1, </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda07c98fdd8d5f4d65eaab66eb5ef66a7f"> 52</a></span> <a class="code hl_enumvalue" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda07c98fdd8d5f4d65eaab66eb5ef66a7f">Reserved</a> = 0x2, </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda286b6ad7884d43bb9080ab97a9946475"> 53</a></span> <a class="code hl_enumvalue" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda286b6ad7884d43bb9080ab97a9946475">Dedicated</a> = 0x3, </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda0e89b2cafba8935bddfe10e34aed6855"> 54</a></span> <a class="code hl_enumvalue" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda0e89b2cafba8935bddfe10e34aed6855">Shared</a> = 0x4, </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda670fb61d93cc572ae8f20c7f94debd72"> 56</a></span> <a class="code hl_enumvalue" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda670fb61d93cc572ae8f20c7f94debd72">Info</a> = 0xd, </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fdaa90d8b5713daa2011ca31bc0d5501ad3"> 57</a></span> <a class="code hl_enumvalue" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fdaa90d8b5713daa2011ca31bc0d5501ad3">Bootloader</a> = 0xe, </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fdaa0b56520f3bfa54df5d8ae513bd2a180"> 58</a></span> <a class="code hl_enumvalue" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fdaa0b56520f3bfa54df5d8ae513bd2a180">Arch</a> = 0xf </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> };</div>
</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span></div>
<div class="foldopen" id="foldopen00064" data-start="{" data-end="};">
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#a996c1c4514b402a78ff4e44402eeb3f9"> 64</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classL4_1_1Kip_1_1Mem__desc.html#a996c1c4514b402a78ff4e44402eeb3f9">Info_sub_type</a></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#a996c1c4514b402a78ff4e44402eeb3f9a323b6649d93dfe01e7b7085a3b45b1fb"> 66</a></span> <a class="code hl_enumvalue" href="classL4_1_1Kip_1_1Mem__desc.html#a996c1c4514b402a78ff4e44402eeb3f9a323b6649d93dfe01e7b7085a3b45b1fb">Info_acpi_rsdp</a> = 0 </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> };</div>
</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span></div>
<div class="foldopen" id="foldopen00072" data-start="{" data-end="};">
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#a7fc7ae3a5d789edce32c0e5b2a405c6d"> 72</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classL4_1_1Kip_1_1Mem__desc.html#a7fc7ae3a5d789edce32c0e5b2a405c6d">Arch_sub_type_common</a></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> {</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#a7fc7ae3a5d789edce32c0e5b2a405c6dacad02b767e174faf4588d0b257a2c38b"> 74</a></span> <a class="code hl_enumvalue" href="classL4_1_1Kip_1_1Mem__desc.html#a7fc7ae3a5d789edce32c0e5b2a405c6dacad02b767e174faf4588d0b257a2c38b">Arch_acpi_tables</a> = 3, </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#a7fc7ae3a5d789edce32c0e5b2a405c6dafc4865c9f6bf5e976b0590c86b38f503"> 75</a></span> <a class="code hl_enumvalue" href="classL4_1_1Kip_1_1Mem__desc.html#a7fc7ae3a5d789edce32c0e5b2a405c6dafc4865c9f6bf5e976b0590c86b38f503">Arch_acpi_nvs</a> = 4, </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> };</div>
</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> </div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> _l, _h;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">public</span>:</div>
<div class="foldopen" id="foldopen00089" data-start="{" data-end="}">
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#af99a889022b2e7466ec6ac40f30f6fd4"> 89</a></span> <span class="keyword">static</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a9adb462cc0a8d58adfdf39ca085d2614">Mem_desc</a> *<a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#af99a889022b2e7466ec6ac40f30f6fd4">first</a>(<a class="code hl_struct" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> *kip) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> {</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span><a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a9adb462cc0a8d58adfdf39ca085d2614">Mem_desc</a> *<span class="keyword">&gt;</span>(<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span> *<span class="keyword">&gt;</span>(kip) + kip-&gt;mem_descs);</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> }</div>
</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">static</span> <a class="code hl_class" href="classL4_1_1Kip_1_1Mem__desc.html">Mem_desc</a> <span class="keyword">const</span> *<a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#af99a889022b2e7466ec6ac40f30f6fd4">first</a>(<a class="code hl_struct" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> <span class="keyword">const</span> *kip) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> {</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">char</span> <span class="keyword">const</span> *addr = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span> <span class="keyword">const </span>*<span class="keyword">&gt;</span>(kip) + kip-&gt;mem_descs;</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span><a class="code hl_class" href="classL4_1_1Kip_1_1Mem__desc.html">Mem_desc</a> <span class="keyword">const </span>*<span class="keyword">&gt;</span>(addr);</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> }</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span></div>
<div class="foldopen" id="foldopen00107" data-start="{" data-end="}">
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#ae34a236e598d0ff82dea58340dd0554d"> 107</a></span> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#ae34a236e598d0ff82dea58340dd0554d">count</a>(<a class="code hl_struct" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> <span class="keyword">const</span> *kip) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> {</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">return</span> kip-&gt;mem_descs_num;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> }</div>
</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span></div>
<div class="foldopen" id="foldopen00118" data-start="{" data-end="}">
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#aceb8534522efdd2322fa8fc9492ab6f2"> 118</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#aceb8534522efdd2322fa8fc9492ab6f2">count</a>(<a class="code hl_struct" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> *kip, <span class="keywordtype">unsigned</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#ae34a236e598d0ff82dea58340dd0554d">count</a>) <span class="keyword">noexcept</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> {</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> kip-&gt;mem_descs_num = <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#ae34a236e598d0ff82dea58340dd0554d">count</a>;</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> }</div>
</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span></div>
<div class="foldopen" id="foldopen00128" data-start="{" data-end="}">
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#a710111f47e83d75d280daf422a027398"> 128</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_class" href="classcxx_1_1static__vector.html">cxx::static_vector&lt;Mem_desc const&gt;</a> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a710111f47e83d75d280daf422a027398">all</a>(<a class="code hl_struct" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> <span class="keyword">const</span> *kip)</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> {</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classcxx_1_1static__vector.html">cxx::static_vector&lt;Mem_desc const&gt;</a>(<a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#af99a889022b2e7466ec6ac40f30f6fd4">Mem_desc::first</a>(kip),</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#ae34a236e598d0ff82dea58340dd0554d">Mem_desc::count</a>(kip));</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> }</div>
</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span></div>
<div class="foldopen" id="foldopen00139" data-start="{" data-end="}">
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#aed54e6f2a25409343c3bb11864131a56"> 139</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_class" href="classcxx_1_1static__vector.html">cxx::static_vector&lt;Mem_desc&gt;</a> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#aed54e6f2a25409343c3bb11864131a56">all</a>(<a class="code hl_struct" href="structl4__kernel__info__t.html">l4_kernel_info_t</a> *kip)</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> {</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classcxx_1_1static__vector.html">cxx::static_vector&lt;Mem_desc&gt;</a>(<a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#af99a889022b2e7466ec6ac40f30f6fd4">Mem_desc::first</a>(kip),</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#ae34a236e598d0ff82dea58340dd0554d">Mem_desc::count</a>(kip));</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> }</div>
</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span></div>
<div class="foldopen" id="foldopen00158" data-start="{" data-end="}">
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#a9adb462cc0a8d58adfdf39ca085d2614"> 158</a></span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a9adb462cc0a8d58adfdf39ca085d2614">Mem_desc</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a78a483ff068305e31dc15bcbf69c1b64">start</a>, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a5fdbd66440b54a05ad1678fcb04ed9e4">end</a>,</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <a class="code hl_enumeration" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fd">Mem_type</a> t, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> st = 0, <span class="keywordtype">bool</span> virt = <span class="keyword">false</span>,</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">bool</span> eager = <span class="keyword">false</span>) noexcept</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> : _l((<a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a78a483ff068305e31dc15bcbf69c1b64">start</a> &amp; ~0x3ffUL) | (t &amp; 0x0f) | ((st &lt;&lt; 4) &amp; 0x0f0)</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> | (virt ? 0x0200 : 0x0) | (eager ? 0x100 : 0x0)), _h(<a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a5fdbd66440b54a05ad1678fcb04ed9e4">end</a> | 0x3ffUL)</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> {}</div>
</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span></div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#a78a483ff068305e31dc15bcbf69c1b64"> 170</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a78a483ff068305e31dc15bcbf69c1b64">start</a>() const noexcept { <span class="keywordflow">return</span> _l &amp; ~0x3ffUL; }</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span></div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#a5fdbd66440b54a05ad1678fcb04ed9e4"> 177</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a5fdbd66440b54a05ad1678fcb04ed9e4">end</a>() const noexcept { <span class="keywordflow">return</span> _h | 0x3ffUL; }</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span></div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#aed690d186404b5bc353e9e60a52d9d80"> 184</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#aed690d186404b5bc353e9e60a52d9d80">size</a>() const noexcept { <span class="keywordflow">return</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a5fdbd66440b54a05ad1678fcb04ed9e4">end</a>() + 1 - <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a78a483ff068305e31dc15bcbf69c1b64">start</a>(); }</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span></div>
<div class="foldopen" id="foldopen00191" data-start="{" data-end="}">
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#a0266dcbba78c48b9530128c4a16f9bd4"> 191</a></span> <a class="code hl_enumeration" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fd">Mem_type</a> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a0266dcbba78c48b9530128c4a16f9bd4">type</a>() const noexcept</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> {</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code hl_enumeration" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fd">Mem_type</a><span class="keyword">&gt;</span>(_l &amp; 0x0f);</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> }</div>
</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span></div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#aff1218d26dec1c965e5270a2e7738ec2"> 201</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#aff1218d26dec1c965e5270a2e7738ec2">sub_type</a>() const noexcept { <span class="keywordflow">return</span> (_l &gt;&gt; 4) &amp; 0x0f; }</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span></div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#a8650b497b267247fe4ac1f73228dc006"> 209</a></span> <span class="keywordtype">unsigned</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a8650b497b267247fe4ac1f73228dc006">is_virtual</a>() const noexcept { <span class="keywordflow">return</span> _l &amp; 0x200; }</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span></div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#aa36572dba4ed8f7904238b70d8f073a5"> 215</a></span> <span class="keywordtype">unsigned</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#aa36572dba4ed8f7904238b70d8f073a5">eager_map</a>() const noexcept { <span class="keywordflow">return</span> _l &amp; 0x100; }</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span></div>
<div class="foldopen" id="foldopen00229" data-start="{" data-end="}">
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"><a class="line" href="classL4_1_1Kip_1_1Mem__desc.html#a7fe5d7551d04dde19f803c970778a697"> 229</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a7fe5d7551d04dde19f803c970778a697">set</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a78a483ff068305e31dc15bcbf69c1b64">start</a>, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a5fdbd66440b54a05ad1678fcb04ed9e4">end</a>,</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <a class="code hl_enumeration" href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fd">Mem_type</a> t, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> st = 0, <span class="keywordtype">bool</span> virt = <span class="keyword">false</span>,</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">bool</span> eager = <span class="keyword">false</span>) noexcept</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> {</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> _l = (<a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a78a483ff068305e31dc15bcbf69c1b64">start</a> &amp; ~0x3ffUL) | (t &amp; 0x0f) | ((st &lt;&lt; 4) &amp; 0x0f0)</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> | (virt?0x0200:0x0) | (eager ? 0x0100 : 0x0);</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> </div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> _h = <a class="code hl_function" href="classL4_1_1Kip_1_1Mem__desc.html#a5fdbd66440b54a05ad1678fcb04ed9e4">end</a> | 0x3ffUL;</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> }</div>
</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> </div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> };</div>
</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> };</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span>};</div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html">L4::Kip::Mem_desc</a></div><div class="ttdoc">Memory descriptors stored in the kernel interface page.</div><div class="ttdef"><b>Definition</b> <a href="#l00042">kip:43</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_a0266dcbba78c48b9530128c4a16f9bd4"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#a0266dcbba78c48b9530128c4a16f9bd4">L4::Kip::Mem_desc::type</a></div><div class="ttdeci">Mem_type type() const noexcept</div><div class="ttdoc">Return type of the memory descriptor.</div><div class="ttdef"><b>Definition</b> <a href="#l00191">kip:191</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_a5fdbd66440b54a05ad1678fcb04ed9e4"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#a5fdbd66440b54a05ad1678fcb04ed9e4">L4::Kip::Mem_desc::end</a></div><div class="ttdeci">unsigned long end() const noexcept</div><div class="ttdoc">Return end address of memory descriptor.</div><div class="ttdef"><b>Definition</b> <a href="#l00177">kip:177</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_a710111f47e83d75d280daf422a027398"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#a710111f47e83d75d280daf422a027398">L4::Kip::Mem_desc::all</a></div><div class="ttdeci">static cxx::static_vector&lt; Mem_desc const &gt; all(l4_kernel_info_t const *kip)</div><div class="ttdoc">Return enumerable list of memory descriptors.</div><div class="ttdef"><b>Definition</b> <a href="#l00128">kip:128</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_a78a483ff068305e31dc15bcbf69c1b64"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#a78a483ff068305e31dc15bcbf69c1b64">L4::Kip::Mem_desc::start</a></div><div class="ttdeci">unsigned long start() const noexcept</div><div class="ttdoc">Return start address of memory descriptor.</div><div class="ttdef"><b>Definition</b> <a href="#l00170">kip:170</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_a7fc7ae3a5d789edce32c0e5b2a405c6d"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#a7fc7ae3a5d789edce32c0e5b2a405c6d">L4::Kip::Mem_desc::Arch_sub_type_common</a></div><div class="ttdeci">Arch_sub_type_common</div><div class="ttdoc">Common sub types across all architectures for the Mem_type::Arch type.</div><div class="ttdef"><b>Definition</b> <a href="#l00072">kip:73</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_a7fc7ae3a5d789edce32c0e5b2a405c6dacad02b767e174faf4588d0b257a2c38b"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#a7fc7ae3a5d789edce32c0e5b2a405c6dacad02b767e174faf4588d0b257a2c38b">L4::Kip::Mem_desc::Arch_acpi_tables</a></div><div class="ttdeci">@ Arch_acpi_tables</div><div class="ttdoc">Firmware ACPI tables.</div><div class="ttdef"><b>Definition</b> <a href="#l00074">kip:74</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_a7fc7ae3a5d789edce32c0e5b2a405c6dafc4865c9f6bf5e976b0590c86b38f503"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#a7fc7ae3a5d789edce32c0e5b2a405c6dafc4865c9f6bf5e976b0590c86b38f503">L4::Kip::Mem_desc::Arch_acpi_nvs</a></div><div class="ttdeci">@ Arch_acpi_nvs</div><div class="ttdoc">Firmware reserved address space.</div><div class="ttdef"><b>Definition</b> <a href="#l00075">kip:75</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_a7fe5d7551d04dde19f803c970778a697"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#a7fe5d7551d04dde19f803c970778a697">L4::Kip::Mem_desc::set</a></div><div class="ttdeci">void set(unsigned long start, unsigned long end, Mem_type t, unsigned char st=0, bool virt=false, bool eager=false) noexcept</div><div class="ttdoc">Set values of a memory descriptor.</div><div class="ttdef"><b>Definition</b> <a href="#l00229">kip:229</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_a8650b497b267247fe4ac1f73228dc006"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#a8650b497b267247fe4ac1f73228dc006">L4::Kip::Mem_desc::is_virtual</a></div><div class="ttdeci">unsigned is_virtual() const noexcept</div><div class="ttdoc">Return whether the memory descriptor describes a virtual or physical region.</div><div class="ttdef"><b>Definition</b> <a href="#l00209">kip:209</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_a996c1c4514b402a78ff4e44402eeb3f9"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#a996c1c4514b402a78ff4e44402eeb3f9">L4::Kip::Mem_desc::Info_sub_type</a></div><div class="ttdeci">Info_sub_type</div><div class="ttdoc">Memory sub types for the Mem_type::Info type.</div><div class="ttdef"><b>Definition</b> <a href="#l00064">kip:65</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_a996c1c4514b402a78ff4e44402eeb3f9a323b6649d93dfe01e7b7085a3b45b1fb"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#a996c1c4514b402a78ff4e44402eeb3f9a323b6649d93dfe01e7b7085a3b45b1fb">L4::Kip::Mem_desc::Info_acpi_rsdp</a></div><div class="ttdeci">@ Info_acpi_rsdp</div><div class="ttdoc">Physical address of the ACPI root pointer.</div><div class="ttdef"><b>Definition</b> <a href="#l00066">kip:66</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_a9adb462cc0a8d58adfdf39ca085d2614"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#a9adb462cc0a8d58adfdf39ca085d2614">L4::Kip::Mem_desc::Mem_desc</a></div><div class="ttdeci">Mem_desc(unsigned long start, unsigned long end, Mem_type t, unsigned char st=0, bool virt=false, bool eager=false) noexcept</div><div class="ttdoc">Initialize memory descriptor.</div><div class="ttdef"><b>Definition</b> <a href="#l00158">kip:158</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_aa36572dba4ed8f7904238b70d8f073a5"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#aa36572dba4ed8f7904238b70d8f073a5">L4::Kip::Mem_desc::eager_map</a></div><div class="ttdeci">unsigned eager_map() const noexcept</div><div class="ttdoc">Return whether the region shall be eligible for eager mapping in sigma0 or the root task.</div><div class="ttdef"><b>Definition</b> <a href="#l00215">kip:215</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_ac7fb06d56bc504ab5821bc05fe5be9fd"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fd">L4::Kip::Mem_desc::Mem_type</a></div><div class="ttdeci">Mem_type</div><div class="ttdoc">Memory types.</div><div class="ttdef"><b>Definition</b> <a href="#l00048">kip:49</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_ac7fb06d56bc504ab5821bc05fe5be9fda07c98fdd8d5f4d65eaab66eb5ef66a7f"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda07c98fdd8d5f4d65eaab66eb5ef66a7f">L4::Kip::Mem_desc::Reserved</a></div><div class="ttdeci">@ Reserved</div><div class="ttdoc">Reserved region, do not use this memory.</div><div class="ttdef"><b>Definition</b> <a href="#l00052">kip:52</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_ac7fb06d56bc504ab5821bc05fe5be9fda0e89b2cafba8935bddfe10e34aed6855"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda0e89b2cafba8935bddfe10e34aed6855">L4::Kip::Mem_desc::Shared</a></div><div class="ttdeci">@ Shared</div><div class="ttdoc">Shared.</div><div class="ttdef"><b>Definition</b> <a href="#l00054">kip:54</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_ac7fb06d56bc504ab5821bc05fe5be9fda286b6ad7884d43bb9080ab97a9946475"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda286b6ad7884d43bb9080ab97a9946475">L4::Kip::Mem_desc::Dedicated</a></div><div class="ttdeci">@ Dedicated</div><div class="ttdoc">Dedicated.</div><div class="ttdef"><b>Definition</b> <a href="#l00053">kip:53</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_ac7fb06d56bc504ab5821bc05fe5be9fda33c3f71fd189f3a5d46005a9b80f22d8"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda33c3f71fd189f3a5d46005a9b80f22d8">L4::Kip::Mem_desc::Conventional</a></div><div class="ttdeci">@ Conventional</div><div class="ttdoc">Conventional memory.</div><div class="ttdef"><b>Definition</b> <a href="#l00051">kip:51</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_ac7fb06d56bc504ab5821bc05fe5be9fda670fb61d93cc572ae8f20c7f94debd72"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda670fb61d93cc572ae8f20c7f94debd72">L4::Kip::Mem_desc::Info</a></div><div class="ttdeci">@ Info</div><div class="ttdoc">Info by boot loader.</div><div class="ttdef"><b>Definition</b> <a href="#l00056">kip:56</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_ac7fb06d56bc504ab5821bc05fe5be9fda8559f689d943e200642e42b93393f893"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fda8559f689d943e200642e42b93393f893">L4::Kip::Mem_desc::Undefined</a></div><div class="ttdeci">@ Undefined</div><div class="ttdoc">Undefined memory.</div><div class="ttdef"><b>Definition</b> <a href="#l00050">kip:50</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_ac7fb06d56bc504ab5821bc05fe5be9fdaa0b56520f3bfa54df5d8ae513bd2a180"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fdaa0b56520f3bfa54df5d8ae513bd2a180">L4::Kip::Mem_desc::Arch</a></div><div class="ttdeci">@ Arch</div><div class="ttdoc">Architecture specific memory.</div><div class="ttdef"><b>Definition</b> <a href="#l00058">kip:58</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_ac7fb06d56bc504ab5821bc05fe5be9fdaa90d8b5713daa2011ca31bc0d5501ad3"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#ac7fb06d56bc504ab5821bc05fe5be9fdaa90d8b5713daa2011ca31bc0d5501ad3">L4::Kip::Mem_desc::Bootloader</a></div><div class="ttdeci">@ Bootloader</div><div class="ttdoc">Memory belongs to the boot loader.</div><div class="ttdef"><b>Definition</b> <a href="#l00057">kip:57</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_aceb8534522efdd2322fa8fc9492ab6f2"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#aceb8534522efdd2322fa8fc9492ab6f2">L4::Kip::Mem_desc::count</a></div><div class="ttdeci">static void count(l4_kernel_info_t *kip, unsigned count) noexcept</div><div class="ttdoc">Set number of memory descriptors.</div><div class="ttdef"><b>Definition</b> <a href="#l00118">kip:118</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_ae34a236e598d0ff82dea58340dd0554d"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#ae34a236e598d0ff82dea58340dd0554d">L4::Kip::Mem_desc::count</a></div><div class="ttdeci">static unsigned long count(l4_kernel_info_t const *kip) noexcept</div><div class="ttdoc">Return number of memory descriptors stored in the kernel info page.</div><div class="ttdef"><b>Definition</b> <a href="#l00107">kip:107</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_aed54e6f2a25409343c3bb11864131a56"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#aed54e6f2a25409343c3bb11864131a56">L4::Kip::Mem_desc::all</a></div><div class="ttdeci">static cxx::static_vector&lt; Mem_desc &gt; all(l4_kernel_info_t *kip)</div><div class="ttdoc">Return enumerable list of memory descriptors.</div><div class="ttdef"><b>Definition</b> <a href="#l00139">kip:139</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_aed690d186404b5bc353e9e60a52d9d80"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#aed690d186404b5bc353e9e60a52d9d80">L4::Kip::Mem_desc::size</a></div><div class="ttdeci">unsigned long size() const noexcept</div><div class="ttdoc">Return size of region described by the memory descriptor.</div><div class="ttdef"><b>Definition</b> <a href="#l00184">kip:184</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_af99a889022b2e7466ec6ac40f30f6fd4"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#af99a889022b2e7466ec6ac40f30f6fd4">L4::Kip::Mem_desc::first</a></div><div class="ttdeci">static Mem_desc * first(l4_kernel_info_t *kip) noexcept</div><div class="ttdoc">Get first memory descriptor.</div><div class="ttdef"><b>Definition</b> <a href="#l00089">kip:89</a></div></div>
<div class="ttc" id="aclassL4_1_1Kip_1_1Mem__desc_html_aff1218d26dec1c965e5270a2e7738ec2"><div class="ttname"><a href="classL4_1_1Kip_1_1Mem__desc.html#aff1218d26dec1c965e5270a2e7738ec2">L4::Kip::Mem_desc::sub_type</a></div><div class="ttdeci">unsigned char sub_type() const noexcept</div><div class="ttdoc">Return sub-type of the memory descriptor.</div><div class="ttdef"><b>Definition</b> <a href="#l00201">kip:201</a></div></div>
<div class="ttc" id="aclasscxx_1_1static__vector_html"><div class="ttname"><a href="classcxx_1_1static__vector.html">cxx::static_vector</a></div><div class="ttdoc">Simple encapsulation for a dynamically allocated array.</div><div class="ttdef"><b>Definition</b> <a href="static__vector_source.html#l00016">static_vector:17</a></div></div>
<div class="ttc" id="anamespaceL4_html"><div class="ttname"><a href="namespaceL4.html">L4</a></div><div class="ttdoc">L4 low-level kernel interface.</div><div class="ttdef"><b>Definition</b> <a href="l4sys-l4f-groups_8dox_source.html#l00050">l4sys-l4f-groups.dox:50</a></div></div>
<div class="ttc" id="astructl4__kernel__info__t_html"><div class="ttname"><a href="structl4__kernel__info__t.html">l4_kernel_info_t</a></div><div class="ttdoc">L4 Kernel Interface Page.</div><div class="ttdef"><b>Definition</b> <a href="sys_2kip_8h_source.html#l00036">kip.h:37</a></div></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 --></div><!-- contents -->
</div><!-- doc-content -->
</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>l4</b></li><li class="navelem"><b>sys</b></li><li class="navelem"><a href="kip.html">kip</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>