Hi, I''m trying to get Xen working on the Arndale Board using these instructions: http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions/Arndale When trying to build the Linux kernel from Linaro, http://git.linaro.org/gitweb?p=people/ronynandy/linux_stable.git;a=shortlog;h=refs/heads/lue_arndale_3.7 ( configured as specified on the Xen wiki page ) I run into the following error while compiling: *drivers/xen/xenbus/xenbus_client.c: In function ''xenbus_map_ring_valloc_hvm'':* *drivers/xen/xenbus/xenbus_client.c:532:9: error: implicit declaration of function ''page_to_section'' [-Werror=implicit-function-declaration]* *cc1: some warnings being treated as errors* *make[3]: *** [drivers/xen/xenbus/xenbus_client.o] Error 1* I was wondering if anyone else ran into this and if so how best to solve it. Booting Xen on the board hangs on "Turning on paging", is this related to not having a dom0? *...* *Startinrrrrrrrrrrrrrrrr- UART enabled -* *- CPU 00000000 booting -* *- Started in Hyp mode -* *- Zero BSS -* *- Setting up control registers -* *- Turning on paging -* * * Thanks, Sander _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
On 14/02/13 15:09, Sander Bogaert wrote:> Hi, > > I''m trying to get Xen working on the Arndale BoardHi, thanks for trying :).> using these > instructions: > http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions/ArndaleSorry, this wiki page is probably not complete yet.> When trying to build the Linux kernel from Linaro, > http://git.linaro.org/gitweb?p=people/ronynandy/linux_stable.git;a=shortlog;h=refs/heads/lue_arndale_3.7 > ( > configured as specified on the Xen wiki page ) I run into the following > error while compiling: > > *drivers/xen/xenbus/xenbus_client.c: In function > ''xenbus_map_ring_valloc_hvm'':* > *drivers/xen/xenbus/xenbus_client.c:532:9: error: implicit declaration of > function ''page_to_section'' [-Werror=implicit-function-declaration]* > *cc1: some warnings being treated as errors* > *make[3]: *** [drivers/xen/xenbus/xenbus_client.o] Error 1* > > I was wondering if anyone else ran into this and if so how best to solve it.Yes, I''ve got a patch for it: diff --git a/drivers/xen/xenbus/xenbus_client.c b/drivers/xen/xenbus/xenbus_client.c index bcf3ba4..686142d 100644 --- a/drivers/xen/xenbus/xenbus_client.c +++ b/drivers/xen/xenbus/xenbus_client.c @@ -35,6 +35,7 @@ #include <linux/spinlock.h> #include <linux/vmalloc.h> #include <linux/export.h> +#include <linux/mm.h> #include <asm/xen/hypervisor.h> #include <asm/xen/page.h> #include <xen/interface/xen.h>> Booting Xen on the board hangs on "Turning on paging", is this related to > not having a dom0?Should not be, there is many things printed by Xen before it is trying to boot dom0, and it would say that it can not find a dom0.> *...* > *Startinrrrrrrrrrrrrrrrr- UART enabled -* > *- CPU 00000000 booting -* > *- Started in Hyp mode -* > *- Zero BSS -* > *- Setting up control registers -* > *- Turning on paging -*All right, I''ve been able to reproduce the behaviour. Are you starting Xen using the u-boot command "go"? Because this does not work with me. It gave me some headache sometime ago. The command that works is "bootm $xen_addr -" So, I''m curious, how do you start Xen on the board? Here is what env I have on u-boot: ipaddr=10.y.y.y ipconfig=10.y.y.y kernel_addr_r=0x40007000 serverip=10.x.x.x tftp_path=10.x.x.x:pxelinux.cfg usbethaddr=00:40:5c:26:0a:5b ethaddr=00:40:5c:26:0a:5b xen_addr_r=0x50000000 bootcmd_load_linux=tftpboot 0x40007000 10.80.3.61:pxelinux.cfg/linux-zImage boot_xen=run bootcmd_load_linux; tftpboot $xen_addr_r $tftp_path/xen-uImage; bootm $xen_addr_r - bootcmd=run boot_xen with 10.y.y.y the ip addr of the board and 10.x.x.x the ip of a tftp server (or PXE server). By the way, I''ve pushed a new branch: arndale-2013-02-13 which fix few things. This should make you pass the "turning on paging" step. After that, you will probably need few patches for Linux. I''ll push them later. Have fun, -- Anthony PERARD
On 14 February 2013 18:03, Anthony PERARD <anthony.perard@citrix.com> wrote:> On 14/02/13 15:09, Sander Bogaert wrote: > > Hi, > > > > I''m trying to get Xen working on the Arndale Board > > Hi, thanks for trying :). > > > using these > > instructions: > > > http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions/Arndale > > Sorry, this wiki page is probably not complete yet. > > > When trying to build the Linux kernel from Linaro, > > > http://git.linaro.org/gitweb?p=people/ronynandy/linux_stable.git;a=shortlog;h=refs/heads/lue_arndale_3.7 > > ( > > configured as specified on the Xen wiki page ) I run into the following > > error while compiling: > > > > *drivers/xen/xenbus/xenbus_client.c: In function > > ''xenbus_map_ring_valloc_hvm'':* > > *drivers/xen/xenbus/xenbus_client.c:532:9: error: implicit declaration of > > function ''page_to_section'' [-Werror=implicit-function-declaration]* > > *cc1: some warnings being treated as errors* > > *make[3]: *** [drivers/xen/xenbus/xenbus_client.o] Error 1* > > > > I was wondering if anyone else ran into this and if so how best to solve > it. > > Yes, I''ve got a patch for it: > diff --git a/drivers/xen/xenbus/xenbus_client.c > b/drivers/xen/xenbus/xenbus_client.c > index bcf3ba4..686142d 100644 > --- a/drivers/xen/xenbus/xenbus_client.c > +++ b/drivers/xen/xenbus/xenbus_client.c > @@ -35,6 +35,7 @@ > #include <linux/spinlock.h> > #include <linux/vmalloc.h> > #include <linux/export.h> > +#include <linux/mm.h> > #include <asm/xen/hypervisor.h> > #include <asm/xen/page.h> > #include <xen/interface/xen.h> >Thanks, this fixes the compilation problem.> > > > Booting Xen on the board hangs on "Turning on paging", is this related to > > not having a dom0? > > Should not be, there is many things printed by Xen before it is trying > to boot dom0, and it would say that it can not find a dom0. > > > *...* > > *Startinrrrrrrrrrrrrrrrr- UART enabled -* > > *- CPU 00000000 booting -* > > *- Started in Hyp mode -* > > *- Zero BSS -* > > *- Setting up control registers -* > > *- Turning on paging -* > > All right, I''ve been able to reproduce the behaviour. Are you starting > Xen using the u-boot command "go"? Because this does not work with me. > It gave me some headache sometime ago. The command that works is "bootm > $xen_addr -" > So, I''m curious, how do you start Xen on the board? > > Here is what env I have on u-boot: > ipaddr=10.y.y.y > ipconfig=10.y.y.y > kernel_addr_r=0x40007000 > serverip=10.x.x.x > tftp_path=10.x.x.x:pxelinux.cfg > usbethaddr=00:40:5c:26:0a:5b > ethaddr=00:40:5c:26:0a:5b > xen_addr_r=0x50000000 > bootcmd_load_linux=tftpboot 0x40007000 10.80.3.61: > pxelinux.cfg/linux-zImage > boot_xen=run bootcmd_load_linux; tftpboot $xen_addr_r > $tftp_path/xen-uImage; bootm $xen_addr_r - > bootcmd=run boot_xen > > with 10.y.y.y the ip addr of the board and 10.x.x.x the ip of a tftp > server (or PXE server). > > By the way, I''ve pushed a new branch: arndale-2013-02-13 which fix few > things. >This is the branch I''ve been using so far, I have been monitoring the repository for updates too and this still seems to be the latest right?> > This should make you pass the "turning on paging" step. >I''m still stuck at this step. Here is my environement: ARNDALE5250 # pri baudrate=115200 boot_xen=run fatload_cmd; bootm 0x50000000 - bootargs=root=/dev/mmcblk1p1 rw rootwait console=ttySAC2,115200n8 init --no-log bootcmd=run boot_xen bootdelay=3 dt_addr_r=0x42000000 ethact=asx0 fatload_cmd=fatload mmc0 0 40007000 linaroarndalekernel;fatload mmc0 0 42000000 dt.dtb;fatload mmc0 0 50000000 xen_uimage filesize=88308 kernel_addr_r=0x40007000 preboot=usb start stderr=serial stdin=serial stdout=serial usbethaddr=00:40:5c:26:0a:5b xen_addr_r=0x50000000 Environment size: 514/16380 bytes A big difference is that I''m not trying to boot over PXE, instead I''m using the microSD card to load all the files. It has a FAT partition which I load from ( as you can see in the env ). I''m still stuck at the same stage, any ideas? I just try ''run boot_xen'' to boot. I took the 0x50000000 from your environement. Two other questions; * Don''t we need to supply a device tree somewhere? * I read on the wiki ( http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions/Arndale ): "So don''t expect to have a usable dom0 yet." and was wondering if this is still the case or if someone has a working installation already. If not, can I see the progress somewhere ( notes? ) or can you tell me what the current problems are?> > After that, you will probably need few patches for Linux. I''ll push them > later. > > Have fun, > > -- > Anthony PERARD >Thanks a lot for your help so far! Sander _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Hi, I was wondering if anyone else is facing the same issue. I''ve copied Anthony''s PXE setup as well but without result. Using PXE or just sdcards and fatload both end up freezing at Xen start-up with the same " *- Turning on paging -* " message. Anthony you mentioned you previously had the same problem, maybe you could give me some more pointers on how to fix it? Thx, Sander On 18 February 2013 11:33, Sander Bogaert <sander.bogaert@elis.ugent.be>wrote:> On 14 February 2013 18:03, Anthony PERARD <anthony.perard@citrix.com>wrote: > >> On 14/02/13 15:09, Sander Bogaert wrote: >> > Hi, >> > >> > I''m trying to get Xen working on the Arndale Board >> >> Hi, thanks for trying :). >> >> > using these >> > instructions: >> > >> http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions/Arndale >> >> Sorry, this wiki page is probably not complete yet. >> >> > When trying to build the Linux kernel from Linaro, >> > >> http://git.linaro.org/gitweb?p=people/ronynandy/linux_stable.git;a=shortlog;h=refs/heads/lue_arndale_3.7 >> > ( >> > configured as specified on the Xen wiki page ) I run into the following >> > error while compiling: >> > >> > *drivers/xen/xenbus/xenbus_client.c: In function >> > ''xenbus_map_ring_valloc_hvm'':* >> > *drivers/xen/xenbus/xenbus_client.c:532:9: error: implicit declaration >> of >> > function ''page_to_section'' [-Werror=implicit-function-declaration]* >> > *cc1: some warnings being treated as errors* >> > *make[3]: *** [drivers/xen/xenbus/xenbus_client.o] Error 1* >> > >> > I was wondering if anyone else ran into this and if so how best to >> solve it. >> >> Yes, I''ve got a patch for it: >> diff --git a/drivers/xen/xenbus/xenbus_client.c >> b/drivers/xen/xenbus/xenbus_client.c >> index bcf3ba4..686142d 100644 >> --- a/drivers/xen/xenbus/xenbus_client.c >> +++ b/drivers/xen/xenbus/xenbus_client.c >> @@ -35,6 +35,7 @@ >> #include <linux/spinlock.h> >> #include <linux/vmalloc.h> >> #include <linux/export.h> >> +#include <linux/mm.h> >> #include <asm/xen/hypervisor.h> >> #include <asm/xen/page.h> >> #include <xen/interface/xen.h> >> > > Thanks, this fixes the compilation problem. > > >> >> >> > Booting Xen on the board hangs on "Turning on paging", is this related >> to >> > not having a dom0? >> >> Should not be, there is many things printed by Xen before it is trying >> to boot dom0, and it would say that it can not find a dom0. >> >> > *...* >> > *Startinrrrrrrrrrrrrrrrr- UART enabled -* >> > *- CPU 00000000 booting -* >> > *- Started in Hyp mode -* >> > *- Zero BSS -* >> > *- Setting up control registers -* >> > *- Turning on paging -* >> >> All right, I''ve been able to reproduce the behaviour. Are you starting >> Xen using the u-boot command "go"? Because this does not work with me. >> It gave me some headache sometime ago. The command that works is "bootm >> $xen_addr -" >> So, I''m curious, how do you start Xen on the board? >> >> Here is what env I have on u-boot: >> ipaddr=10.y.y.y >> ipconfig=10.y.y.y >> kernel_addr_r=0x40007000 >> serverip=10.x.x.x >> tftp_path=10.x.x.x:pxelinux.cfg >> usbethaddr=00:40:5c:26:0a:5b >> ethaddr=00:40:5c:26:0a:5b >> xen_addr_r=0x50000000 >> bootcmd_load_linux=tftpboot 0x40007000 10.80.3.61: >> pxelinux.cfg/linux-zImage >> boot_xen=run bootcmd_load_linux; tftpboot $xen_addr_r >> $tftp_path/xen-uImage; bootm $xen_addr_r - >> bootcmd=run boot_xen >> >> with 10.y.y.y the ip addr of the board and 10.x.x.x the ip of a tftp >> server (or PXE server). >> >> By the way, I''ve pushed a new branch: arndale-2013-02-13 which fix few >> things. >> > > This is the branch I''ve been using so far, I have been monitoring the > repository for updates too and this still seems to be the latest right? > > >> >> This should make you pass the "turning on paging" step. >> > > I''m still stuck at this step. Here is my environement: > > ARNDALE5250 # pri > baudrate=115200 > boot_xen=run fatload_cmd; bootm 0x50000000 - > bootargs=root=/dev/mmcblk1p1 rw rootwait console=ttySAC2,115200n8 init > --no-log > bootcmd=run boot_xen > bootdelay=3 > dt_addr_r=0x42000000 > ethact=asx0 > fatload_cmd=fatload mmc0 0 40007000 linaroarndalekernel;fatload mmc0 0 > 42000000 dt.dtb;fatload mmc0 0 50000000 xen_uimage > filesize=88308 > kernel_addr_r=0x40007000 > preboot=usb start > stderr=serial > stdin=serial > stdout=serial > usbethaddr=00:40:5c:26:0a:5b > xen_addr_r=0x50000000 > > Environment size: 514/16380 bytes > > A big difference is that I''m not trying to boot over PXE, instead I''m > using the microSD card to load all the files. It has a FAT partition which > I load from ( as you can see in the env ). I''m still stuck at the same > stage, any ideas? I just try ''run boot_xen'' to boot. I took the 0x50000000 > from your environement. > > Two other questions; > > * Don''t we need to supply a device tree somewhere? > * I read on the wiki ( > http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions/Arndale ): > "So don''t expect to have a usable dom0 yet." and was wondering if this is > still the case or if someone has a working installation already. If not, > can I see the progress somewhere ( notes? ) or can you tell me what the > current problems are? > > > >> >> After that, you will probably need few patches for Linux. I''ll push them >> later. >> >> Have fun, >> >> -- >> Anthony PERARD >> > > Thanks a lot for your help so far! > > Sander >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Hi, I managed to boot Xen on the arndale board using the instructions provided on the wiki page. However, dom0 does not boot yet and i am also very interested in Anthony''s patches for the dom0 kernel. Besides applying Anthony''s patch i did the following: First of all xen needs to be compiled with a dtb file. XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabi- CONFIG_DTB_FILE=/home/xxxx/xen-arndale/linux_stable/arch/arm/boot/exynos5250-arndale.dtb make dist-xen Providing one via uboot bootm gives me a panic("Not not enough space for xenheap\n"); during setup_mm. Second Xen expects a cortex-a15 GIC, you need to patch the device tree for this: diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index 6e6c7d1..afc5c3c 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi @@ -33,11 +33,16 @@ gsc3 = &gsc_3; }; - gic:interrupt-controller@10481000 { - compatible = "arm,cortex-a9-gic"; + gic: interrupt-controller@10481000 { + compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; #interrupt-cells = <3>; + #address-cells = <0>; interrupt-controller; - reg = <0x10481000 0x1000>, <0x10482000 0x2000>; + reg = <0x10481000 0x1000>, + <0x10482000 0x1000>, + <0x10484000 0x2000>, + <0x10486000 0x2000>; + interrupts = <1 9 0xf04>; }; combiner:interrupt-controller@10440000 { Third i disabled CONFIG_ARM_APPENDED_DTB in the dom0. I am unsure if this is necessary. I also applied this little hack to make the kernel accept my device tree, but the kernel still panics further in the boot process. I''m sure there is a better solution but i will include it here anyway. diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c index bee7f9d..8e1c6f8 100644 --- a/arch/arm/kernel/devtree.c +++ b/arch/arm/kernel/devtree.c @@ -94,6 +94,11 @@ struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys) mdesc_best = mdesc; mdesc_score = score; } + + //Hack + mdesc_best = mdesc; + early_print("Selected the following mdisc: %s\n",mdesc_best->name); + } if (!mdesc_best) { const char *prop; I hope this helps someone. Best regards, Jeroen On 02/14/2013 06:03 PM, Anthony PERARD wrote:> On 14/02/13 15:09, Sander Bogaert wrote: >> Hi, >> >> I''m trying to get Xen working on the Arndale Board > Hi, thanks for trying :). > >> using these >> instructions: >> http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions/Arndale > Sorry, this wiki page is probably not complete yet. > >> When trying to build the Linux kernel from Linaro, >> http://git.linaro.org/gitweb?p=people/ronynandy/linux_stable.git;a=shortlog;h=refs/heads/lue_arndale_3.7 >> ( >> configured as specified on the Xen wiki page ) I run into the following >> error while compiling: >> >> *drivers/xen/xenbus/xenbus_client.c: In function >> ''xenbus_map_ring_valloc_hvm'':* >> *drivers/xen/xenbus/xenbus_client.c:532:9: error: implicit declaration of >> function ''page_to_section'' [-Werror=implicit-function-declaration]* >> *cc1: some warnings being treated as errors* >> *make[3]: *** [drivers/xen/xenbus/xenbus_client.o] Error 1* >> >> I was wondering if anyone else ran into this and if so how best to solve it. > Yes, I''ve got a patch for it: > diff --git a/drivers/xen/xenbus/xenbus_client.c > b/drivers/xen/xenbus/xenbus_client.c > index bcf3ba4..686142d 100644 > --- a/drivers/xen/xenbus/xenbus_client.c > +++ b/drivers/xen/xenbus/xenbus_client.c > @@ -35,6 +35,7 @@ > #include <linux/spinlock.h> > #include <linux/vmalloc.h> > #include <linux/export.h> > +#include <linux/mm.h> > #include <asm/xen/hypervisor.h> > #include <asm/xen/page.h> > #include <xen/interface/xen.h> > > >> Booting Xen on the board hangs on "Turning on paging", is this related to >> not having a dom0? > Should not be, there is many things printed by Xen before it is trying > to boot dom0, and it would say that it can not find a dom0. > >> *...* >> *Startinrrrrrrrrrrrrrrrr- UART enabled -* >> *- CPU 00000000 booting -* >> *- Started in Hyp mode -* >> *- Zero BSS -* >> *- Setting up control registers -* >> *- Turning on paging -* > All right, I''ve been able to reproduce the behaviour. Are you starting > Xen using the u-boot command "go"? Because this does not work with me. > It gave me some headache sometime ago. The command that works is "bootm > $xen_addr -" > So, I''m curious, how do you start Xen on the board? > > Here is what env I have on u-boot: > ipaddr=10.y.y.y > ipconfig=10.y.y.y > kernel_addr_r=0x40007000 > serverip=10.x.x.x > tftp_path=10.x.x.x:pxelinux.cfg > usbethaddr=00:40:5c:26:0a:5b > ethaddr=00:40:5c:26:0a:5b > xen_addr_r=0x50000000 > bootcmd_load_linux=tftpboot 0x40007000 10.80.3.61:pxelinux.cfg/linux-zImage > boot_xen=run bootcmd_load_linux; tftpboot $xen_addr_r > $tftp_path/xen-uImage; bootm $xen_addr_r - > bootcmd=run boot_xen > > with 10.y.y.y the ip addr of the board and 10.x.x.x the ip of a tftp > server (or PXE server). > > By the way, I''ve pushed a new branch: arndale-2013-02-13 which fix few > things. > > This should make you pass the "turning on paging" step. > > After that, you will probably need few patches for Linux. I''ll push them > later. > > Have fun, >