[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [GSoC] Xen on ARM: create multiple guests from device tree



Hi Stefano,

2017-03-21 21:36 GMT+01:00 Stefano Stabellini <sstabellini@xxxxxxxxxx>:
On Tue, 21 Mar 2017, Luca Miccio wrote:
> Hi,
> I'm an undergraduate student from the Computer Science Bachelor's Degree
> of the University of Modena and Reggio Emilia (Italy).
>
> I'm very interested in the "Xen on ARM: create multiple guests from device tree"
> project.
> A year ago I started a project on the "Hikey" board with the Android operating
> system in order to integrate BFQ - which is a proportional-share storage-I/O
> scheduler - in it  improving the device performances. Now the project is still in
> development and it is supervised by my professor which, also, told me about GSoC.
> Since I studied the C language for a full year at university and I already had to deal
> with kernel-stuffs, cross-compiling and so on, I chose this project.
>
> Since I'm not very familiar with the "device tree" notion, I'm wondering if you could give me
> some suggestions on where I could start from.
>
> The first thing I will do is to install xen and start to familiarize with it.
> Any advice regarding this project will be really appreciated.

Hello Luca,

Thanks for your interest in Xen on ARM! Like you wrote, I would start by
compiling Xen from source and installing it on your board. The HiKey is
a decent option, but it can be difficult to work with if you don't have
serial access. I know that uart connectors for the HiKey are sold
separetely:

http://www.96boards.org/product/uarts/ 
Otherwise, you could use the ARMv8 Foundation Platform, which is a
free (as in beer) software emulator:

https://developer.arm.com/products/system-design/fixed-virtual-platforms
https://community.arm.com/processors/b/blog/posts/virtualization-on-arm-with-xen

 
I chose this option for now 

Unfortunately all our guides on installing Xen on the Foundation Model
are outdated, but I know that Andre (CC'ed) is using it for development.
He should be able to help you if you run into any issues.

I tried to install and setting up xen with the blog post that you have mentioned 
above and i have some issues when compiling the boot wrapper with 
the git repository provided in the post.

In particular i get this error when executing this command:
$ make CROSS_COMPILE=aarch64-linux-gnu- FDT_SRC=foundation-v8.dts IMAGE=xen-system.axf

This is the error i get:

aarch64-linux-gnu-gcc  -DCNTFRQ=0x01800000 -DUART_BASE=0x1c090000 -DSYSREGS_BASE=0x1c010000 -DGIC_DIST_BASE=0x2c001000 -DGIC_CPU_BASE=0x2c002000 -c -o boot.xen.o boot.S -DXEN
aarch64-linux-gnu-gcc  -DPHYS_OFFSET=0x80000000 -DMBOX_OFFSET=0xfff8 -DBOOT=boot.xen.o -DXEN_OFFSET=0xA00000 -DKERNEL_OFFSET=0x80000 -DFDT_OFFSET=0x08000000 -DFS_OFFSET=0x10000000 -DXEN=Xen -DKERNEL=Image -DFILESYSTEM=filesystem.cpio.gz -E -P -C -o model.xen.lds model.lds.S
aarch64-linux-gnu-gcc  -DCNTFRQ=0x01800000 -DUART_BASE=0x1c090000 -DSYSREGS_BASE=0x1c010000 -DGIC_DIST_BASE=0x2c001000 -DGIC_CPU_BASE=0x2c002000 -c -o boot.o boot.S
aarch64-linux-gnu-gcc  -DPHYS_OFFSET=0x80000000 -DMBOX_OFFSET=0xfff8 -DBOOT=boot.o -DKERNEL_OFFSET=0x80000 -DFDT_OFFSET=0x08000000 -DFS_OFFSET=0x10000000 -DKERNEL=Image -DFILESYSTEM=filesystem.cpio.gz -E -P -C -o model.lds model.lds.S
aarch64-linux-gnu-ld -o xen-system.axf --script=model.xen.lds
aarch64-linux-gnu-ld: section .xen LMA [0000000080a00000,0000000080ac814f] overlaps section .kernel LMA [0000000080080000,0000000080f009ff]
Makefile:78: set di istruzioni per l'obiettivo "xen-system.axf" non riuscito
make: *** [xen-system.axf] Errore 1

Clearly there is a problem with the offset of xen section but i can't figure out how to solve it.

I booted correctly a different kernel image with another .axf file only to test the Foundation Model
and it worked with no problems.

It maybe be helpful my toolchain version:
 aarch64-linux-gnu-gcc (Debian 6.3.0-9) 6.3.0 20170316

I am using all the file provided by the post at the link ( in particular the Foundation-v8.dts file):

If you need any type of information, please ask.


However I have correctly compiled xen from source  on my laptop and i am trying to become familiar with the hypervisor itself.

After you complete the setup of the building and testing environments,
the next thing to do is getting familiar with the code. The best way to
do that is by fixing any of the bugs or implementing any of the features
on the Xen Project Tracker:

https://xenproject.atlassian.net/projects/XEN/issues

Most of the items listed are large projects, but some of them are pretty
small, small enough to be a starting point. For example XEN-29 (Add
-fstack-protector support to the hypervisor), or XEN-10 (Clean target
makefile should remove all temporary for every architecture).

I took a look at the list and i have already fixed the XEN-10 task. If it's not a problem  i 
would submit the patch for this small fix, while i am figuring out how to solve my compilation
issue described above.

Cheers,

Stefano

Best regards, 

Luca 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.