<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Feb 21, 2021 at 12:00 AM Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Sanskar,<br>
<br>
We had a student (Utkarsh) work on this project last year. I have CC'd<br>
him here, and he may be able to suggest some ideas/updates.<br>
<br>
On Sat, Feb 20, 2021 at 7:17 AM Sanskar Khandelwal<br>
<<a href="mailto:kdsanskar07@gmail.com" target="_blank">kdsanskar07@gmail.com</a>> wrote:<br>
><br>
> Hello,<br></blockquote><div><br></div><div>Hello Sanskar,</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> I want to do a project related to memory Protection, I am thinking of adding support for Physical Memory Protection(PMP) to risc-v based bsps. Actually I came across this 2 days back so I know the basic concept but I don't have a clear understanding of how actually it will be implemented yet. So before going into more detail I wanted to ask, can this be a gsoc project ? Also if someone can guide me on how I should proceed further it will be a big help.</blockquote><div> </div><div></div><div>There are a few things to be kept in mind while adding support for an MPU/PMP. You need to get the linker script in order to place the relevant sections (txt, bss,etc.) in the memory region of your choice. Then you need to set up page table entries for these regions, with proper access flags, at system startup. Setting up page table entries is an architecture specif task, as each architecture has its own implementation of MPU/PMP( although the overarching concept is the same). You may have to look at the RISC-V manual and a few other sources to get a 'feel' for how this is to be done. You can have a look at this <a href="http://heshamelmatary.blogspot.com/2013/09/inside-low-level-details-of-rtemsmmu.html">post</a>, for the low-level details of ARMv7 MMU implementation. I would suggest you to first look at how it is done for ARMv7 MMU, by setting up a debugger and walking through the whole process. You can take up the realview BSP for the same. </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
><br>
> thanks<br>
> --sanskar<br>
</blockquote></div></div>