Weekly Progress Report Thread: Xen on Beagleboard-x15

135 views
Skip to first unread message

Denis Obrezkov

unread,
May 29, 2019, 1:22:42 PM5/29/19
to BeagleBoard GSoC
Hello,

this is a week #0 status update for the GSoC 2019 project Xen on Beagleboard-x15

  • Accomplishments:
    • I made an introductory youtube video
    • Purchased hardware (power adapters and a debugger)
    • Downloaded and structured documentation on ARM and Beagleboard
  • Resolutions to blockers:
    • No blockers
  • On-going blockers:
    • Lack of the hardware
  • Plans for the next week:
    • To run Xen on qemu-arm and document the process
    • To set up the development environment (define a workflow and choose a toolchain and software versions).
This thread will be used for weekly progress updates of the project.

Jason Kridner

unread,
May 30, 2019, 9:17:27 AM5/30/19
to beaglebo...@googlegroups.com


On May 29, 2019, at 1:22 PM, Denis Obrezkov <deniso...@gmail.com> wrote:

Hello,

this is a week #0 status update for the GSoC 2019 project Xen on Beagleboard-x15

  • Accomplishments:
    • I made an introductory youtube video
    • Purchased hardware (power adapters and a debugger)
    • Downloaded and structured documentation on ARM and Beagleboard
  • Resolutions to blockers:
    • No blockers
  • On-going blockers:
    • Lack of the hardware

There’s a lack of hardware?

I have a hardware order of Arrow WEB-SO17644708. 

image1.jpeg

  • Plans for the next week:
    • To run Xen on qemu-arm and document the process
    • To set up the development environment (define a workflow and choose a toolchain and software versions).
This thread will be used for weekly progress updates of the project.

--
https://beagleboard.org/gsoc
---
You received this message because you are subscribed to the Google Groups "BeagleBoard GSoC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard-gs...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard-gsoc/60dc72b8-4a37-4553-bb59-326a2f140aef%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Denis Obrezkov

unread,
May 30, 2019, 2:17:25 PM5/30/19
to BeagleBoard GSoC


On May 29, 2019, at 1:22 PM, Denis Obrezkov <deniso...@gmail.com> wrote:

Hello,

this is a week #0 status update for the GSoC 2019 project Xen on Beagleboard-x15

  • Accomplishments:
    • I made an introductory youtube video
    • Purchased hardware (power adapters and a debugger)
    • Downloaded and structured documentation on ARM and Beagleboard
  • Resolutions to blockers:
    • No blockers
  • On-going blockers:
    • Lack of the hardware

There’s a lack of hardware?
I am talking about power adapters and a debugger. I purchased them and they should come soon (don't know when exactly). 

I have a hardware order of Arrow WEB-SO17644708. 

image1.jpeg

  • Plans for the next week:
    • To run Xen on qemu-arm and document the process
    • To set up the development environment (define a workflow and choose a toolchain and software versions).
This thread will be used for weekly progress updates of the project.

--
https://beagleboard.org/gsoc
---
You received this message because you are subscribed to the Google Groups "BeagleBoard GSoC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beaglebo...@googlegroups.com.

Denis Obrezkov

unread,
Jun 3, 2019, 6:37:50 PM6/3/19
to BeagleBoard GSoC
This is a week #1 status update for the GSoC 2019 project Xen on Beagleboard-x15:

Accomplishments:
I am in the process of making xen run on qemu-arm.
Currently, there is xen output, it hangs on starting Credit2 scheduler (perhaps during bad interrupt controller)
Resolutions to blockers:
Not Resolved - hardware haven't arrived yet
On-going blockers:
Lack of the hardware (adapters and debuggers haven't arrived yet)
Non-starting xen scheduler 

Plans for the next week:
To run Xen on qemu-arm and document the process
To set up the development environment (define a workflow and choose a toolchain and software versions).
To buy hardware in a local store if it doesn't arrive in two or three days.
To start implementing interrupt controller support for Xen.

This thread is used for weekly progress updates of the project.

Denis Obrezkov

unread,
Jun 12, 2019, 5:36:48 AM6/12/19
to BeagleBoard GSoC
This is a week #2 status update for the GSoC 2019 project Xen on Beagleboard-x15:

Accomplishments:
I was able to run xen dom0 and domU simultaneously on qemu-arm64.
Currently, I need to figure out how to deal with their consoles
The description of the process of installing xen on qemu is almost ready
Resolutions to blockers:
I bought a power supply
I asked a secretary of my lab to repurchase the debugger from another place (from mouser.de)
On-going blockers:
Lack of the hardware (the debugger hasn't arrived yet)
Not-known how to deal with consoles
Plans for the next week:
To check the board with u-boot+Linux+busybox
To buy also a usb-ttl adapter and electrostatic bracelet
Try to understand how interrupt controller works
If hardware arrives to start implementing interrupt controller

Julien Grall

unread,
Jun 12, 2019, 7:02:02 AM6/12/19
to beaglebo...@googlegroups.com
Hi,

On Wed, Jun 12, 2019 at 10:36 AM Denis Obrezkov <deniso...@gmail.com> wrote:
>
> This is a week #2 status update for the GSoC 2019 project Xen on Beagleboard-x15:
>
> Accomplishments:
> I was able to run xen dom0 and domU simultaneously on qemu-arm64.
> Currently, I need to figure out how to deal with their consoles
> The description of the process of installing xen on qemu is almost ready
> Resolutions to blockers:
> I bought a power supply
> I asked a secretary of my lab to repurchase the debugger from another place (from mouser.de)
> On-going blockers:
> Lack of the hardware (the debugger hasn't arrived yet)
> Not-known how to deal with consoles

I guess this is related to the post on xen-users today?

> Plans for the next week:
> To check the board with u-boot+Linux+busybox
> To buy also a usb-ttl adapter and electrostatic bracelet
> Try to understand how interrupt controller works
> If hardware arrives to start implementing interrupt controller

By hardware, do you mean the debugger? If so, I don't think it is
required for starting to implement the interrupt controller.

Cheers,

Denis Obrezkov

unread,
Jun 12, 2019, 8:05:58 AM6/12/19
to BeagleBoard GSoC
Hi,

>
> Hi,
>
> On Wed, Jun 12, 2019 at 10:36 AM Denis Obrezkov <deniso...@gmail.com> wrote:
> >
> > This is a week #2 status update for the GSoC 2019 project Xen on Beagleboard-x15:
> >
> > Accomplishments:
> > I was able to run xen dom0 and domU simultaneously on qemu-arm64.
> > Currently, I need to figure out how to deal with their consoles
> > The description of the process of installing xen on qemu is almost ready
> > Resolutions to blockers:
> > I bought a power supply
> > I asked a secretary of my lab to repurchase the debugger from another place (from mouser.de)
> > On-going blockers:
> > Lack of the hardware (the debugger hasn't arrived yet)
> > Not-known how to deal with consoles
>
> I guess this is related to the post on xen-users today?
Yes, it was.
>
> > Plans for the next week:
> > To check the board with u-boot+Linux+busybox
> > To buy also a usb-ttl adapter and electrostatic bracelet
> > Try to understand how interrupt controller works
> > If hardware arrives to start implementing interrupt controller
>
> By hardware, do you mean the debugger? If so, I don't think it is
> required for starting to implement the interrupt controller.
>
Oh, great, then I will start to do it without it. I also thought about
this today.
> Cheers,
>
> --
> https://beagleboard.org/gsoc
> ---
> You received this message because you are subscribed to the Google Groups "BeagleBoard GSoC" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard-gs...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard-gsoc/CAF3u54A7y4guiu_Nnp1jsr6JW5PDA4LyWdJEjiYm_5ByqUtrNg%40mail.gmail.com.

Denis Obrezkov

unread,
Jun 12, 2019, 8:21:59 AM6/12/19
to BeagleBoard GSoC
Another accomplishment:
The description of how to install Xen on Qemu for arm64 platform is ready:
Hi,

>
> Hi,
> To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard-gsoc+unsubscribe@googlegroups.com.

Julien Grall

unread,
Jun 12, 2019, 8:24:59 AM6/12/19
to beaglebo...@googlegroups.com
On Wed, Jun 12, 2019 at 1:22 PM Denis Obrezkov <deniso...@gmail.com> wrote:
>
> Another accomplishment:
> The description of how to install Xen on Qemu for arm64 platform is ready:
> https://medium.com/@denisobrezkov/xen-on-arm-and-qemu-1654f24dea75?postPublishedType=repub

Thank you for the post. May I ask if you can update the wiki page with
your fixes? :)

For the rootfs part, we may want to provide different alternatives so
the user can decide what is the most suitable way for him.

Cheers,
>> > To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard-gs...@googlegroups.com.
> --
> https://beagleboard.org/gsoc
> ---
> You received this message because you are subscribed to the Google Groups "BeagleBoard GSoC" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard-gs...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard-gsoc/bd081894-493d-4d81-8874-c70229d406d4%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--
Julien Grall

Denis Obrezkov

unread,
Jun 12, 2019, 8:28:40 AM6/12/19
to BeagleBoard GSoC
>
> > Another accomplishment:
> > The description of how to install Xen on Qemu for arm64 platform is ready:
> > https://medium.com/@denisobrezkov/xen-on-arm-and-qemu-1654f24dea75?postPublishedType=repub
>
> Thank you for the post. May I ask if you can update the wiki page with
> your fixes? :)
Do you mean this wiki-page:
https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions#Building_Xen_on_ARM
The main question is what to update?
Because the wiki pages shows another example where uefi and a
ready-to-use image are used along with xl.
> To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard-gsoc/CAF3u54CX4StEy6NLCP640AQ0Z2Rpky%2BZ%3Dif4cu7_tpno4iz2Ng%40mail.gmail.com.

Julien Grall

unread,
Jun 12, 2019, 10:41:37 AM6/12/19
to beaglebo...@googlegroups.com, Stefano Stabellini
(+ Stefano)

Hi,

On Wed, Jun 12, 2019 at 1:28 PM Denis Obrezkov <deniso...@gmail.com> wrote:
>
> >
> > > Another accomplishment:
> > > The description of how to install Xen on Qemu for arm64 platform is ready:
> > > https://medium.com/@denisobrezkov/xen-on-arm-and-qemu-1654f24dea75?postPublishedType=repub
> >
> > Thank you for the post. May I ask if you can update the wiki page with
> > your fixes? :)
> Do you mean this wiki-page:
> https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions#Building_Xen_on_ARM
> The main question is what to update?
> Because the wiki pages shows another example where uefi and a
> ready-to-use image are used along with xl.

I think anything "board" specific (e.g U-boot configuration) should go
in QEMU page.

For the rest, it depends on your suggestion. For the rootfs, we may
want to create a new page.

Stefano any opinion?

Cheers,
> To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard-gsoc/CAGPpAzXVsbTJb9iegsrf5zhSoYEAs0Fm893mh%3DqcJMQD7Ue4SQ%40mail.gmail.com.

Denis Obrezkov

unread,
Jun 17, 2019, 5:22:28 PM6/17/19
to BeagleBoard GSoC
This is a week #3 status update for the GSoC 2019 project Xen on Beagleboard-x15

Accomplishments:
I was able to run u-boot+Linux+busybox on bb-x15
I've tried to boot Xen and got to the booting problem 

Resolutions to blockers:
I found usb-ttl, sd card and ethernet cable last week
The debugger should arrive approx. in 10 days

On-going blockers:
I wait for the debugger
I don't really understand how to debug the hardware via a serial port
I don't have clear understanding on where the problem with booting is located

Plans for the next week:
To try to understand what is a booting order and how configuration should be done
To try to understand how an interrupt controller works
To test the previous Iain's work
To try to boot further 
To start implementing interrupt controller support.

Julien Grall

unread,
Jun 17, 2019, 5:34:09 PM6/17/19
to beaglebo...@googlegroups.com
Hi Denis,

Thank you for the update.


On Mon, 17 Jun 2019, 22:22 Denis Obrezkov, <deniso...@gmail.com> wrote:
This is a week #3 status update for the GSoC 2019 project Xen on Beagleboard-x15

Accomplishments:
I was able to run u-boot+Linux+busybox on bb-x15
I've tried to boot Xen and got to the booting problem 

Resolutions to blockers:
I found usb-ttl, sd card and ethernet cable last week
The debugger should arrive approx. in 10 days

On-going blockers:
I wait for the debugger
I don't really understand how to debug the hardware via a serial port

Hmm, in which way? With GDB?

In general, when I only have the serial port in hand, I will just print characters in key place to see how far it goes.


I don't have clear understanding on where the problem with booting is located

We can have an IRC chat about this tomorrow.


Plans for the next week:
To try to understand what is a booting order and how configuration should be done

Could you expand about the booting order?

To try to understand how an interrupt controller works
To test the previous Iain's work

From the thread today, I am not sure this is going to be useful. We already know that lain didn't face the SMP issue because he removed the secondary CPU from the DT. It would be more interesting to understand whether Linux is able to bring-up the secondary CPU in Hyp mode.

To try to boot further 

Have you tried removing the CPU from the DT?

To start implementing interrupt controller support.


Cheers,

--
https://beagleboard.org/gsoc
---
You received this message because you are subscribed to the Google Groups "BeagleBoard GSoC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard-gs...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard-gsoc/8d5ba830-07ec-4e99-bed5-3f27dee680c3%40googlegroups.com.

Denis Obrezkov

unread,
Jun 18, 2019, 5:43:59 AM6/18/19
to BeagleBoard GSoC
A small update:
When we tried to cancel our order digi-key started to work:

Denis Obrezkov

unread,
Jun 24, 2019, 6:15:33 PM6/24/19
to BeagleBoard GSoC
This is a week #4 status update for the GSoC 2019 project Xen on Beagleboard-x15:

Accomplishments:
I was able to send the first patch for a review
I wrote a small function that switches the secondary core to HYP mode

Resolutions to blockers:
The debugger and power supplies have arrived
I use print functions to debug code

On-going blockers:
I don't understand how Linux sets up the master clock on OMAP5
I have an error  when I trying to boot, I need to investigate its nature

Plans for the next week:
To start working with the arrived debugger
To initialize all the required clocks
To understand how interrupt controller functions on BB-x15.

Iain Hunter

unread,
Jun 26, 2019, 12:45:38 PM6/26/19
to BeagleBoard GSoC


On Monday, 24 June 2019 23:15:33 UTC+1, Denis Obrezkov wrote:
This is a week #4 status update for the GSoC 2019 project Xen on Beagleboard-x15:

Accomplishments:
I was able to send the first patch for a review
I wrote a small function that switches the secondary core to HYP mode

Resolutions to blockers:
The debugger and power supplies have arrived
I use print functions to debug code

On-going blockers:
I don't understand how Linux sets up the master clock on OMAP5

The only clock issue I had was solved by adding clock-frequency element to armv7-timer entry in the device tree. See patches/kernel/0008-set-armv7-time-to-6-14-MHz-rate-in-DT.patch

The kernel takes almost all its configurations/settings from the device tree file.

Denis Obrezkov

unread,
Jul 1, 2019, 4:59:53 PM7/1/19
to BeagleBoard GSoC
This is a week #5 status update for the GSoC 2019 project Xen on Beagleboard-x15

Accomplishments:
I fixed clock frequency and add memory mapping (more in resolution to blockers)
I started to work with the debugger

Resolutions to blockers:
I was able to fix clock frequency via setting up a constant value in a device tree
An additional memory-mapping was adding as it was done in Iain's patch

On-going blockers:
I stuck when xen is trying to deal with the secondary IRQ controller called crossbar (https://pastebin.com/U0gch9us)

Plans for the next week:
To  work with the debugger
To understand how interrupt controllers function on BB-x15
To try to integrate the "crossbar" IRQ controller into Xen.

Denis Obrezkov

unread,
Jul 8, 2019, 6:23:35 PM7/8/19
to BeagleBoard GSoC
This is a week #6 status update for the GSoC 2019 project Xen on Beagleboard-x15

Accomplishments:
I understood how the crossbar works and started to implement its support in xen

Resolutions to blockers:
I'm implementing the crossbar support 

On-going blockers:
I still need to implement the crossbar support and understand how xen deals with interrupts and a console 

Plans for the next week:
To work with the debugger
To implement the crossbar support (make_crossbar_node)
To allow xen to receive uart interrupts.

Denis Obrezkov

unread,
Jul 15, 2019, 6:13:34 PM7/15/19
to BeagleBoard GSoC
This is a week #7 status update for the GSoC 2019 project Xen on Beagleboard-x15

Accomplishments:
I added the crossbar node and started to work on routing interrupts to GIC

Resolutions to blockers:
The crossbar node is added
The naive implementation of the irq number  translation function is added

On-going blockers:
I'm trying to add the irq number translation function for the crossbar (it is not working correctly for now)

Plans for the next week:
To implement the crossbar support (route interrupts to GIC)

Denis Obrezkov

unread,
Jul 21, 2019, 10:33:52 AM7/21/19
to beaglebo...@googlegroups.com, Julien Grall, sstab...@kernel.org, hy-...@hy-research.com, drhun...@gmail.com
Hello dear mentors,

Just three days ago my ssd has died. I notified Julien about this
unlucky incident. Fortunately, all my GSoC-related data was either on
Github or in other places. So, right now everything is working - I
purchased a new SSD and installed an operating system and tools.

And now I am on the same point as before the ssd - crossbar is working
to some extent, uart interrupts are going to xen, Linux feils with:
[ 0.000000] random: get_random_bytes called from
start_kernel+0x2fc/0x4b4 with c0
[ 0.000000] irq: no irq domain found for crossbar !

[ 0.000000] Internal error: Oops - undefined instruction: 0 [#1] SMP
ARM
[ 0.000000] Modules linked in:

[ 0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted
5.2.0-07109-gd7d170a8e357 4
[ 0.000000] Hardware name: Generic DRA74X (Flattened Device Tree)

[ 0.000000] PC is at __omap_sync32k_timer_init+0x1f0/0x34c

[ 0.000000] LR is at irq_create_fwspec_mapping+0x1d8/0x330

[ 0.000000] pc : [<c0c0c570>] lr : [<c01a00c0>] psr: a

--
Regards, Denis Obrezkov

Denis Obrezkov

unread,
Jul 22, 2019, 6:26:55 PM7/22/19
to BeagleBoard GSoC
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.

Denis Obrezkov

unread,
Jul 29, 2019, 7:42:41 PM7/29/19
to BeagleBoard GSoC
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

Denis Obrezkov

unread,
Aug 5, 2019, 7:37:02 PM8/5/19
to BeagleBoard GSoC
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.

Denis Obrezkov

unread,
Aug 12, 2019, 9:38:43 PM8/12/19
to BeagleBoard GSoC
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

Denis Obrezkov

unread,
Aug 19, 2019, 7:25:57 PM8/19/19
to BeagleBoard GSoC
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

Denis Obrezkov

unread,
Aug 26, 2019, 7:43:03 PM8/26/19
to BeagleBoard GSoC
This is the last status update for the GSoC 2019 project Xen on Beagleboard-x15

Accomplishments:
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.
Reply all
Reply to author
Forward
0 new messages