Re: [Xen-devel] [GSoC] Xen on ARM: create multiple guests from device tree
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
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
> 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
> 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
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
> 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
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
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
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