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

2017-03-30 Thread Luca Miccio
Hi Stefano,
sorry if i am so late but my schedule was full this week. I am currently 
preparing a presentation for an event here
in Italy and i had no time to check even my emails.

> Il giorno 29 mar 2017, alle ore 02:13, Stefano Stabellini 
>  ha scritto:
> 
> On Tue, 28 Mar 2017, Stefano Stabellini wrote:
>> Hello Luca,
>> 
>> did you manage to make any progress on the number of cores exposed by the 
>> model?
>> 
I am still not using the psci and the XEN console says that he is bringing up 
all the 4 CPUs.
>> Thank you for the Makefile patch! If you have time, I encourage you to
>> fix one of the other small outstanding bugs, for example XEN-20 or
>> XEN-11 (just the ability to load a Dom0 kernel bigger than 128MB or just
>> the ability to parse the new image_size field introduced in Linux 3.17).
>> 
I will try to give it a look this weekend but i am not sure to have the time to
make e fix soon. 
>> Finally, I would like to remind you of the upcoming deadline for
>> applications submissions, which is the 3rd of April for GSoC, see:
>> 
>> http://marc.info/?l=xen-devel&m=149071502330534
>> 
>> The GSoC application system is
>> https://summerofcode.withgoogle.com/get-started/.
>> 
>> Please give a look at the Xen Project application template here:
>> 
>> https://wiki.xenproject.org/wiki/GSoC_Student_Application_Template
>> 
>> It also includes an "Implementation Plan", where you have the chance to
>> explain the implementation plan for the project you would like to apply
>> for.
> 
> FYI I added some more information on this project here:
> http://marc.info/?l=xen-devel&m=149074542307880 
> <http://marc.info/?l=xen-devel&m=149074542307880>
> 

Thank you for all the information. Unfortunately I have not considered all of 
my personal deadlines
before attempting to approach this project. It was my mistake. Anyway I will 
try with all my strength
to fill up the application this weekend and try to submit it anyway. I like the 
Xen project, and even if
I will not be chosen for this task, surely I will continue to support and 
follow it diligently.

> 
>> 
>> On Thu, 23 Mar 2017, Luca Miccio wrote:
>>> Hello Julien
>>>> Il giorno 23 mar 2017, alle ore 15:49, Julien Grall  
>>>> ha scritto:
>>>> 
>>>> Hello Luca,
>>>> 
>>>> On 23/03/17 02:23, Luca Miccio wrote:
>>>>> I tried also this method but i had the same error. So i came up with the
>>>>> idea of removing the
>>>>> psci method from the configure and also from the dtsi file that i have
>>>>> changed.
>>>> 
>>>> I guess you are using only 1 core in this case. Am I right?
>>>> 
>>> No, i am using 4 cores, with —cores option and i think that i am using 
>>> actually 4 cores
>>> because on the model “control panel” i have 4 green triangles which ones of 
>>> them should
>>> represent the number of cores and their status. 
>>> It is only my opinion so, please, tell me if i am wrong.
>>>>> 
>>>>> With this configuration the model booted up correctly, even if the
>>>>> process took about 10 minutes.
>>>>> Just for my personal knowledge: it is normal that the boot is very slow?
>>>>> Is the rootfs that i’m using?
>>>> 
>>>> Booting a full distro on the model can be slow. Usually I write my own 
>>>> initscript to start the necessary daemon and skip systemd.
>>>> 
>>>> 42sh> cat /root/init.sh
>>>> 
>>>> set -x
>>>> mount -t proc proc  /proc
>>>> mount -t devtmpfs dev /dev
>>>> 
>>>> export HOME=/root
>>>> 
>>>> rm -rf /var/run/xenstore
>>>> rm -rf /var/run/xen
>>>> 
>>>> /etc/init.d/xencommons start
>>>> 
>>>> exec /bin/bash
>>>> 
>>>> ---
>>>> 
>>>> And I pass init=/root/init.sh on the Linux kernel command line.
>>>> 
>>> That helped a lot, thank you.
>>>> Cheers,
>>>> 
>>>> -- 
>>>> Julien Grall
>>> 
>>> Luca.
Thank you,
Luca

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


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

2017-03-23 Thread Luca Miccio
Hello Julien
> Il giorno 23 mar 2017, alle ore 15:49, Julien Grall  ha 
> scritto:
> 
> Hello Luca,
> 
> On 23/03/17 02:23, Luca Miccio wrote:
>> I tried also this method but i had the same error. So i came up with the
>> idea of removing the
>> psci method from the configure and also from the dtsi file that i have
>> changed.
> 
> I guess you are using only 1 core in this case. Am I right?
> 
No, i am using 4 cores, with —cores option and i think that i am using actually 
4 cores
because on the model “control panel” i have 4 green triangles which ones of 
them should
represent the number of cores and their status. 
It is only my opinion so, please, tell me if i am wrong.
>> 
>> With this configuration the model booted up correctly, even if the
>> process took about 10 minutes.
>> Just for my personal knowledge: it is normal that the boot is very slow?
>> Is the rootfs that i’m using?
> 
> Booting a full distro on the model can be slow. Usually I write my own 
> initscript to start the necessary daemon and skip systemd.
> 
> 42sh> cat /root/init.sh
> 
> set -x
> mount -t proc proc  /proc
> mount -t devtmpfs dev /dev
> 
> export HOME=/root
> 
> rm -rf /var/run/xenstore
> rm -rf /var/run/xen
> 
> /etc/init.d/xencommons start
> 
> exec /bin/bash
> 
> ---
> 
> And I pass init=/root/init.sh on the Linux kernel command line.
> 
That helped a lot, thank you.
> Cheers,
> 
> -- 
> Julien Grall

Luca.


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


Re: [Xen-devel] [PATCH] xen/Makefile: remove all temporary files for every architecture

2017-03-23 Thread Luca Miccio

> Il giorno 23 mar 2017, alle ore 12:20, Wei Liu  ha 
> scritto:
> 
> On Thu, Mar 23, 2017 at 11:07:04AM +, Wei Liu wrote:
>> On Thu, Mar 23, 2017 at 02:31:37AM +0100, Luca Miccio wrote:
>>> Execute the clean target for both arm and x86 architecture.
>>> 
>>> When trying to build Xen for a different architecture in the same
>>> tree, the command make clean will only remove temporary files for
>>> the host architecture.
>>> This will lead a compilation error when trying to build ARM64 and
>>> ARM32 Xen in the same tree.
>>> (See also: 
>>> https://lists.xenproject.org/archives/html/xen-devel/2016-11/msg02176.html)
>>> 
>>> Signed-off-by: Luca Miccio 
>>> ---
>>> xen/Makefile | 3 ++-
>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>> 
>>> diff --git a/xen/Makefile b/xen/Makefile
>>> index dc6862e04d..fcd5c7e9d6 100644
>>> --- a/xen/Makefile
>>> +++ b/xen/Makefile
>>> @@ -115,7 +115,8 @@ _clean: delete-unfresh-files
>>> $(MAKE) -f $(BASEDIR)/Rules.mk -C drivers clean
>>> $(MAKE) -f $(BASEDIR)/Rules.mk -C xsm clean
>>> $(MAKE) -f $(BASEDIR)/Rules.mk -C crypto clean
>>> -   $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) clean
>>> +   $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/arm clean
>>> +   $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/x86 clean
>> 
>> A more future-proof way of doing this is to use find to collect a list
>> of directory under arch/ and iterate.
>> 
>> But I don't see a new architecture support coming any time soon, so
>> this is just a suggestion.
>> 

I had the same doubt, but, as you said there is no new architecture support 
coming soon.
However i could add this option.
> 
> Also, you seem to have missed overriding TARGET_ARCH and TARGET_SUBARCH.
> I believe there are references to them in arch-specific Makefiles.
> 
> Wei.
I don’t get your point/suggestion. When we use “make clean”, with my patch 
applied, we 
simply execute the clean target for every architecture supported for now. 
I took a look at the clean target used both from the arm and the x86 Makefile 
and i didn’t find
any references to TARGET_ARCH and TARGET_SUBARCH.

Also, with the current command:
$(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) clean
The target clean is called only for the $TARGET_ARCH architecture, which, if 
it’s not set ( "make clean | distclean" at the xen root directory),
is the host one.

Maybe i’m missing something.

Luca.

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


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

2017-03-22 Thread Luca Miccio

> Il giorno 23 mar 2017, alle ore 01:55, Stefano Stabellini 
>  ha scritto:
> 
> On Thu, 23 Mar 2017, Luca Miccio wrote:
>>> Il giorno 23 mar 2017, alle ore 01:27, Stefano Stabellini 
>>>  ha scritto:
>>> 
>>> On Thu, 23 Mar 2017, Luca Miccio wrote:
>>>> Hi Stefano and Julien,
>>>> 
>>>>> Il giorno 22 mar 2017, alle ore 22:38, Stefano Stabellini 
>>>>>  ha scritto:
>>>>> 
>>>>> Hi Luca,
>>>>> 
>>>>> please don't use HTML emails.
>>>>> 
>>>>> 
>>>> Sorry for that.
>>>> 
>>>>> On Wed, 22 Mar 2017, Julien Grall wrote:
>>>>>> On 22/03/2017 19:45, Luca Miccio wrote:
>>>>>>> Hi Stefano,
>>>>>> 
>>>>>> Hello Luca,
>>>>>> 
>>>>>>> aarch64-linux-gnu-gcc  -DCNTFRQ=0x0180-DUART_BASE=0x1c09
>>>>>>> -DSYSREGS_BASE=0x1c01 -DGIC_DIST_BASE=0x2c001000
>>>>>>> -DGIC_CPU_BASE=0x2c002000 -c -o boot.xen.o boot.S -DXEN
>>>>>>> aarch64-linux-gnu-gcc  -DPHYS_OFFSET=0x8000 -DMBOX_OFFSET=0xfff8
>>>>>>> -DBOOT=boot.xen.o -DXEN_OFFSET=0xA0 -DKERNEL_OFFSET=0x8
>>>>>>> -DFDT_OFFSET=0x0800 -DFS_OFFSET=0x1000 -DXEN=Xen -DKERNEL=Image
>>>>>>> -DFILESYSTEM=filesystem.cpio.gz -E -P -C -o model.xen.lds model.lds.S
>>>>>>> aarch64-linux-gnu-gcc  -DCNTFRQ=0x0180-DUART_BASE=0x1c09
>>>>>>> -DSYSREGS_BASE=0x1c01 -DGIC_DIST_BASE=0x2c001000
>>>>>>> -DGIC_CPU_BASE=0x2c002000 -c -o boot.o boot.S
>>>>>>> aarch64-linux-gnu-gcc  -DPHYS_OFFSET=0x8000 -DMBOX_OFFSET=0xfff8
>>>>>>> -DBOOT=boot.o -DKERNEL_OFFSET=0x8 -DFDT_OFFSET=0x0800
>>>>>>> -DFS_OFFSET=0x1000 -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
>>>>>>> [80a0,80ac814f] overlaps section .kernel LMA
>>>>>>> [8008,80f009ff]
>>>>>>> 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 would recommend to use the latest version of bootwrapper which is now
>>>>>> including support for Xen. I haven't yet updated the wiki with the runes
>>>>>> but here a quick summary of the step I am using:
>>>>>> 
>>>>>> * Building bootwrapper
>>>>>> 
>>>>>> 42sh> git clone 
>>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git
>>>>>> 42sh> autoreconf -i
>>>>>> 42sh> ./configure --host=aarch64-linux-gnu 
>>>>>> --with-kernel-dir= --with-dtb= \
>>>>>> --with-cmdline="console=hvc0 earlycon=pl011,0x1c09 root=/dev/vda rw" 
>>>>>> --enable-psci \
>>>>>> --with-xen-cmdline="dtuart=serial0 console=dtuart no-bootscrub 
>>>>>> dom0_mem=512M" \
>>>>>> --with-xen= --with-cpu-ids=0,1,2,3
>>>>>> 42sh> make
>>>>>> 
>>>>>> Where:
>>>>>> *  is the path to the kernel repository
>>>>>> *  is the path to the device-tree. I am using the one shipped with 
>>>>>> Linux
>>>>>>  in arch/arm64/boot/dts/arm/foundation-armv8.dtbs
>>>>>>  It will be built if you did make all in Linux
>>>>>> *  is the path to Xen binary (xen/xen in the repo)
>>>>>> 
>>>>>> * Command line for the foundation model
>>>>>> 42sh> Foundation_Platform --image= --block-device= 
>>>>>> --cores=4
>>>>>> 
>>>>>> Where:
>>>>>> *  is the path to xen-system.axf produced by bootwrapper
>>>>>> *  is the patch to your rootfs
>>>>>> 
>>>>>> Let me know if you need m

[Xen-devel] [PATCH] xen/Makefile: remove all temporary files for every architecture

2017-03-22 Thread Luca Miccio
Execute the clean target for both arm and x86 architecture.

When trying to build Xen for a different architecture in the same
tree, the command make clean will only remove temporary files for
the host architecture.
This will lead a compilation error when trying to build ARM64 and
ARM32 Xen in the same tree.
(See also: 
https://lists.xenproject.org/archives/html/xen-devel/2016-11/msg02176.html)

Signed-off-by: Luca Miccio 
---
 xen/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index dc6862e04d..fcd5c7e9d6 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -115,7 +115,8 @@ _clean: delete-unfresh-files
$(MAKE) -f $(BASEDIR)/Rules.mk -C drivers clean
$(MAKE) -f $(BASEDIR)/Rules.mk -C xsm clean
$(MAKE) -f $(BASEDIR)/Rules.mk -C crypto clean
-   $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) clean
+   $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/arm clean
+   $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/x86 clean
$(MAKE) -f $(BASEDIR)/Rules.mk -C test clean
$(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(ARCH) 
SRCARCH=$(SRCARCH) clean
find . \( -name "*.o" -o -name ".*.d" -o -name "*.gcno" \) -exec rm -f 
{} \;
-- 
2.11.0


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


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

2017-03-22 Thread Luca Miccio

> Il giorno 23 mar 2017, alle ore 01:27, Stefano Stabellini 
>  ha scritto:
> 
> On Thu, 23 Mar 2017, Luca Miccio wrote:
>> Hi Stefano and Julien,
>> 
>>> Il giorno 22 mar 2017, alle ore 22:38, Stefano Stabellini 
>>>  ha scritto:
>>> 
>>> Hi Luca,
>>> 
>>> please don't use HTML emails.
>>> 
>>> 
>> Sorry for that.
>> 
>>> On Wed, 22 Mar 2017, Julien Grall wrote:
>>>> On 22/03/2017 19:45, Luca Miccio wrote:
>>>>> Hi Stefano,
>>>> 
>>>> Hello Luca,
>>>> 
>>>>> aarch64-linux-gnu-gcc  -DCNTFRQ=0x0180-DUART_BASE=0x1c09
>>>>> -DSYSREGS_BASE=0x1c01 -DGIC_DIST_BASE=0x2c001000
>>>>> -DGIC_CPU_BASE=0x2c002000 -c -o boot.xen.o boot.S -DXEN
>>>>> aarch64-linux-gnu-gcc  -DPHYS_OFFSET=0x8000 -DMBOX_OFFSET=0xfff8
>>>>> -DBOOT=boot.xen.o -DXEN_OFFSET=0xA0 -DKERNEL_OFFSET=0x8
>>>>> -DFDT_OFFSET=0x0800 -DFS_OFFSET=0x1000 -DXEN=Xen -DKERNEL=Image
>>>>> -DFILESYSTEM=filesystem.cpio.gz -E -P -C -o model.xen.lds model.lds.S
>>>>> aarch64-linux-gnu-gcc  -DCNTFRQ=0x0180-DUART_BASE=0x1c09
>>>>> -DSYSREGS_BASE=0x1c01 -DGIC_DIST_BASE=0x2c001000
>>>>> -DGIC_CPU_BASE=0x2c002000 -c -o boot.o boot.S
>>>>> aarch64-linux-gnu-gcc  -DPHYS_OFFSET=0x8000 -DMBOX_OFFSET=0xfff8
>>>>> -DBOOT=boot.o -DKERNEL_OFFSET=0x8 -DFDT_OFFSET=0x0800
>>>>> -DFS_OFFSET=0x1000 -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
>>>>> [80a0,80ac814f] overlaps section .kernel LMA
>>>>> [8008,80f009ff]
>>>>> 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 would recommend to use the latest version of bootwrapper which is now
>>>> including support for Xen. I haven't yet updated the wiki with the runes
>>>> but here a quick summary of the step I am using:
>>>> 
>>>> * Building bootwrapper
>>>> 
>>>> 42sh> git clone 
>>>> git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git
>>>> 42sh> autoreconf -i
>>>> 42sh> ./configure --host=aarch64-linux-gnu --with-kernel-dir= 
>>>> --with-dtb= \
>>>> --with-cmdline="console=hvc0 earlycon=pl011,0x1c09 root=/dev/vda rw" 
>>>> --enable-psci \
>>>> --with-xen-cmdline="dtuart=serial0 console=dtuart no-bootscrub 
>>>> dom0_mem=512M" \
>>>> --with-xen= --with-cpu-ids=0,1,2,3
>>>> 42sh> make
>>>> 
>>>> Where:
>>>> *  is the path to the kernel repository
>>>> *  is the path to the device-tree. I am using the one shipped with 
>>>> Linux
>>>>   in arch/arm64/boot/dts/arm/foundation-armv8.dtbs
>>>>   It will be built if you did make all in Linux
>>>> *  is the path to Xen binary (xen/xen in the repo)
>>>> 
>>>> * Command line for the foundation model
>>>> 42sh> Foundation_Platform --image= --block-device= --cores=4
>>>> 
>>>> Where:
>>>> *  is the path to xen-system.axf produced by bootwrapper
>>>> *  is the patch to your rootfs
>>>> 
>>>> Let me know if you need more details.
>>> 
>>> Thanks Julien, I successfully booted Xen and Linux following these
>>> steps. I quickly updated the wiki.
>>> 
>>> Luca, I took me a while to figure out that for root=/dev/vda to work
>>> properly, Linux requires not just all the filesystem and virtio options
>>> enabled in the kernel config, but also CONFIG_VIRTIO_MMIO=y. With that,
>>> you should be able to boot Xen, Linux and mount the root filesystem. If
>>> you download one of the Ubuntu arm64 cloud images, the root device will
>>> be /dev/vda1.
>> 
>> First of all, thank you for your help.
>> 
>> I think that i keep on doing somenthing wrong because now the bootwrapper 
>> produces
>> with

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

2017-03-22 Thread Luca Miccio
Hi Stefano and Julien,

> Il giorno 22 mar 2017, alle ore 22:38, Stefano Stabellini 
>  ha scritto:
> 
> Hi Luca,
> 
> please don't use HTML emails.
> 
> 
Sorry for that.

> On Wed, 22 Mar 2017, Julien Grall wrote:
>> On 22/03/2017 19:45, Luca Miccio wrote:
>>> Hi Stefano,
>> 
>> Hello Luca,
>> 
>>> aarch64-linux-gnu-gcc  -DCNTFRQ=0x0180-DUART_BASE=0x1c09
>>> -DSYSREGS_BASE=0x1c01 -DGIC_DIST_BASE=0x2c001000
>>> -DGIC_CPU_BASE=0x2c002000 -c -o boot.xen.o boot.S -DXEN
>>> aarch64-linux-gnu-gcc  -DPHYS_OFFSET=0x8000 -DMBOX_OFFSET=0xfff8
>>> -DBOOT=boot.xen.o -DXEN_OFFSET=0xA0 -DKERNEL_OFFSET=0x8
>>> -DFDT_OFFSET=0x0800 -DFS_OFFSET=0x1000 -DXEN=Xen -DKERNEL=Image
>>> -DFILESYSTEM=filesystem.cpio.gz -E -P -C -o model.xen.lds model.lds.S
>>> aarch64-linux-gnu-gcc  -DCNTFRQ=0x0180-DUART_BASE=0x1c09
>>> -DSYSREGS_BASE=0x1c01 -DGIC_DIST_BASE=0x2c001000
>>> -DGIC_CPU_BASE=0x2c002000 -c -o boot.o boot.S
>>> aarch64-linux-gnu-gcc  -DPHYS_OFFSET=0x8000 -DMBOX_OFFSET=0xfff8
>>> -DBOOT=boot.o -DKERNEL_OFFSET=0x8 -DFDT_OFFSET=0x0800
>>> -DFS_OFFSET=0x1000 -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
>>> [80a0,80ac814f] overlaps section .kernel LMA
>>> [8008,80f009ff]
>>> 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 would recommend to use the latest version of bootwrapper which is now
>> including support for Xen. I haven't yet updated the wiki with the runes
>> but here a quick summary of the step I am using:
>> 
>> * Building bootwrapper
>> 
>> 42sh> git clone 
>> git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git
>> 42sh> autoreconf -i
>> 42sh> ./configure --host=aarch64-linux-gnu --with-kernel-dir= 
>> --with-dtb= \
>> --with-cmdline="console=hvc0 earlycon=pl011,0x1c09 root=/dev/vda rw" 
>> --enable-psci \
>> --with-xen-cmdline="dtuart=serial0 console=dtuart no-bootscrub 
>> dom0_mem=512M" \
>> --with-xen= --with-cpu-ids=0,1,2,3
>> 42sh> make
>> 
>> Where:
>>  *  is the path to the kernel repository
>>  *  is the path to the device-tree. I am using the one shipped with 
>> Linux
>>in arch/arm64/boot/dts/arm/foundation-armv8.dtbs
>>It will be built if you did make all in Linux
>>  *  is the path to Xen binary (xen/xen in the repo)
>> 
>> * Command line for the foundation model
>> 42sh> Foundation_Platform --image= --block-device= --cores=4
>> 
>> Where:
>>  *  is the path to xen-system.axf produced by bootwrapper
>>  *  is the patch to your rootfs
>> 
>> Let me know if you need more details.
> 
> Thanks Julien, I successfully booted Xen and Linux following these
> steps. I quickly updated the wiki.
> 
> Luca, I took me a while to figure out that for root=/dev/vda to work
> properly, Linux requires not just all the filesystem and virtio options
> enabled in the kernel config, but also CONFIG_VIRTIO_MMIO=y. With that,
> you should be able to boot Xen, Linux and mount the root filesystem. If
> you download one of the Ubuntu arm64 cloud images, the root device will
> be /dev/vda1.

First of all, thank you for your help.

I think that i keep on doing somenthing wrong because now the bootwrapper 
produces
with no errors the xen-system.axf  with the configuration that Julien provided. 
But when i launch the emulator it simply stops at:
(XEN) Bringing up CPU1

To help you understand, this is what i have done:
- First i compiled the xen source with the following command:
$ make dist-xen XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- 
CONFIG_EARLY_PRINT=fastmodel
( I am using the staging branch)

- Get the linux source with git: 
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

-Checkout on the v4.4 branch 

- Follow the steps described in the blog and, as you said, i set in my .config 
file:
 CONFIG_VIRTIO=y
 CONFIG_VIRTIO_MMIO=y
 CONFIG_VIRTIO_BLK=y
I also checked all the filesystem and virtio options. 

- Compile the linux kernel with the toolchain:
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- all (to get also the .dtb 
file)

- Configured the boo

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

2017-03-22 Thread Luca Miccio
Hi Stefano,

2017-03-21 21:36 GMT+01:00 Stefano Stabellini :

> 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=0x0180 -DUART_BASE=0x1c09
-DSYSREGS_BASE=0x1c01 -DGIC_DIST_BASE=0x2c001000
-DGIC_CPU_BASE=0x2c002000 -c -o boot.xen.o boot.S -DXEN
aarch64-linux-gnu-gcc  -DPHYS_OFFSET=0x8000 -DMBOX_OFFSET=0xfff8
-DBOOT=boot.xen.o -DXEN_OFFSET=0xA0 -DKERNEL_OFFSET=0x8
-DFDT_OFFSET=0x0800 -DFS_OFFSET=0x1000 -DXEN=Xen -DKERNEL=Image
-DFILESYSTEM=filesystem.cpio.gz -E -P -C -o model.xen.lds model.lds.S
aarch64-linux-gnu-gcc  -DCNTFRQ=0x0180 -DUART_BASE=0x1c09
-DSYSREGS_BASE=0x1c01 -DGIC_DIST_BASE=0x2c001000
-DGIC_CPU_BASE=0x2c002000 -c -o boot.o boot.S
aarch64-linux-gnu-gcc  -DPHYS_OFFSET=0x8000 -DMBOX_OFFSET=0xfff8
-DBOOT=boot.o -DKERNEL_OFFSET=0x8 -DFDT_OFFSET=0x0800
-DFS_OFFSET=0x1000 -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 [80a0,80ac814f]
overlaps section .kernel LMA [8008,80f009ff]
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):
https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2142-00-00-00-00-89-21/2972.zip

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 

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

2017-03-21 Thread Luca Miccio

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.

Best regards,

Luca

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