Mailing List Archive

XEN tools for ARM with Virtualization Extensions
Hi, I am trying to build the XEN tools for our port of XEN to our Cortex A15-based platform.
I am using the repo at git://xenbits.xenproject.org/xen.git to cross-compile the tools into our rootfs.
This repo is what we are using for our Hypervisor development also.
When building the tools, I found that libaio does not build for ARM since it was missing tools/libaio/src/syscall-arm.h.
I found a version on the web so that I could continue.
I also found that xc_dom_elfloader.c's function, xc_dom_guest_type(), did not know about the EM_ARM machine type.

Am I using the wrong repo for development of the tools for ARM?
If not, the twiki seems to indicate that xl is working on ARM to create guest machines. How can that be if libxc and libaio seem to be missing ARM support?

Currently, I am getting the following when trying to create a guest machine with xl:

# xl create -d dom1.cfg
Parsing config from dom1.cfg
Calling printf_info_one_json...
printf_info: unable to format domain config as JSON (YAJL:1)
elf_xen_note_check: Not bothering with notes on ARM
elf_xen_addr_calc_check: VIRT_BASE unset, using 0x0
elf_xen_addr_calc_check: ELF_PADDR_OFFSET unset, using 0x0
elf_xen_addr_calc_check: addresses:
virt_base = 0x0
elf_paddr_offset = 0x0
virt_offset = 0x0
virt_kstart = 0xc0008000
virt_kend = 0xc1a09e88
virt_entry = 0xc0008000
p2m_base = 0xffffffffffffffff
xc_dom_parse_elf_kernel: xen-3.0-armv7l: 0xc0008000 -> 0xc1a09e88xc_dom_alloc_segment: start=0xc0008000, virt_base=0x0, virt_alloc_end=0x0
xc: error: panic: xc_dom_core.c:522: xc_dom_alloc_segment: segment kernel too large (0x1a02 > 0x8000 - 0xc0008 pages): Out of memory
libxl: error: libxl_dom.c:396:libxl__build_pv: xc_dom_build_image failed: No such file or directory
libxl: error: libxl_create.c:900:domcreate_rebuild_done: cannot (re-)build domain: -3
#


Eric Trudeau
200 Brickstone Square Suite 401
Andover, MA 01810
Re: XEN tools for ARM with Virtualization Extensions [ In reply to ]
(moving to xen-devel, xen-arm is for the older PV ARM port)

On Tue, 2013-06-25 at 23:59 +0000, Eric Trudeau wrote:
> Hi, I am trying to build the XEN tools for our port of XEN to our
> Cortex A15-based platform.
>
> I am using the repo at git://xenbits.xenproject.org/xen.git to
> cross-compile the tools into our rootfs.

Which branch/changeset are you using?

I've heard that the recent XSA-55 fixes have broken guest loading on
ARM, but your problems do not seem to be related to that (I mention it
because it might be something you hit after we work through your current
issues)

> This repo is what we are using for our Hypervisor development also.
>
> When building the tools, I found that libaio does not build for ARM
> since it was missing tools/libaio/src/syscall-arm.h.
>
> I found a version on the web so that I could continue.

Are you picking up the libaio in tools/libaio? That is an ancient
snapshot used to support older distros which don't ship libaio
themselves. It really shouldn't even be considered for ARM (this is a
bug in our build system IMHO). If you install the libaio (and headers
etc) from your distro then configure will detect this and not use the
embedded copy. (The embedded copy is on my hitlist for cruft removal for
4.4, but we are frozen for 4.3 right now so I can't touch it)

FWIW I wrote up some details of how I cross compile with Debian/Ubuntu
at
http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions/CrossCompiling which includes lists of packages to install etc.

> I also found that xc_dom_elfloader.c’s function, xc_dom_guest_type(),
> did not know about the EM_ARM machine type.

You shouldn't be hitting the elf loader paths, you should instead use
the zImage version of the kernel which will hit the
xc_dom_armzimageloader.c code paths.

We did at one point in the very early days of the port support loading
ELF files via a quick hack of a tool ("xcbuild") but that has been
superceded by the proper toolstack support and the use of zImage.

> Am I using the wrong repo for development of the tools for ARM?


>
> If not, the twiki seems to indicate that xl is working on ARM to
> create guest machines.

Modulo any bugs introduced by XSA-55 we believe it is.

Ian.



_______________________________________________
Xen-arm mailing list
Xen-arm@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-arm