<span style="color:rgb(0, 0, 0)"><div class="im">RTEMS MMU support project report </div></span><br style="color:rgb(0, 0, 0)"><br style="color:rgb(0, 0, 0)"><span style="color:rgb(0, 0, 0)">This project</span><font style="color:rgb(0, 0, 0)" color="#D31E25">'s</font><span style="color:rgb(0, 0, 0)"> target is adding </span><font style="color:rgb(0, 0, 0)" color="#D31E25">an</font><span style="color:rgb(0, 0, 0)"> Access </span><font style="color:rgb(0, 0, 0)" face="DejaVu Serif, serif"><font face="΢ÈíÑźÚ, serif">Domain</font></font><span style="color:rgb(0, 0, 0)"> Manager API to </span><font style="color:rgb(0, 0, 0)" color="#D31E25">RTEMS</font><span style="color:rgb(0, 0, 0)">. </span>The
project is being done in the PSIM environment. It should be easy to
export the API to other boards or other architectures in the future.<br><div><div class="im">
<br style="color:rgb(0, 0, 0)"><font style="color:rgb(0, 0, 0)" color="#D31E25">The </font><span style="color:rgb(0, 0, 0)">API </span><font style="color:rgb(0, 0, 0)" color="#D31E25">will </font><span style="color:rgb(0, 0, 0)"> manage an ALUT£¨access lookup table), and update the page table or TLB </span><font style="color:rgb(0, 0, 0)" color="#D31E25">as</font><span style="color:rgb(0, 0, 0)"> necessary.</span><br style="color:rgb(0, 0, 0)">
<font style="color:rgb(0, 0, 0)" color="#D31E25">The </font><span style="color:rgb(0, 0, 0)">ALUT </span><font style="color:rgb(0, 0, 0)" color="#D31E25">will </font><span style="color:rgb(0, 0, 0)">c</span><font style="color:rgb(0, 0, 0)" color="#D31E25">o</font><span style="color:rgb(0, 0, 0)">ntain ACBs(Access Control Block</span><font style="color:rgb(0, 0, 0)" color="#D31E25">s</font><span style="color:rgb(0, 0, 0)">)</span><font style="color:rgb(0, 0, 0)" color="#D31E25">.</font><span style="color:rgb(0, 0, 0)"> </span><font style="color:rgb(0, 0, 0)" color="#D31E25">This</font><span style="color:rgb(0, 0, 0)"> data structure </span><font style="color:rgb(0, 0, 0)" color="#D31E25">will</font><span style="color:rgb(0, 0, 0)"> have the following information stored </span><font style="color:rgb(0, 0, 0)" color="#D31E25">in it</font><span style="color:rgb(0, 0, 0)">.</span><div style="color:rgb(0, 0, 0)">
<br><table border="1"><tbody><tr><td valign="top"> ACB ID <br></td><th> Address Pointer</th><th>Address Space Length</th><th>Access Attribute</th></tr></tbody></table></div><font style="color:rgb(0, 0, 0)" color="#D31E25">The </font><span style="color:rgb(0, 0, 0)">API </span><font style="color:rgb(0, 0, 0)" color="#D31E25">will</font><span style="color:rgb(0, 0, 0)"> use </span><font style="color:rgb(0, 0, 0)" color="#D31E25">the ACB </font><span style="color:rgb(0, 0, 0)">ID to search </span><font style="color:rgb(0, 0, 0)" color="#D31E25">for </font><span style="color:rgb(0, 0, 0)">and modify the information . I think </span><font style="color:rgb(0, 0, 0)" color="#D31E25">that</font><span style="color:rgb(0, 0, 0)"> will be better than using </span><font style="color:rgb(0, 0, 0)" color="#D31E25">the </font><span style="color:rgb(0, 0, 0)">address directly.</span><br style="color:rgb(0, 0, 0)">
<br style="color:rgb(0, 0, 0)"><font style="color:rgb(0, 0, 0)" color="#D31E25">The </font><span style="color:rgb(0, 0, 0)">API list </span><font style="color:rgb(0, 0, 0)" color="#D31E25">is</font><span style="color:rgb(0, 0, 0)"> as </span><font style="color:rgb(0, 0, 0)" color="#D31E25">shown </font><span style="color:rgb(0, 0, 0)">below. I will complete the user manual of the API first. </span><div style="color:rgb(0, 0, 0)">
<br><ul><li><font size="1">creat_domain( start_address, size, attribute)</font></li><li><font size="1">set_attr(ID, & new_attribute)</font></li><li><font style="font-family:arial, helvetica, sans-serif" size="1" face="DejaVu Serif, serif">obtain_ID (address)</font></li>
<li><font style="font-family:arial, helvetica, sans-serif" size="1" face="DejaVu Serif, serif">obtain_address( ID, &address, &size)</font></li><li><font style="font-family:arial, helvetica, sans-serif" size="1" face="DejaVu Serif, serif">obtain_attr(ID, &attr)</font></li>
<li><font style="font-family:arial, helvetica, sans-serif" size="1" face="DejaVu Serif, serif">update_size(ID, &new_size)<br></font></li><li><font style="font-family:arial, helvetica, sans-serif" size="1" face="DejaVu Serif, serif">delete_domain(ID)</font></li>
<li><font style="font-family:arial, helvetica, sans-serif" size="1">get_default_attr()</font></li><li><font style="font-family:arial, helvetica, sans-serif" size="1">set_default_attr(new_attr)</font></li></ul></div><font style="color:rgb(0, 0, 0)" color="#D31E25">T</font><span style="color:rgb(0, 0, 0)">he posix API will be considered after the classic API </span><font style="color:rgb(0, 0, 0)" color="#D31E25">is</font><span style="color:rgb(0, 0, 0)"> implemented.</span><br style="color:rgb(0, 0, 0)">
<br style="color:rgb(0, 0, 0)"><font style="color:rgb(0, 0, 0)" color="#D31E25">Right n</font><span style="color:rgb(0, 0, 0)">ow I </span><font style="color:rgb(0, 0, 0)" color="#D31E25">am having</font><span style="color:rgb(0, 0, 0)"> a strange problem </span><font style="color:rgb(0, 0, 0)" color="#D31E25">in the</font><span style="color:rgb(0, 0, 0)"> PSIM environment. </span><br style="color:rgb(0, 0, 0)">
<span style="color:rgb(0, 0, 0)">Although </span><font style="color:rgb(0, 0, 0)" color="#D31E25">the </font><span style="color:rgb(0, 0, 0)">MSR </span><font style="color:rgb(0, 0, 0)" color="#D31E25">is</font><span style="color:rgb(0, 0, 0)"> set as expected, PTEG , SPTEG , tlb are all flushed, the DSI exception </span><font style="color:rgb(0, 0, 0)" color="#D31E25">is </font><span style="color:rgb(0, 0, 0)">still never </span><font style="color:rgb(0, 0, 0)" color="#D31E25">taken</font><span style="color:rgb(0, 0, 0)">.</span><br style="color:rgb(0, 0, 0)">
<span style="color:rgb(0, 0, 0)">if anyone </span><font style="color:rgb(0, 0, 0)" color="#D31E25">has</font><span style="color:rgb(0, 0, 0)"> met this kind of problem </span><font style="color:rgb(0, 0, 0)" color="#D31E25">or has any debugging suggestions</font><span style="color:rgb(0, 0, 0)">, please share your idea with me. That will help me a lot.</span><br style="color:rgb(0, 0, 0)">
<br style="color:rgb(0, 0, 0)"><span style="color:rgb(0, 0, 0)">And any s</span><font style="color:rgb(0, 0, 0)" color="#D31E25">u</font><span style="color:rgb(0, 0, 0)">ggestion about the API function design will be appreciate</span><font style="color:rgb(0, 0, 0)" color="#D31E25">d</font><span style="color:rgb(0, 0, 0)">.</span>
</div></div><br clear="all"><br>-- <br>Best regards<br><br>Quanming Shi<br><br>