Weekly Progress Report Thread: Xen on Beagleboard-x15

This is a week #8 status update for the GSoC 2019 project Xen on Beagleboard-x15:

Accomplishments:
I was able to make interrupts go through the crossbar to GIC
Unfortunately, my ssd disk died and around two days I spent on recovering

Resolutions to blockers:

The translation in the crossbar is done and interrupts can be received by xen

On-going blockers:
I faced the error - the crossbar’s domain can’t be understood by Linux (or it is a symptom of the real problem). I need (I think) to figure out how to prepare and present the crossbar node for Linux

Plans for the next week:

To implement the crossbar support (to prepare the crossbar node for Linux)
To start implementing the crossbar support (interrupt translation) the right way.

This is a week #9 status update for the GSoC 2019 project Xen on Beagleboard-x15:

Accomplishments:
I was able to pass a crossbar to Linux (start processing interrupt-parent in xen)
Linux boots till the prompt but can’t receive events

Resolutions to blockers:

Added interrupt-parent processing in xen

On-going blockers:
Linux console (busybox) doesn’t receive interrupts

Plans for the next week:

To make Linux receive events
To start implementing the crossbar support (interrupt translation) the right way.

This is a week #10 status update for the GSoC 2019 project Xen on Beagleboard-x15:

Accomplishments:
I was able to boot further and to find out why dom0 didn’t receive interrupts (I forgot/didn’t that I need to change reg address in crossbar node in dt in my first quick attempt)

Resolutions to blockers:

Started to work on implementing real crossbar support via xen’s mmio handlers

On-going blockers:
Interrupts are switched in dom0 and Xen should change them accordingly

Plans for the next week:

To implement crossbar support (to receive interrupts from Linux and change the Xen’s internal representation accordingly)
To discuss with mentors how to prepare my work for the upcoming final evaluation.

This is a week #11 status update for the GSoC 2019 project Xen on Beagleboard-x15:

Accomplishments:
I was able to boot till the console prompt (the crossbar is passed to Linux and set up by it)

We started to discuss with mentors how to prepare for the upcoming evaluation

Resolutions to blockers:

I implemented mmio handlers, so, now the interrupts are changed according to dom0 will

On-going blockers:
We make an assumption that vgic irq = gic irq which may lead to some mistakes (it is probably needed to be investigated further)

Plans for the next week:

To implement crossbar support (to tidy up the fundamental code, to test the crossbar support and prepare the patch)
To develop documentation

To discuss with mentors how to prepare my work for the upcoming final evaluation.

This is a week #12 status update for the GSoC 2019 project Xen on Beagleboard-x15:

Accomplishments:
I have started to tidy up the code
I have started to write the documentation

Resolutions to blockers:

The assumption vgic irq = gic should be true because we map it this way during the early stage

On-going blockers:
It is not clear what is required for the crossbar to work (e.g. should there be a function for crossbar node parsing)

Plans for the next week:

To implement crossbar support (to tidy up the fundamental code, to test the crossbar support and prepare the patch)
To develop final report and documentation

This is the last status update for the GSoC 2019 project Xen on Beagleboard-x15:

Accomplishments:
I tidied up the code: https://github.com/embeddedden/xen/compare/master...embeddedden:patch_for_gsoc?expand=1

I wrote the final report: https://medium.com/@denisobrezkov/xen-on-beagleboard-x15-a517ea7d9bb
I made the final evaluation for GSoC

Resolutions to blockers:

I removed a special function for crossbar node parsing and now it is parsed as any other common device

On-going blockers:
There are no more blockers in the project within GSoC 2019

Plans for the next week:

To prepare a patch for Xen if Xen mentors would like to see it

To start living a life without GSoC.