The Completed Hello column lets us all know whether or not you completed the mandatory Hello World project.

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 ​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 ​GSoC site.

The Final Submitted should be set to Yes when you have submitted your Final PDF proposal on the official ​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 SoC Project Management.

Next: Investigate how FreeBSD builds and links to gnu-efi (potentially problematic for us since initial research suggests the need for -fpic -shared code)

May 30

Understand how FreeBSD becomes UEFI-aware (​summarized on the mailing list - tl;dr: they use an ELF loader to boot the kernel which is compiled as an ELF image)

Investigate how relocation works and what gnu-efi's runtime "self-relocator" is meant for (spoilers: for load-time / runtime relocations for a specific subset of relocations since the dynamic shared library is meant to be a fully resolved one)

Make a minimal project to play with gnu-efi and the different ways in which we may be able to integrate it into RTEMS (to reproduce RTEMS' structure with librtems*.a, gnu-efi, and user applications)

June 6

Add crtbeginS and crtendS targets for GCC to build and use when the -shared flag is used

Configure GCC to use -fPIC by default to compile Newlib as PIC

Compile all of RTEMS as a shared library

June 13

Integrate gnu-efi into build system and have efi_main (UEFI entry point) call bsp_start as a POC demo

Work on a PoC to have FreeBSD's loader.efi's ELF loader load RTEMS' static binaries (building PoCs? for both methods, effectively) (involves installing FreeBSD and replacing its kernel with our RTEMS ELF)

June 20

Settle on (pun intended) freeloading FreeBSD's bootloader for UEFI-awareness for the port

Fix up stub port's cpu.h to reflect the x86_64 feature-set more closely

Fix up port's linker script and work on SYSINIT functions

Figure out how context initialization and switching ought to work (work in progress)

Submitted final version of the tracing documentation. It has been pushed onto the main repository.

Working on a function in the main_rtrace.c file which uses babaeltrace C API to convert RTEMS traces to CTF.

Next:

Finish CTF code generation and prepare mergeable code.

June 20:

Progress so far:

Still working on adding rtrace shell capability to convert RTEMS traces into CTF. There has been progress which I will upload on my GitHub? repository.

I have gone through libdebugger's abstraction of transport interfaces in preparation of the second phase. I need to deliver a transport mechanism to
transfer buffers to the host in this phase.

Next:

Submit mergeable code for CTF integration

Setup qemu for ARM as working environment to try qemu fat files and file transfer as a method of transport.

Write a blog on the possible transport mechanisms to be explored

June 27:

Progress so far:

I am able to generate CTF traces using the babeltrace method. I saved the rtems trace output in a raw file and used babeltrace conversion graph to convert the traces into CTF format. I have documented the process in a blogpost : ​https://vidushivashishth.github.io/eighthpost/

I have written a yaml configuration file to try the barectf method of trace conversion. I will be trying this out along with my phase 2 objectives.

I have setup qemu for ARM machines as the working environment for testing transportation mechanisms.

Blockers:

Babeltrace calls inside the rtems shell shows no output. One way around could be to transport the traces off the target to the host and then run the conversion to CTF using babeltrace.

Next:

Try qemu fat files and file transfer protocol as a transportation mechanism from the target to the host.

July 3:

Progress so far:

I am able to convert RTEMS trace output to CTF using babaletrace script.

I am working on creating a temporary transport mechanism which parses the RTEMS trace shell output from the target to the host.

Next:

Trying both of the above steps together. Possibly automate the process.

Pushing this on the Tracing repository.

Working on sockets or a transportation API as the method of transporting traces to the host from the target instead of parsing console output.

July 11:

Progress so far:

Created make file to generate trace from fileio sample.

Tried sockets as a mode of trace transportation.

Working on babeltrace plugin to convert RTEMS binary format to CTF.

Salil Sirotia

May 16

Progress so far:

Working on memcpy method and license issues to port the code in Newlib.