<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2015-04-02 17:38 GMT+02:00 Gedare Bloom <span dir="ltr"><<a href="mailto:gedare@rtems.org" target="_blank">gedare@rtems.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">On Thu, Apr 2, 2015 at 11:19 AM, Tomasz Gregorek<br>
<<a href="mailto:tomasz.gregorek@gmail.com">tomasz.gregorek@gmail.com</a>> wrote:<br>
> Hi Gedare<br>
><br>
> Thank you for your comments, they answer my question.<br>
><br>
> We will look at other RTOSes this time.<br>
><br>
</span>OK, I'd be happy to hear what you find or settle on. It's a topic that<br>
I have continued interest in working on for RTEMS.<br></blockquote><div> </div>I'll let you know.<div>So far I've seen some commercial RTOS with MPU. At the moment we consider even Linux so you can say that the selection process is at early stage.</div><div><br></div><div>Tomasz</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span class=""><font color="#888888"><br>
Gedare<br>
</font></span><div class=""><div class="h5"><br>
> Thanks<br>
> Tomasz<br>
><br>
> 2015-04-02 17:01 GMT+02:00 Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>>:<br>
>><br>
>> Hi Tomasz,<br>
>><br>
>> It is possible to implement some memory protection between threads. As<br>
>> you noticed, RTEMS is a SASOS with "one process" when viewed from the<br>
>> POSIX interface. Generalizing memory protection in such a system is<br>
>> hard. The most common approach I know of is to provide separate<br>
>> protection domains for each thread stack. In theory, you could create<br>
>> a protection domain for the RTEMS "kernel", but I'm not aware of<br>
>> anyone that has tried hard to do that. You may also look for the "Zero<br>
>> Kernel" work some folks did as a research project at Univ of Idaho I<br>
>> think it was.<br>
>><br>
>> If you want memory protection, you'd have to tailor it to your<br>
>> specific application requirements and set-up the MMU/MPU to do it.<br>
>> Final note: Since there is no notion of privilege in RTEMS, any thread<br>
>> can always disable or modify the protection domains since priviliged<br>
>> registers and instructions are available. Thus, while you may add<br>
>> memory protection, it would not be for a complete security solution.<br>
>><br>
>> Gedare<br>
>><br>
>> On Thu, Apr 2, 2015 at 10:04 AM, Tomasz Gregorek<br>
>> <<a href="mailto:tomasz.gregorek@gmail.com">tomasz.gregorek@gmail.com</a>> wrote:<br>
>> > Hi<br>
>> ><br>
>> > We are investigating possible OSes for a new product where one of the<br>
>> > requirements is memory protection between processes.<br>
>> ><br>
>> > Does RTEMS supports memory protection? If not than is it planned to<br>
>> > implement memory protection?<br>
>> ><br>
>> > This is what I found so far:<br>
>> ><br>
>> > RTEMS is single process, multiple threads and as such have everything in<br>
>> > single memory space.<br>
>> > <a href="http://comments.gmane.org/gmane.os.rtems.user/19858" target="_blank">http://comments.gmane.org/gmane.os.rtems.user/19858</a><br>
>> ><br>
>> > Gedare's blog with his implementation of memory protection from<br>
>> > 2011/2012.<br>
>> > <a href="http://gedare-csphd.blogspot.be/2011/12/rtems-memory-protection-api.html" target="_blank">http://gedare-csphd.blogspot.be/2011/12/rtems-memory-protection-api.html</a><br>
>> > but it seems that this code didn't get to the main.<br>
>> ><br>
>> > Project "MMU Support" by Aanjhan Ranganathan from 6 years ago:<br>
>> > <a href="https://devel.rtems.org/wiki/Projects/MMU_Support" target="_blank">https://devel.rtems.org/wiki/Projects/MMU_Support</a><br>
>> ><br>
>> > Source code configures MMUs but it seems it do it to enable cache only,<br>
>> > not<br>
>> > the memory protection. Though I did only simple search through the code.<br>
>> > There are exception handlers for some architectures/CPUs but only for<br>
>> > few if<br>
>> > not for only one.<br>
>> ><br>
>> > Best regards<br>
>> > Tomasz Gregorek<br>
>> ><br>
>> > _______________________________________________<br>
>> > users mailing list<br>
>> > <a href="mailto:users@rtems.org">users@rtems.org</a><br>
>> > <a href="http://lists.rtems.org/mailman/listinfo/users" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a><br>
><br>
><br>
</div></div></blockquote></div><br></div></div>