Only tested on v7 but the v8 equivalent seems pretty obvious. XEN_CAP_REGEX already accepts more than it should (e.g. x86_64p or x86_32be) but I have stuck with the existing pattern. With this I can create a guest from: <domain type='xen'> <name>libvirt-test</name> <uuid>6343998e-9eda-11e3-98f6-77252a7d02f3</uuid> <memory>393216</memory> <currentMemory>393216</currentMemory> <vcpu>1</vcpu> <os> <type arch='armv7l' machine='xenpv'>linux</type> <kernel>/boot/vmlinuz-arm-native</kernel> <cmdline>console=hvc0 earlyprintk debug root=/dev/xvda1</cmdline> </os> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> <disk type='block' device='disk'> <source dev='/dev/marilith-n0/debian-disk'/> <target dev='xvda1'/> </disk> <interface type='bridge'> <mac address='8e:a7:8e:3c:f4:f6'/> <source bridge='xenbr0'/> </interface> </devices> </domain> Using virsh create and I can destroy it too. Currently virsh console fails with: Connected to domain libvirt-test Escape character is ^] error: internal error: cannot find character device <null> I haven't investigated yet. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- src/libxl/libxl_conf.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index 4cefadf..7ed692d 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -61,7 +61,7 @@ struct guest_arch { int ia64_be; }; -#define XEN_CAP_REGEX "(xen|hvm)-[[:digit:]]+\\.[[:digit:]]+-(x86_32|x86_64|ia64|powerpc64)(p|be)?" +#define XEN_CAP_REGEX "(xen|hvm)-[[:digit:]]+\\.[[:digit:]]+-(aarch64|armv7l|x86_32|x86_64|ia64|powerpc64)(p|be)?" static virClassPtr libxlDriverConfigClass; @@ -319,8 +319,11 @@ libxlCapsInitGuests(libxl_ctx *ctx, virCapsPtr caps) } else if (STRPREFIX(&token[subs[2].rm_so], "powerpc64")) { arch = VIR_ARCH_PPC64; + } else if (STRPREFIX(&token[subs[2].rm_so], "armv7l")) { + arch = VIR_ARCH_ARMV7L; + } else if (STRPREFIX(&token[subs[2].rm_so], "aarch64")) { + arch = VIR_ARCH_AARCH64; } else { - /* XXX arm ? */ continue; } -- 1.7.10.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list