📄 iommumicrosparclib.html
字号:
<html><head><!-- /vobs/wpwr/docs/vxworks/ref/ioMmuMicroSparcLib.html - generated by refgen from ../sparc/ioMmuMicroSparcLib.c --> <title> ioMmuMicroSparcLib </title></head><body bgcolor="#FFFFFF"> <hr><a name="top"></a><p align=right><a href="libIndex.html"><i>VxWorks Reference Manual : Libraries</i></a></p></blockquote><h1>ioMmuMicroSparcLib</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>ioMmuMicroSparcLib</strong> - microSparc I/II I/O DMA library </p></blockquote><h4>ROUTINES</h4><blockquote><p><p><b><i><a href="./ioMmuMicroSparcLib.html#ioMmuMicroSparcInit">ioMmuMicroSparcInit</a></i>( )</b> - initialize the microSparc I/II I/O MMU data structures<br><b><i><a href="./ioMmuMicroSparcLib.html#ioMmuMicroSparcMap">ioMmuMicroSparcMap</a></i>( )</b> - map the I/O MMU for microSparc I/II (TMS390S10/MB86904)<br><p></blockquote><h4>DESCRIPTION</h4><blockquote><p>This library contains the SPARC architecture-specific functions<b><i><a href="./ioMmuMicroSparcLib.html#ioMmuMicroSparcInit">ioMmuMicroSparcInit</a></i>( )</b> and <b><i><a href="./ioMmuMicroSparcLib.html#ioMmuMicroSparcMap">ioMmuMicroSparcMap</a></i>( )</b>, needed to set up theI/O mapping for S-Bus DMA devices using the TI TMS390S10 and theMicroSparc II Mb86904 architecture.<p></blockquote><h4>INCLUDE FILES</h4><blockquote><p><b>arch/sparc/microSparc.h</b><p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./ioMmuMicroSparcLib.html#top">ioMmuMicroSparcLib</a></b>, <b><a href="./cacheLib.html#top">cacheLib</a></b>, <b>mmuLib</b>, <b><a href="./vmLib.html#top">vmLib</a></b><hr><a name="ioMmuMicroSparcInit"></a><p align=right><a href="rtnIndex.html"><i>Libraries : Routines</i></a></p></blockquote><h1><i>ioMmuMicroSparcInit</i>( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong><i>ioMmuMicroSparcInit</i>( )</strong> - initialize the microSparc I/II I/O MMU data structures</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>STATUS ioMmuMicroSparcInit ( void * physBase, /* first valid DMA physical address */ UINT range /* range covered by I/O Page Table */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine initializes the I/O MMU for S-Bus DMA with the TMS390S10 andMb86904. This function is executed after the VxWorks kernel is initialized.The memory allocated for the <b>ioPage</b> tables is write protected and cache inhibited only if one of the MMU libraries (<b><a href="./vmBaseLib.html#top">vmBaseLib</a></b> or <b><a href="./vmLib.html#top">vmLib</a></b>) is initialized. It has been implemented this way because boot ROMs do not initialize the MMU library in <b>bootConfig.c</b>; instead, they initialize the MMUseparately from <b>romInit.s</b>.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK, or ERROR if unable to satisfy request.<p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./ioMmuMicroSparcLib.html#top">ioMmuMicroSparcLib</a></b>, <b><i><a href="./ioMmuMicroSparcLib.html#ioMmuMicroSparcMap">ioMmuMicroSparcMap</a></i>( )</b><hr><a name="ioMmuMicroSparcMap"></a><p align=right><a href="rtnIndex.html"><i>Libraries : Routines</i></a></p></blockquote><h1><i>ioMmuMicroSparcMap</i>( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong><i>ioMmuMicroSparcMap</i>( )</strong> - map the I/O MMU for microSparc I/II (TMS390S10/MB86904)</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>STATUS ioMmuMicroSparcMap ( UINT dvmaAdrs, /* ioDvma virtual address to map */ void * physBase, /* physical address to add */ UINT size /* size to map */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine maps the specified amount of memory (<i>size</i>), starting at thespecified <b>ioDvma</b> virtual address (<i>dvmaAdrs</i>), to the specifiedphysical base (<i>physBase</i>).<p>Do not call <b><i><a href="./ioMmuMicroSparcLib.html#ioMmuMicroSparcMap">ioMmuMicroSparcMap</a></i>( )</b> without first calling theinitialization routine <b><i><a href="./ioMmuMicroSparcLib.html#ioMmuMicroSparcInit">ioMmuMicroSparcInit</a></i>( )</b>, because this routinedepends on the data structures initialized there. The<b><i><a href="./ioMmuMicroSparcLib.html#ioMmuMicroSparcMap">ioMmuMicroSparcMap</a></i>( )</b> routine checks that the I/O MMU range specifiedat initialization is sufficient for the size of the memory beingmapped. The physical base specified should be on a page boundary.Similarly, the size of the memory being mapped must be a multiple ofthe page size.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK, or ERROR if unable to satisfy request.<p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./ioMmuMicroSparcLib.html#top">ioMmuMicroSparcLib</a></b>, <b><i><a href="./ioMmuMicroSparcLib.html#ioMmuMicroSparcInit">ioMmuMicroSparcInit</a></i>( )</b></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -