MMU was Re: Contribute to a project under GSOC 2018

Abhinav Jain jainab.2009 at
Wed Mar 7 05:19:46 UTC 2018


Thanks a lot for the guidance. I will study the documents provided by you
and will try to find more about this to increase my knowledge about Memory
I will start preparing a draft proposal as per the template provided on the
RTEMS GSoC page.

Thanks and Regards
Abhinav Jain

On Mar 6, 2018 10:25 PM, "Gedare Bloom" <gedare at> wrote:

On Sun, Mar 4, 2018 at 1:50 AM, Abhinav Jain <jainab.2009 at> wrote:
> Sir,
> Thanks for your time and consideration. I was discussing this project with
> Gedare Sir and he guided me, how to proceed.
> I am studying various things before proceeding with the code part but for
> now, I request you to please guide me what should be my next steps to work
> on this project under GSOC'18.
> Thanks and Regards
> Abhinav Jain
> On Sun, Mar 4, 2018 at 10:48 AM, Hesham Almatary <heshamelmatary at
> wrote:
>> On Sun, Mar 4, 2018 at 10:20 AM, Joel Sherrill <joel at> wrote:
>> >
>> >
>> > On Mar 3, 2018 12:16 PM, "Abhinav Jain" <jainab.2009 at> wrote:
>> >
>> > Sir/Madam,
>> >
>> > I am Abhinav Jain, a second-year engineering student from Delhi, India.
>> > I
>> > have been working in Linux Kernel Development, I have been writing
>> > drivers and have a good knowledge of the operating system.
>> > I have been studying about Memory Protection project(ticket #2904) for
>> > around a month and found it really interesting. I studied about POSIX,
>> > MMU
>> > support in various other architecture and the memory protection APIs in
>> > various operating systems.I have been discussing the same on the
>> > list.
>> > I also solved an issue (#2522) around a week ago to gain some hands-on
>> > code.
>> >

>> >
>> > Welcome aboard.
>> >
>> >
>> > I would like to work on the Memory Protection project under GSOC 2018,
>> > so I
>> > request you to please guide me regarding the steps to be followed.
>> >
>> >
>> > Gedare conceived of what's there be so I cc'ed him. My recollection is
>> > that
>> > there were specific things he wanted to change and when that was
>> > addressed,
>> > providing support for arenas on multiple architecture is desirable
>> >
>> +1
>> There might be an opportunity to port RTEMS to RISC-V's Supervisor
>> Mode which will need MMU support (currently it only runs on M-Mode
>> which doesn't have MMU). Both QEMU and Spike simulators support
>> S-Mode.
Start to develop a draft proposal if you have not yet, starting with
our template. A successful proposal must contain a sound design and
good plan, which you will need a lot of time and feedback to develop.

Don't read too much about 64-bit processor architectures and their
needs, since we have limited support there. The first issue to resolve
is what kind of BSP-level interface should we provide over MMU/MPU
hardware, and then what can we do to use that BSP layer to provide
upper-layer services such as managed memory regions, better mmap()
support, "arena" allocators, etc. There are three views here:
1. no mmu/mpu is available or it is not desired by end users.
2. mmu/mpu are available, but should only be manipulated
3. mmu/mpu are available, and can be changed dynamically.

Managing #3 is the hardest, but accommodating 1 and 2 in any system
design is important. Another important concern is mmu/mpu with limited
numbers of entries. Right now, we exist mainly in #1, and #2 is only
used to setup a linear 1:1 memory map with all permissions enabled
when the MMU/MPU can't be turned off. A few projects exist here and
there to also restrict permissions to thread stacks with a hook in the
context switch to change the mpu/mmu state.

Since RTEMS has no multi-process model, the existing solutions in
general-purpose commodity OS do not apply, but you should still be
familiar with how they work for sure. It would also be good for you to
review the solutions in the commodity RTOS domain, e.g. what does
vxworks, safertos, threadx, etc., provides in this field.

Some relevant citations to get more relevant background:

>> >
>> >
>> > Thanks and Regards
>> > Abhinav Jain
>> >
>> > _______________________________________________
>> > devel mailing list
>> > devel at
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > devel mailing list
>> > devel at
>> >
>> --
>> Hesham
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the devel mailing list