= Google Summer of Code 2020 = [[TOC(GSoC/2020, depth=2)]] This page is for the students who make proposals as well as those who work on projects for RTEMS as part of GSoC 2020. = Students' Proposals = Start filling in this table for yourself as soon as possible and update as needed. || '''Student''' || '''Completed Hello''' || '''IRC Handle''' || '''Proposal Title''' || '''Google Docs URL''' || '''Final Submitted''' ||NAME || Yes or No || nick on #rtems || Project Title || [https://docs.google.com/document/d/1F5XCodvX8AYNqWX5ssu7dfjkmFT__83uf8ABKbB_Pkg/edit?usp=sharing Link to Google Docs for proposal (shared with mentors)] || Yes or No ||G. S. Niteesh Babu || Yes || niteesh || Beagle BSP: Add a flattened device tree based initialization || [https://docs.google.com/document/d/1V2RitYJOvWOvfow99hPUFB034iw4gb4eSfH8MixHnrk/edit?usp=sharing Beagle BSP: Add a flattened device tree based initialization] || Yes ||Mritunjay Kumar Sharma || Yes || mritunjay394 || BSP Buildset for EPICS || [https://docs.google.com/document/d/1G0rA1Ri6qxfiMlCC6JKpCAIq1tvpgUNoM6rCoXdeUPk/edit?usp=sharing BSP Buildset for EPICS Project Proposal] || Yes || Eshan Dhawan || Yes || eshandhawan51 || POSIX Complience ||[https://docs.google.com/document/d/1lGgcngtHeDadC-_uGojclv7KDSLWnxqCgc9AUV8sxQ4/edit?usp=sharing POSIX Complience Project Proposal (draft)] || Yes || Denil C Verghese || Yes || tupio[m] || RTEMS Release Notes Generator ||[https://docs.google.com/document/d/1Vjeb6xl2huRicGrAMujmvoKvDUsnb9_yNA0CvL483mw/edit?usp=sharing Proposal Link(Draft)]|| No || Suyash Singh || Yes || suyashsingh234 || Clang-analyzer and LLVM sanitizer Integration || [https://docs.google.com/document/d/1OerM8Iix7PbDUCyb_J_KEzcMgLbvdqxd4FnK_BqI7XI/edit?usp=sharing Clang-analyzer and LLVM sanitizer Integration] || Yes || Anmol Mishra || Yes || anmol27katyani || RTEMS Python Standardization || [https://docs.google.com/document/d/1_G0-q7J2b-5kJzZGI32a-KpC6gMzJ1FcNFFTdMCw1c4/edit?usp=sharing Link to draft proposal(shared with mentors)] || Yes || Richi Dubey || Yes || richidubey || Improve the SMP scheduler with arbitrary processor affinity support||[https://docs.google.com/document/d/1bth9sh3qH2vMTks1yiGpZVskUcD-g5jED4a3zJx1Klc/edit?usp=sharing GSOC2020_Dubey_ProcessorAffinityinSMP] || Yes || Utkarsh Rai || Yes || ur10 || Memory Protection||[https://docs.google.com/document/d/1AawmqbfCpRDHZ4cO5-UE1J7VacubNWmn3kae4rlPrZA/edit?usp=sharing] || Yes The columns are to be filled in as follows: * The ''Student'' column is for your name. * The ''Completed Hello'' column lets us all know whether or not you completed the mandatory Hello World project. Email your proof to Gedare, Joel, and Chris Johns. * The ''IRC Handle'' column is your handle on IRC. RTEMS folks hang out in #rtems on freenode.net. * The ''Proposal Title'' should be self-explanatory. * The ''Google Docs URL'' is your proposal in Google Docs that can be reviewed and commented on by mentors. The [https://docs.google.com/document/d/1F5XCodvX8AYNqWX5ssu7dfjkmFT__83uf8ABKbB_Pkg/edit?usp=sharing proposal template] should be '''copied''' and used as a baseline. This can be shared with mentors for review. Mentors can insert comments for you. You can use this as your Draft Proposal in the [https://summerofcode.withgoogle.com GSoC site]. * The ''Final Submitted'' should be set to Yes when you have submitted your Final PDF proposal on the official [https://summerofcode.withgoogle.com GSoC site]. If you do not submit the final proposal via the Google site, you cannot be considered! = Students' Summer of Code Tracking Table = Students whose GSoC project is accepted by RTEMS shall fill in a slot with their information in the following table, which helps to centralize [wiki:Developer/GSoC/ProjectManagement SoC Project Management]. ||'''Student Name'''|| '''IRC Handle''' || '''Project Link''' || '''Repository Link on Github''' || '''Blog''' || '''Calendar''' ||NAME || nick on #rtems || [https://devel.rtems.org/wiki/GSoC/2019 Project Wiki] || [https://github.com/rtems/rtems Project's Github repo] || [https://www.rtems.org Blog] || [https://calender.google.com Project Schedule] || Richi Dubey || richidubey || [https://devel.rtems.org/wiki/GSoC/2020/Task_Shifting_APA/ Wiki] || [https://github.com/richidubey/rtems Github] || [http://rtemswithrichi.wordpress.com Blog] || [https://calendar.google.com/calendar/b/1?cid=dW9jMDdkNmtudmZnNzZ0cTUwYjRtNWVuNjRAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ Project Schedule] || Niteesh Babu G S || niteesh || [https://devel.rtems.org/wiki/GSoC/2020/Beagle_FDT_initialization/ Wiki] || [https://github.com/gs-niteesh/rtems Github] || [https://gs-niteesh.github.io/ Blog] || [https://calendar.google.com/calendar/b/1/r?pli=1 Project Schedule] ||Utkarsh Rai|| ur10 || [https://devel.rtems.org/wiki/GSoC/2020/Memory_Protection/ Wiki] || [https://github.com/ur10/rtems Github] || [https://gsoc2020memoryprotection.blogspot.com/ Blog] || [TBD] ||Mritunjay Kumar Sharma|| mritunjay394 || [https://devel.rtems.org/wiki/GSoC/2020/BSP_Buildset_For_EPICS/ Wiki] || [https://github.com/mritunjaysharma394/rtems GitHub] || [https://medium.com/@mritunjaysharma394/gsoc-2020-weekly-progress-34039fd9b2a1 Blog] || [TBD] ||Eshan Dhawan|| eshandhawan51 || [https://devel.rtems.org/wiki/GSoC/2020/POSIX_Compliance/ Wiki] || [https://github.com/eshandhawan51/rtems Github] || [https://eshandhawan51.github.io/GSoC-Notes/ Blog] || [https://calendar.google.com/calendar/b/1?cid=MmY5cmEwMnJvODdiYW11bnZpZW1hOHFhdWNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ Project schedule ] The columns are to be filled in as follows: * The ''Student'' column is for your name. * The ''IRC Handle'' column is your handle on IRC. RTEMS folks hang out in #rtems on freenode.net. * The ''Project Link'' is a link to the Wiki page for your project. * The ''Repository Link on Github'' is a link to the Github repository for your project. It should be a specific repository, not just your github account! * The ''Blog'' is a link to your blog with entries about your project. It should be updated regularly during the summer. * The '''Calendar''' is a link to your Google Calendar with milestones and deliverables identified. = Student Status Updates = Each student has a section below for putting in notes from the weekly IRC meetings. == Gedare == * Jan 3: Tracking status page created. * June 2: Held Initial Meeting. * Set format of meeting. * Discuss expectations: * Participate in IRC and mailing lists. * Attend weekly meetings and give status updates on wiki. * Post to Github each day of work. * Merge significant pieces of code as they are ready. * Provide blog posts every week as you learn new things and achieve milestones. * Frequent interaction with your mentor. * Maintain documentation as needed for your project, and update any relevant tickets. * Do not let yourself be stuck for more than a day on something. * Student Updates. * June 9: Held Meeting. * Remember to push code to personal Github repositories daily to show progress and consistent activity. * Before submitting patches review how to generate patches and use of version numbered patches using -v option of git-format-patch. * Student Updates. == Joel == * Jan 3: Let's get started! == Richi == * '''June 3:''' First Meeting * Overview of the project: Introduce strong APA scheduler implementation which would improve the current SMP scheduler in RTEMS. * Progress till now: I now have a clear understanding of the paper and my goals. I have some hours of experience trying to understand the RTEMS codes, so I am relatively in a better position than I was a month or two ago. * Blockers: Understanding RTEMS codebase is still proving to be very difficult for me. Going through each and every typedef and structure definitions that are present in different header files across different folders and linking them all together(logically in my mind) is taking up a huge amount of time. * Goals for the next meeting: Work on a simple scheduler(can be uniprocessor) and write a test to better understand scheduling/codebase of RTEMS. * '''June 10:''' Second Meeting * Progress till now: I have a better idea of the different structures and functions that we are using, like scheduler_context, scheduler_operations, and also how a scheduler is linked to its header file and the configuration file. * Goals for the next meeting: Edit the existing scheduler(Deterministic or Simple) and experiment with the existing test suites. Then add a graph structure definition(with header file and implementation) and try to be nearer to strong APA implementation by testing code related to graphs and breadth-first search. Before adding, I'd check the existing graph implementation present for deadlock detection. Also, I'd start pushing code to GitHub as frequently as possible. * Blockers: None. I'd have to get more comfortable using vim and cscope(software used to search functions and macros in a big c project). == Utkarsh == * '''June 3:''' First Meeting * '' Overview of the project'': Provide configurable thread-stack protection to threads in RTEMS * ''Progress:'' Was able to startup the MMU for xilinx_zynq BSP and isolate two pieces of memory with the MMU. * ''Goals for this week:'' Have the MMU startup along with the system initialization and isolate thread stacks from each other. * ''Blockers:'' - My understanding of the system startup code(written in assembly) is limited. == Eshan == * '''June 3:''' First Meeting * '' Overview of the project'': Add POSIX and FACE API's to RTEMS * ''Progress:'' Sent Patches to add fenv support for ARM and PowerPC * ''Goals for this week:'' send Patches for adding Fenv support for SPARC, AARCH64, MIPS . * ''Blockers:'' - Understanding and accommodating NetBSD fenv files for Newlib. == Niteesh == '''Project''': Beagle BSP: Add FDT based initialization * '''June 3:''' First Meeting * Progress: * Imported and ported OFW functions from FreeBSD to RTEMS. * Sent patches to add OFW functions * Blockers: * The directory for the FreeBSD hasn't been decided properly. * Next up: * Port the pinmux driver from FreeBSD to RTEMS * '''June 10:''' Second Meeting * Progress: * Ported pinmux driver to Beagle BSP. * Integrated with libBSD. * Blockers: * Facing few issues when using with libBSD. * Next up: * Implement a generic pinmux driver into RTEMS.