On 5 July 2017 at 08:14, Paolo Bonzini <pbonz...@redhat.com> wrote: > This will be useful when the functions are called, early in the configure > process, to filter out targets that do not support hardware acceleration. > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
> +supported_xen_target() { > + test "$xen" = "yes" || return 1 > + glob "$1" "*-softmmu" || return 1 > + case "${1%-softmmu}:$cpu" in > + arm:arm | aarch64:aarch64 | \ > + i386:i386 | i386:x86_64 | x86_64:i386 | x86_64:x86_64) > + return 0 > + ;; This says that arm-on-arm and aarch64-on-aarch64 are supported Xen targets... > + esac > + return 1 > +} > + > if [ "$HOST_VARIANT_DIR" != "" ]; then > echo "HOST_VARIANT_DIR=$HOST_VARIANT_DIR" >> $config_target_mak > fi > -case "$target_name" in > - i386|x86_64) > - if test "$xen" = "yes" -a "$target_softmmu" = "yes" ; then > - echo "CONFIG_XEN=y" >> $config_target_mak > - if test "$xen_pci_passthrough" = yes; then > + > +if supported_xen_target $target; then > + echo "CONFIG_XEN=y" >> $config_target_mak > + if test "$xen_pci_passthrough" = yes; then ...but previously we only enabled CONFIG_XEN on i386 or x86_64 targets. Alex points out that the shippable builds now fail for aarch64 and arm. (I think that my test machines for aarch64 and arm don't fail like this because they happen not to have the Xen headers installed, so the overall "does Xen work on this host" check fails; the shippable configs do pass that test so they try to build the Xen code.) https://app.shippable.com/github/qemu/qemu/runs/267/2/console exec.o: In function `reclaim_ramblock': /root/src/github.com/qemu/qemu/exec.c:2071: undefined reference to `xen_invalidate_map_cache_entry' exec.o: In function `qemu_map_ram_ptr': /root/src/github.com/qemu/qemu/exec.c:2177: undefined reference to `xen_map_cache' /root/src/github.com/qemu/qemu/exec.c:2174: undefined reference to `xen_map_cache' exec.o: In function `qemu_ram_block_from_host': /root/src/github.com/qemu/qemu/exec.c:2242: undefined reference to `xen_ram_addr_from_mapcache' /root/src/github.com/qemu/qemu/exec.c:2242: undefined reference to `xen_ram_addr_from_mapcache' exec.o: In function `qemu_ram_ptr_length': /root/src/github.com/qemu/qemu/exec.c:2210: undefined reference to `xen_map_cache' /root/src/github.com/qemu/qemu/exec.c:2207: undefined reference to `xen_map_cache' exec.o: In function `address_space_unmap': /root/src/github.com/qemu/qemu/exec.c:3357: undefined reference to `xen_invalidate_map_cache_entry' hw/xen/xen_pt.o: In function `xen_pt_pci_read_config': /root/src/github.com/qemu/qemu/hw/xen/xen_pt.c:206: undefined reference to `xen_shutdown_fatal_error' hw/xen/xen_pt.o: In function `xen_igd_passthrough_isa_bridge_create': /root/src/github.com/qemu/qemu/hw/xen/xen_pt.c:698: undefined reference to `igd_passthrough_isa_bridge_create' hw/xen/xen_pt.o: In function `xen_pt_pci_write_config': /root/src/github.com/qemu/qemu/hw/xen/xen_pt.c:355: undefined reference to `xen_shutdown_fatal_error' hw/xen/xen_pt_config_init.o: In function `xen_pt_status_reg_init': /root/src/github.com/qemu/qemu/hw/xen/xen_pt_config_init.c:281: undefined reference to `xen_shutdown_fatal_error' /root/src/github.com/qemu/qemu/hw/xen/xen_pt_config_init.c:275: undefined reference to `xen_shutdown_fatal_error' hw/xen/xen_pt_graphics.o: In function `get_vgabios': /root/src/github.com/qemu/qemu/hw/xen/xen_pt_graphics.c:135: undefined reference to `pci_assign_dev_load_option_rom' collect2: error: ld returned 1 exit status thanks -- PMM