501 lines
42 KiB
HTML
501 lines
42 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: L4Re::Dma_space 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('classL4Re_1_1Dma__space.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">L4Re::Dma_space Class Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Managed DMA Address Space.
|
|
<a href="#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="dma__space_source.html">dma_space</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>Collaboration diagram for L4Re::Dma_space:</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="classL4Re_1_1Dma__space__coll__graph.svg" width="142" height="136"><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-types" class="groupheader"><a id="pub-types" name="pub-types"></a>
|
|
Public Types</h2></td></tr>
|
|
<tr class="memitem:aee4c8d896e37dfc9360626d6c66a8ddf" id="r_aee4c8d896e37dfc9360626d6c66a8ddf"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#aee4c8d896e37dfc9360626d6c66a8ddf">Direction</a> { <a class="el" href="#aee4c8d896e37dfc9360626d6c66a8ddfa33351e608586628064ecb87e66242c35">Bidirectional</a>
|
|
, <a class="el" href="#aee4c8d896e37dfc9360626d6c66a8ddfa81b514d46a04f85a033c6f767d6c8c22">To_device</a>
|
|
, <a class="el" href="#aee4c8d896e37dfc9360626d6c66a8ddfa8e0780a9c4af9233d37d391aa81042c0">From_device</a>
|
|
, <a class="el" href="#aee4c8d896e37dfc9360626d6c66a8ddfa8a327c8b8ce658b902e5eb89db124474">None</a>
|
|
}</td></tr>
|
|
<tr class="memdesc:aee4c8d896e37dfc9360626d6c66a8ddf"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="#aee4c8d896e37dfc9360626d6c66a8ddf" title="Direction of the DMA transfers.">Direction</a> of the DMA transfers. <a href="#aee4c8d896e37dfc9360626d6c66a8ddf">More...</a><br /></td></tr>
|
|
<tr class="memitem:a4e70e97881b98eff798a4bc5af23dec0" id="r_a4e70e97881b98eff798a4bc5af23dec0"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4e70e97881b98eff798a4bc5af23dec0">Attribute</a> { <a class="el" href="#a4e70e97881b98eff798a4bc5af23dec0ae534773d19429634cea164dcbab7e229">No_sync</a>
|
|
}</td></tr>
|
|
<tr class="memdesc:a4e70e97881b98eff798a4bc5af23dec0"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="#aa1f59fcd6e60d8587463149e56252c97" title="Attributes for DMA mappings.">Attributes</a> used for the memory region during the transfer. <a href="#a4e70e97881b98eff798a4bc5af23dec0">More...</a><br /></td></tr>
|
|
<tr class="memitem:a676ff57e99cc0d8f53dc33aeadfe764f" id="r_a676ff57e99cc0d8f53dc33aeadfe764f"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#a676ff57e99cc0d8f53dc33aeadfe764f">Space_attrib</a> { <a class="el" href="#a676ff57e99cc0d8f53dc33aeadfe764fa79a5029635ce524856adc52e8927f3f4">Coherent</a>
|
|
, <a class="el" href="#a676ff57e99cc0d8f53dc33aeadfe764fa31ff98370e7fb2c234c671efb0e0297e">Phys_space</a>
|
|
}</td></tr>
|
|
<tr class="memdesc:a676ff57e99cc0d8f53dc33aeadfe764f"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="#aa1f59fcd6e60d8587463149e56252c97" title="Attributes for DMA mappings.">Attributes</a> assigned to the DMA space when associated with a specific device. <a href="#a676ff57e99cc0d8f53dc33aeadfe764f">More...</a><br /></td></tr>
|
|
<tr class="memitem:aeb05545bf46d9c2433873f81b354b30d" id="r_aeb05545bf46d9c2433873f81b354b30d"><td class="memItemLeft" align="right" valign="top"><a id="aeb05545bf46d9c2433873f81b354b30d" name="aeb05545bf46d9c2433873f81b354b30d"></a>
|
|
typedef <a class="el" href="group__l4__basic__types.html#gaf3331c485014bd12a9e4f9d27a55e689">l4_uint64_t</a> </td><td class="memItemRight" valign="bottom"><b>Dma_addr</b></td></tr>
|
|
<tr class="memdesc:aeb05545bf46d9c2433873f81b354b30d"><td class="mdescLeft"> </td><td class="mdescRight">Data type for DMA addresses. <br /></td></tr>
|
|
<tr class="memitem:aa1f59fcd6e60d8587463149e56252c97" id="r_aa1f59fcd6e60d8587463149e56252c97"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classL4_1_1Types_1_1Flags.html">L4::Types::Flags</a>< <a class="el" href="#a4e70e97881b98eff798a4bc5af23dec0">Attribute</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa1f59fcd6e60d8587463149e56252c97">Attributes</a></td></tr>
|
|
<tr class="memdesc:aa1f59fcd6e60d8587463149e56252c97"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="#aa1f59fcd6e60d8587463149e56252c97" title="Attributes for DMA mappings.">Attributes</a> for DMA mappings. <br /></td></tr>
|
|
<tr class="memitem:aff32c07ebd1d03567cc3ccbd07bde481" id="r_aff32c07ebd1d03567cc3ccbd07bde481"><td class="memItemLeft" align="right" valign="top"><a id="aff32c07ebd1d03567cc3ccbd07bde481" name="aff32c07ebd1d03567cc3ccbd07bde481"></a>
|
|
typedef <a class="el" href="classL4_1_1Types_1_1Flags.html">L4::Types::Flags</a>< <a class="el" href="#a676ff57e99cc0d8f53dc33aeadfe764f">Space_attrib</a> > </td><td class="memItemRight" valign="bottom"><b>Space_attribs</b></td></tr>
|
|
<tr class="memdesc:aff32c07ebd1d03567cc3ccbd07bde481"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="#aa1f59fcd6e60d8587463149e56252c97" title="Attributes for DMA mappings.">Attributes</a> used when configuring the DMA space. <br /></td></tr>
|
|
</table><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:a1da94446989626b52746582bd83c0cb5" id="r_a1da94446989626b52746582bd83c0cb5"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1da94446989626b52746582bd83c0cb5">map</a> (<a class="el" href="classL4_1_1Ipc_1_1Cap.html">L4::Ipc::Cap</a>< <a class="el" href="classL4Re_1_1Dataspace.html">L4Re::Dataspace</a> > src, L4Re::Dataspace::Offset offset, <a class="el" href="structL4_1_1Ipc_1_1In__out.html">L4::Ipc::In_out</a>< <a class="el" href="group__l4__basic__types.html#ga08c1e83a068ded7add134b188cd44967">l4_size_t</a> * > size, <a class="el" href="#aa1f59fcd6e60d8587463149e56252c97">Attributes</a> attrs, <a class="el" href="#aee4c8d896e37dfc9360626d6c66a8ddf">Direction</a> dir, <a class="el" href="#aeb05545bf46d9c2433873f81b354b30d">Dma_addr</a> *dma_addr)</td></tr>
|
|
<tr class="memdesc:a1da94446989626b52746582bd83c0cb5"><td class="mdescLeft"> </td><td class="mdescRight">Map the given part of this data space into the DMA address space. <br /></td></tr>
|
|
<tr class="memitem:ae5f38bc7f823ce8e1f237ee76ea68abc" id="r_ae5f38bc7f823ce8e1f237ee76ea68abc"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae5f38bc7f823ce8e1f237ee76ea68abc">unmap</a> (<a class="el" href="#aeb05545bf46d9c2433873f81b354b30d">Dma_addr</a> dma_addr, <a class="el" href="group__l4__basic__types.html#ga08c1e83a068ded7add134b188cd44967">l4_size_t</a> size, <a class="el" href="#aa1f59fcd6e60d8587463149e56252c97">Attributes</a> attrs, <a class="el" href="#aee4c8d896e37dfc9360626d6c66a8ddf">Direction</a> dir)</td></tr>
|
|
<tr class="memdesc:ae5f38bc7f823ce8e1f237ee76ea68abc"><td class="mdescLeft"> </td><td class="mdescRight">Unmap the given part of this data space from the DMA address space. <br /></td></tr>
|
|
<tr class="memitem:aa4bf648e57059a2b724735c5230e9346" id="r_aa4bf648e57059a2b724735c5230e9346"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa4bf648e57059a2b724735c5230e9346">associate</a> (<a class="el" href="structL4_1_1Ipc_1_1Opt.html">L4::Ipc::Opt</a>< <a class="el" href="classL4_1_1Ipc_1_1Cap.html">L4::Ipc::Cap</a>< <a class="el" href="classL4_1_1Task.html">L4::Task</a> > > dma_task, <a class="el" href="#aff32c07ebd1d03567cc3ccbd07bde481">Space_attribs</a> attr)</td></tr>
|
|
<tr class="memdesc:aa4bf648e57059a2b724735c5230e9346"><td class="mdescLeft"> </td><td class="mdescRight">Associate a (kernel) <a class="el" href="group__l4__kernel__object__dmar__space.html">DMA space</a> for a device to this <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a>. <br /></td></tr>
|
|
<tr class="memitem:a065a50cd89ec723b38352a394a8c9aae" id="r_a065a50cd89ec723b38352a394a8c9aae"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="#a065a50cd89ec723b38352a394a8c9aae">disassociate</a> ()</td></tr>
|
|
<tr class="memdesc:a065a50cd89ec723b38352a394a8c9aae"><td class="mdescLeft"> </td><td class="mdescRight">Disassociate the (kernel) <a class="el" href="group__l4__kernel__object__dmar__space.html">DMA space</a> from this <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a>. <br /></td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Managed DMA Address Space. </p>
|
|
<p>A managed <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a> represents the <a class="el" href="namespaceL4Re.html" title="L4Re C++ Interfaces.">L4Re</a> abstraction of an DMA address space of one or several devices. Devices are assigned to a managed <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a> by binding the <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a> to the respective DMA domain (see <a class="el" href="classL4vbus_1_1Vbus.html#a15085069054edbb9b221154e25db52b2" title="Bind or unbind an L4Re::Dma_space to a DMA domain.">L4vbus::Vbus::assign_dma_domain()</a>), which might link the <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a> with a kernel <a class="el" href="group__l4__kernel__object__dmar__space.html">DMA space</a>. Note that several DMA domains can be bound to the same <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a>. Whenever a device needs direct access to parts of an <a class="el" href="classL4Re_1_1Dataspace.html" title="Interface for memory-like objects.">L4Re::Dataspace</a>, that part of the data space must be mapped to the managed <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a> that is assigned to that device. Binding to DMA domains must happen before mapping. After the DMA accesses to the memory are finished the memory must be unmapped from the device's DMA address space.</p>
|
|
<p>Mapping to a managed DMA address space, using <a class="el" href="#a1da94446989626b52746582bd83c0cb5" title="Map the given part of this data space into the DMA address space.">map()</a>, makes the given parts of the data space visible to the associated device at the returned DMA address. As long as the memory is mapped into a DMA space it is 'pinned' and cannot be subject to dynamic memory management such as swapping. Additionally, <a class="el" href="#a1da94446989626b52746582bd83c0cb5" title="Map the given part of this data space into the DMA address space.">map()</a> is responsible for the necessary syncing operations before the DMA.</p>
|
|
<p><a class="el" href="#ae5f38bc7f823ce8e1f237ee76ea68abc" title="Unmap the given part of this data space from the DMA address space.">unmap()</a> is the reverse operation to <a class="el" href="#a1da94446989626b52746582bd83c0cb5" title="Map the given part of this data space into the DMA address space.">map()</a> and unmaps the given data-space part for the DMA address space. <a class="el" href="#ae5f38bc7f823ce8e1f237ee76ea68abc" title="Unmap the given part of this data space from the DMA address space.">unmap()</a> is responsible for the necessary sync operations after the DMA. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="dma__space_source.html#l00052">52</a> of file <a class="el" href="dma__space_source.html">dma_space</a>.</p>
|
|
</div><a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Member Typedef Documentation</h2>
|
|
<a id="aa1f59fcd6e60d8587463149e56252c97" name="aa1f59fcd6e60d8587463149e56252c97"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa1f59fcd6e60d8587463149e56252c97">◆ </a></span>Attributes</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef <a class="el" href="classL4_1_1Types_1_1Flags.html">L4::Types::Flags</a><<a class="el" href="#a4e70e97881b98eff798a4bc5af23dec0">Attribute</a>> <a class="el" href="#aa1f59fcd6e60d8587463149e56252c97">L4Re::Dma_space::Attributes</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="#aa1f59fcd6e60d8587463149e56252c97" title="Attributes for DMA mappings.">Attributes</a> for DMA mappings. </p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a4e70e97881b98eff798a4bc5af23dec0" title="Attributes used for the memory region during the transfer.">Attribute</a> </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="dma__space_source.html#l00097">97</a> of file <a class="el" href="dma__space_source.html">dma_space</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="doc-enum-members" id="doc-enum-members"></a><h2 id="header-doc-enum-members" class="groupheader">Member Enumeration Documentation</h2>
|
|
<a id="a4e70e97881b98eff798a4bc5af23dec0" name="a4e70e97881b98eff798a4bc5af23dec0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4e70e97881b98eff798a4bc5af23dec0">◆ </a></span>Attribute</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#a4e70e97881b98eff798a4bc5af23dec0">L4Re::Dma_space::Attribute</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="#aa1f59fcd6e60d8587463149e56252c97" title="Attributes for DMA mappings.">Attributes</a> used for the memory region during the transfer. </p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#aa1f59fcd6e60d8587463149e56252c97" title="Attributes for DMA mappings.">Attributes</a> </dd></dl>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4e70e97881b98eff798a4bc5af23dec0ae534773d19429634cea164dcbab7e229" name="a4e70e97881b98eff798a4bc5af23dec0ae534773d19429634cea164dcbab7e229"></a>No_sync </td><td class="fielddoc"><p>Do not sync the memory hierarchy. </p>
|
|
<p>When this flag is <em>not set</em> (default) the memory region shall be made coherent to the point-of-coherency of the device associated with this <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a>. When using this attribute the client is responsible for syncing the memory hierarchy for DMA. This can either be done using the cache API or by another <a class="el" href="#a1da94446989626b52746582bd83c0cb5" title="Map the given part of this data space into the DMA address space.">map()</a> or <a class="el" href="#ae5f38bc7f823ce8e1f237ee76ea68abc" title="Unmap the given part of this data space from the DMA address space.">unmap()</a> operation of the same part of the data space (without the <a class="el" href="#a4e70e97881b98eff798a4bc5af23dec0ae534773d19429634cea164dcbab7e229" title="Do not sync the memory hierarchy.">No_sync</a> attribute). </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="dma__space_source.html#l00076">76</a> of file <a class="el" href="dma__space_source.html">dma_space</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aee4c8d896e37dfc9360626d6c66a8ddf" name="aee4c8d896e37dfc9360626d6c66a8ddf"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aee4c8d896e37dfc9360626d6c66a8ddf">◆ </a></span>Direction</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#aee4c8d896e37dfc9360626d6c66a8ddf">L4Re::Dma_space::Direction</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="#aee4c8d896e37dfc9360626d6c66a8ddf" title="Direction of the DMA transfers.">Direction</a> of the DMA transfers. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aee4c8d896e37dfc9360626d6c66a8ddfa33351e608586628064ecb87e66242c35" name="aee4c8d896e37dfc9360626d6c66a8ddfa33351e608586628064ecb87e66242c35"></a>Bidirectional </td><td class="fielddoc"><p>device reads and writes to the memory </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="aee4c8d896e37dfc9360626d6c66a8ddfa81b514d46a04f85a033c6f767d6c8c22" name="aee4c8d896e37dfc9360626d6c66a8ddfa81b514d46a04f85a033c6f767d6c8c22"></a>To_device </td><td class="fielddoc"><p>device reads the memory </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="aee4c8d896e37dfc9360626d6c66a8ddfa8e0780a9c4af9233d37d391aa81042c0" name="aee4c8d896e37dfc9360626d6c66a8ddfa8e0780a9c4af9233d37d391aa81042c0"></a>From_device </td><td class="fielddoc"><p>device writes to the memory </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="aee4c8d896e37dfc9360626d6c66a8ddfa8a327c8b8ce658b902e5eb89db124474" name="aee4c8d896e37dfc9360626d6c66a8ddfa8a327c8b8ce658b902e5eb89db124474"></a>None </td><td class="fielddoc"><p>device is coherently connected to the memory </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="dma__space_source.html#l00064">64</a> of file <a class="el" href="dma__space_source.html">dma_space</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a676ff57e99cc0d8f53dc33aeadfe764f" name="a676ff57e99cc0d8f53dc33aeadfe764f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a676ff57e99cc0d8f53dc33aeadfe764f">◆ </a></span>Space_attrib</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#a676ff57e99cc0d8f53dc33aeadfe764f">L4Re::Dma_space::Space_attrib</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="#aa1f59fcd6e60d8587463149e56252c97" title="Attributes for DMA mappings.">Attributes</a> assigned to the DMA space when associated with a specific device. </p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#aff32c07ebd1d03567cc3ccbd07bde481" title="Attributes used when configuring the DMA space.">Space_attribs</a> </dd></dl>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a676ff57e99cc0d8f53dc33aeadfe764fa79a5029635ce524856adc52e8927f3f4" name="a676ff57e99cc0d8f53dc33aeadfe764fa79a5029635ce524856adc52e8927f3f4"></a>Coherent </td><td class="fielddoc"><p>The device is connected coherently with the cache. </p>
|
|
<p>This means that the <a class="el" href="#a1da94446989626b52746582bd83c0cb5" title="Map the given part of this data space into the DMA address space.">map()</a> and <a class="el" href="#ae5f38bc7f823ce8e1f237ee76ea68abc" title="Unmap the given part of this data space from the DMA address space.">unmap()</a> do not need to sync CPU caches before and after DMA. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a676ff57e99cc0d8f53dc33aeadfe764fa31ff98370e7fb2c234c671efb0e0297e" name="a676ff57e99cc0d8f53dc33aeadfe764fa31ff98370e7fb2c234c671efb0e0297e"></a>Phys_space </td><td class="fielddoc"><p>The DMA space has no DMA task assigned and uses the CPUs physical memory. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="dma__space_source.html#l00104">104</a> of file <a class="el" href="dma__space_source.html">dma_space</a>.</p>
|
|
|
|
</div>
|
|
</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="aa4bf648e57059a2b724735c5230e9346" name="aa4bf648e57059a2b724735c5230e9346"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa4bf648e57059a2b724735c5230e9346">◆ </a></span>associate()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">long L4Re::Dma_space::associate </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structL4_1_1Ipc_1_1Opt.html">L4::Ipc::Opt</a>< <a class="el" href="classL4_1_1Ipc_1_1Cap.html">L4::Ipc::Cap</a>< <a class="el" href="classL4_1_1Task.html">L4::Task</a> > ></td> <td class="paramname"><span class="paramname"><em>dma_task</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="#aff32c07ebd1d03567cc3ccbd07bde481">Space_attribs</a></td> <td class="paramname"><span class="paramname"><em>attr</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Associate a (kernel) <a class="el" href="group__l4__kernel__object__dmar__space.html">DMA space</a> for a device to this <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a>. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">dma_task</td><td>The (kernel) <a class="el" href="group__l4__kernel__object__dmar__space.html">DMA space</a> used for the device that shall be associated with this DMA space. In case no IOMMU is present or configured, the dma_task might be an invalid capability when <a class="el" href="#a676ff57e99cc0d8f53dc33aeadfe764fa31ff98370e7fb2c234c671efb0e0297e" title="The DMA space has no DMA task assigned and uses the CPUs physical memory.">L4Re::Dma_space::Phys_space</a> is set in <span class="tt">attr</span>, in this case the CPUs physical memory is used as DMA address space. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td><a class="el" href="#aa1f59fcd6e60d8587463149e56252c97" title="Attributes for DMA mappings.">Attributes</a> for this DMA space. See <a class="el" href="#a676ff57e99cc0d8f53dc33aeadfe764f" title="Attributes assigned to the DMA space when associated with a specific device.">L4Re::Dma_space::Space_attrib</a>.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">L4_EOK</td><td>Operation successful. </td></tr>
|
|
<tr><td class="paramname">-L4_EPERM</td><td>Insufficient permissions; see precondition. </td></tr>
|
|
<tr><td class="paramname">-L4_EINVAL</td><td></td></tr>
|
|
<tr><td class="paramname">-L4_ENOENT</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The invoked <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a> capability must have the permission <a class="el" href="group__l4__fpage__api.html#ggaee60789a48cab2782f5a368237591b39a561054fb4021ff4a22ab1881c7a7de5a" title="Interface specific 'W' right for capability flexpages.">L4_CAP_FPAGE_W</a>. </dd></dl>
|
|
|
|
<p class="reference">References <a class="el" href="#a065a50cd89ec723b38352a394a8c9aae">disassociate()</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="#ae5f38bc7f823ce8e1f237ee76ea68abc">unmap()</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 call 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="classL4Re_1_1Dma__space_aa4bf648e57059a2b724735c5230e9346_cgraph.svg" width="494" 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 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="classL4Re_1_1Dma__space_aa4bf648e57059a2b724735c5230e9346_icgraph.svg" width="680" 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="a065a50cd89ec723b38352a394a8c9aae" name="a065a50cd89ec723b38352a394a8c9aae"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a065a50cd89ec723b38352a394a8c9aae">◆ </a></span>disassociate()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">long L4Re::Dma_space::disassociate </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Disassociate the (kernel) <a class="el" href="group__l4__kernel__object__dmar__space.html">DMA space</a> from this <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a>. </p>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">L4_EOK</td><td>Operation successful. </td></tr>
|
|
<tr><td class="paramname">-L4_EPERM</td><td>Insufficient permissions; see precondition. </td></tr>
|
|
<tr><td class="paramname">-L4_ENOENT</td><td></td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The invoked <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a> capability must have the permission <a class="el" href="group__l4__fpage__api.html#ggaee60789a48cab2782f5a368237591b39a561054fb4021ff4a22ab1881c7a7de5a" title="Interface specific 'W' right for capability flexpages.">L4_CAP_FPAGE_W</a>. </dd></dl>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="#aa4bf648e57059a2b724735c5230e9346">associate()</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="classL4Re_1_1Dma__space_a065a50cd89ec723b38352a394a8c9aae_icgraph.svg" width="955" 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="a1da94446989626b52746582bd83c0cb5" name="a1da94446989626b52746582bd83c0cb5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1da94446989626b52746582bd83c0cb5">◆ </a></span>map()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">long L4Re::Dma_space::map </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classL4_1_1Ipc_1_1Cap.html">L4::Ipc::Cap</a>< <a class="el" href="classL4Re_1_1Dataspace.html">L4Re::Dataspace</a> ></td> <td class="paramname"><span class="paramname"><em>src</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">L4Re::Dataspace::Offset</td> <td class="paramname"><span class="paramname"><em>offset</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structL4_1_1Ipc_1_1In__out.html">L4::Ipc::In_out</a>< <a class="el" href="group__l4__basic__types.html#ga08c1e83a068ded7add134b188cd44967">l4_size_t</a> * ></td> <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="#aa1f59fcd6e60d8587463149e56252c97">Attributes</a></td> <td class="paramname"><span class="paramname"><em>attrs</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="#aee4c8d896e37dfc9360626d6c66a8ddf">Direction</a></td> <td class="paramname"><span class="paramname"><em>dir</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="#aeb05545bf46d9c2433873f81b354b30d">Dma_addr</a> *</td> <td class="paramname"><span class="paramname"><em>dma_addr</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Map the given part of this data space into the DMA address space. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Source data space (that describes the memory). Caller needs write right to the data space. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset (bytes) within <span class="tt">src</span>. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">size</td><td>The size (bytes) of the region to be mapped for DMA, after successful mapping the size returned is the size mapped for DMA as a single block. This size might be smaller than the original input size, in this case the caller might call <a class="el" href="#a1da94446989626b52746582bd83c0cb5" title="Map the given part of this data space into the DMA address space.">map()</a> again with a new offset and the remaining size. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">attrs</td><td>The attributes used for this DMA mapping (a combination of <a class="el" href="#a4e70e97881b98eff798a4bc5af23dec0" title="Attributes used for the memory region during the transfer.">Dma_space::Attribute</a> values). </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">dir</td><td>The direction of the DMA transfer issued with this mapping. The same value must later be passed to <a class="el" href="#ae5f38bc7f823ce8e1f237ee76ea68abc" title="Unmap the given part of this data space from the DMA address space.">unmap()</a>. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">dma_addr</td><td>The DMA address to use for DMA with the associated device.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">L4_EOK</td><td>Operation successful. </td></tr>
|
|
<tr><td class="paramname">-L4_EPERM</td><td>Insufficient permissions; see precondition. </td></tr>
|
|
<tr><td class="paramname">-L4_EINVAL</td><td>The capability <span class="tt">src</span> is invalid or does not refer to a valid dataspace. </td></tr>
|
|
<tr><td class="paramname">-L4_EEXIST</td><td>The specified region overlaps an existing mapping. </td></tr>
|
|
<tr><td class="paramname">-L4_ENOMEM</td><td>Not enough memory to allocate internal datastructures. </td></tr>
|
|
<tr><td class="paramname">-L4_ERANGE</td><td><span class="tt">offset</span> is larger than the size of the dataspace.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The capability <span class="tt">src</span> must have the permission <a class="el" href="group__l4__fpage__api.html#ggaee60789a48cab2782f5a368237591b39a561054fb4021ff4a22ab1881c7a7de5a" title="Interface specific 'W' right for capability flexpages.">L4_CAP_FPAGE_W</a>.</dd></dl>
|
|
<dl class="section note"><dt>Note</dt><dd><a class="el" href="#aa4bf648e57059a2b724735c5230e9346" title="Associate a (kernel) DMA space for a device to this Dma_space.">associate()</a> must be called prior to mapping memory. Usually this is done implicitely when binding the managed <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">Dma_space</a> to a DMA domain (see <a class="el" href="classL4vbus_1_1Vbus.html#a15085069054edbb9b221154e25db52b2" title="Bind or unbind an L4Re::Dma_space to a DMA domain.">L4vbus::Vbus::assign_dma_domain()</a>). </dd></dl>
|
|
|
|
<p class="reference">References <a class="el" href="#ae5f38bc7f823ce8e1f237ee76ea68abc">unmap()</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="classL4Re_1_1Dma__space_a1da94446989626b52746582bd83c0cb5_cgraph.svg" width="955" 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="ae5f38bc7f823ce8e1f237ee76ea68abc" name="ae5f38bc7f823ce8e1f237ee76ea68abc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae5f38bc7f823ce8e1f237ee76ea68abc">◆ </a></span>unmap()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">long L4Re::Dma_space::unmap </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="#aeb05545bf46d9c2433873f81b354b30d">Dma_addr</a></td> <td class="paramname"><span class="paramname"><em>dma_addr</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__l4__basic__types.html#ga08c1e83a068ded7add134b188cd44967">l4_size_t</a></td> <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="#aa1f59fcd6e60d8587463149e56252c97">Attributes</a></td> <td class="paramname"><span class="paramname"><em>attrs</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="#aee4c8d896e37dfc9360626d6c66a8ddf">Direction</a></td> <td class="paramname"><span class="paramname"><em>dir</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Unmap the given part of this data space from the DMA address space. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">dma_addr</td><td>The DMA address (returned by <a class="el" href="#a1da94446989626b52746582bd83c0cb5" title="Map the given part of this data space into the DMA address space.">Dma_space::map()</a>). </td></tr>
|
|
<tr><td class="paramname">size</td><td>The size (bytes) of the memory region to unmap. </td></tr>
|
|
<tr><td class="paramname">attrs</td><td>The attributes for the unmap (currently none). </td></tr>
|
|
<tr><td class="paramname">dir</td><td>The direction of the finished DMA operation.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>0 in the case of success, a negative error code otherwise. </dd></dl>
|
|
|
|
<p class="reference">References <a class="el" href="#aa4bf648e57059a2b724735c5230e9346">associate()</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="#a1da94446989626b52746582bd83c0cb5">map()</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="classL4Re_1_1Dma__space_ae5f38bc7f823ce8e1f237ee76ea68abc_cgraph.svg" width="732" 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 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="classL4Re_1_1Dma__space_ae5f38bc7f823ce8e1f237ee76ea68abc_icgraph.svg" width="424" 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>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li>l4/re/<a class="el" href="dma__space_source.html">dma_space</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"><a href="namespaceL4Re.html">L4Re</a></li><li class="navelem"><a href="classL4Re_1_1Dma__space.html">Dma_space</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>
|