Re: BETA5: Xen 4.19.2-pre domU crash/don't start
Date: Thu, 20 Nov 2025 17:19:55 UTC
On Thu, Nov 20, 2025 at 05:35:53PM +0100, Manuel Kuklinski wrote: > Hi! > > I'm relatively new to FreeBSD and especially Xen, so please forgive any > misunderstandings and mistakes at my side... > > I upgraded from FreeBSD 14.3-RELEASE to 15.0-BETA5 and upgraded all > ports with portmaster, doing a portsnap fetch/extract beforehand. > > Reason for the prematurely upgrade were the possibility to create service > jails in FreeBSD 15.0. > > Before I upgraded all ports, I deleted all packages and set some options > in /etc/make.conf. > > On FreeBSD 14.3-RELEASE and with Xen, domUs where working perfectly fine; > now, on FreeBSD 15.0-BETA5 I get the following error, while trying to > create a VM: > > - - - - - - - - - - 8< - - - - - - - - - - > > # uname -a > FreeBSD srv0.home.arpa 15.0-BETA5 FreeBSD 15.0-BETA5 releng/15.0-n280911-3447fc070cc2 GENERIC amd64 > > # pkg info | grep xen > edk2-xen-x64-g202308_5 EDK2 Firmware for xen_x64 > xen-kernel-4.19.1.20250217 Hypervisor using a microkernel design > xen-tools-4.19.1.20250217_1 Xen Hypervisor management tools > > # cat /usr/local/etc/xen/alpine-containerlab.cfg > type = "hvm" > name = "alpine-containerlab" > memory = 2048 > maxmem = 4096 > vcpus = 2 > vif = [ 'bridge=bridge0' ] > disk = [ > '/dev/zvol/zroot/xen/containerlab/disk0,raw,hda,rw' > ] > vnc = "1" > vnclisten = "0.0.0.0" > serial = "pty" > hap = "1" > nestedhvm = "1" Don't use nestedhvm, it doesn't work properly. Does the VM work if you disable the nestedhvm option? > > # xl -vvv create /usr/local/etc/xen/alpine-containerlab.cfg > Parsing config from /usr/local/etc/xen/alpine-containerlab.cfg > libxl: debug: libxl_create.c:2122:do_domain_create: ao 0x30d2ec20140: create: how=0x0 callback=0x0 poller=0x30d2ec15050 > libxl: detail: libxl_create.c:672:libxl__domain_make: passthrough: disabled > libxl: detail: libxl_create.c:680:libxl__domain_make: altp2m: disabled > libxl: debug: libxl_device.c:445:libxl__device_disk_set_backend: Disk vdev=hda spec.backend=unknown specification=xen > libxl: debug: libxl_device.c:485:libxl__device_disk_set_backend: Disk vdev=hda, using backend phy > libxl: debug: libxl_create.c:1377:initiate_domain_create: Domain 4:running bootloader > libxl: debug: libxl_bootloader.c:410:libxl__bootloader_run: Domain 4:not a PV/PVH domain, skipping bootloader > libxl: debug: libxl_event.c:863:libxl__ev_xswatch_deregister: watch w=0x30d2ec44dc8: deregister unregistered > domainbuilder: detail: xc_dom_allocate: cmdline="", features="" > domainbuilder: detail: xc_dom_kernel_file: filename="/usr/local/lib/xen/boot/hvmloader" > domainbuilder: detail: xc_dom_malloc_filemap : 170 kB > libxl: debug: libxl_dom.c:838:libxl__load_hvm_firmware_module: Loading BIOS: /usr/local/share/seabios/bios.bin > domainbuilder: detail: xc_dom_boot_xen_init: ver 4.19, caps xen-3.0-x86_64 hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 > domainbuilder: detail: xc_dom_parse_image: called > domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader ... > domainbuilder: detail: loader probe failed > domainbuilder: detail: xc_dom_find_loader: trying HVM-generic loader ... > domainbuilder: detail: loader probe OK > xc: detail: ELF: phdr: paddr=0x100000 memsz=0x2ff40 > xc: detail: ELF: memory: 0x100000 -> 0x12ff40 > domainbuilder: detail: xc_dom_compat_check: supported guest type: xen-3.0-x86_64 > domainbuilder: detail: xc_dom_compat_check: supported guest type: hvm-3.0-x86_32 <= matches > domainbuilder: detail: xc_dom_compat_check: supported guest type: hvm-3.0-x86_32p > domainbuilder: detail: xc_dom_compat_check: supported guest type: hvm-3.0-x86_64 > domainbuilder: detail: xc_dom_mem_init: mem 4088 MB, pages 0xff800 pages, 4k each > domainbuilder: detail: xc_dom_mem_init: 0xff800 pages > domainbuilder: detail: xc_dom_boot_mem_init: called > domainbuilder: detail: range: start=0x0 end=0xf0000000 > domainbuilder: detail: range: start=0x100000000 end=0x10f800000 > xc: detail: PHYSICAL MEMORY ALLOCATION: > xc: detail: 4KB PAGES: 0x0000000000000200 > xc: detail: 2MB PAGES: 0x00000000000003fb > xc: detail: 1GB PAGES: 0x0000000000000002 > domainbuilder: detail: xc_dom_build_image: called > domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 0x100+0x30 at 0x82e211000 > domainbuilder: detail: xc_dom_alloc_segment: kernel : 0x100000 -> 0x12ff40 (pfn 0x100 + 0x30 pages) > xc: detail: ELF: phdr 0 at 0x82ead3000 -> 0x82eafc44c > domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 0x130+0x40 at 0x82f1d1000 > domainbuilder: detail: xc_dom_alloc_segment: System Firmware module : 0x130000 -> 0x170000 (pfn 0x130 + 0x40 pages) > domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 0x170+0x1 at 0x82faed000 > domainbuilder: detail: xc_dom_alloc_segment: HVM start info : 0x170000 -> 0x1708a8 (pfn 0x170 + 0x1 pages) > domainbuilder: detail: xc_dom_build_image : virt_alloc_end : 0x171000 > domainbuilder: detail: xc_dom_build_image : virt_pgtab_end : 0x0 > domainbuilder: detail: xc_dom_boot_image: called > domainbuilder: detail: domain builder memory footprint > domainbuilder: detail: allocated > domainbuilder: detail: malloc : 5848 bytes > domainbuilder: detail: anon mmap : 0 bytes > domainbuilder: detail: mapped > domainbuilder: detail: file mmap : 170 kB > domainbuilder: detail: domU mmap : 452 kB > domainbuilder: detail: vcpu_hvm: called > domainbuilder: detail: compat_gnttab_hvm_seed: d4: pfn=0x10f800 > domainbuilder: detail: xc_dom_set_gnttab_entry: d4 gnt[0] -> d0 0xfefff > domainbuilder: detail: xc_dom_set_gnttab_entry: d4 gnt[1] -> d0 0xfeffc > domainbuilder: detail: xc_dom_release: called > libxl: debug: libxl_device.c:445:libxl__device_disk_set_backend: Disk vdev=hda spec.backend=phy specification=xen > libxl: debug: libxl_event.c:813:libxl__ev_xswatch_register: watch w=0x30d2ec814d0 wpath=/local/domain/0/backend/vbd/4/768/state token=3/0: register slotnum=3 > libxl: debug: libxl_create.c:2161:do_domain_create: ao 0x30d2ec20140: inprogress: poller=0x30d2ec15050, flags=i > libxl: debug: libxl_event.c:751:watchfd_callback: watch w=0x30d2ec814d0 wpath=/local/domain/0/backend/vbd/4/768/state token=3/0: event epath=/local/domain/0/backend/vbd/4/768/state > libxl: debug: libxl_event.c:1055:devstate_callback: backend /local/domain/0/backend/vbd/4/768/state wanted state 2 still waiting state 1 > libxl: debug: libxl_event.c:751:watchfd_callback: watch w=0x30d2ec814d0 wpath=/local/domain/0/backend/vbd/4/768/state token=3/0: event epath=/local/domain/0/backend/vbd/4/768/state > libxl: debug: libxl_event.c:1051:devstate_callback: backend /local/domain/0/backend/vbd/4/768/state wanted state 2 ok > libxl: debug: libxl_event.c:850:libxl__ev_xswatch_deregister: watch w=0x30d2ec814d0 wpath=/local/domain/0/backend/vbd/4/768/state token=3/0: deregister slotnum=3 > libxl: debug: libxl_device.c:1181:device_backend_callback: Domain 4:calling device_backend_cleanup > libxl: debug: libxl_event.c:863:libxl__ev_xswatch_deregister: watch w=0x30d2ec814d0: deregister unregistered > libxl: debug: libxl_device.c:1283:device_hotplug: Domain 4:calling hotplug script: /usr/local/etc/xen/scripts/block /local/domain/0/backend/vbd/4/768 > libxl: debug: libxl_device.c:1284:device_hotplug: Domain 4:extra args: > libxl: debug: libxl_device.c:1290:device_hotplug: Domain 4: add > libxl: debug: libxl_device.c:1292:device_hotplug: Domain 4:env: > libxl: debug: libxl_aoutils.c:593:libxl__async_exec_start: forking to execute: /usr/local/etc/xen/scripts/block /local/domain/0/backend/vbd/4/768 > libxl: debug: libxl_event.c:863:libxl__ev_xswatch_deregister: watch w=0x30d2ec815d0: deregister unregistered > libxl: debug: libxl_device.c:1268:device_hotplug: Domain 4:No hotplug script to execute > libxl: debug: libxl_event.c:863:libxl__ev_xswatch_deregister: watch w=0x30d2ec815d0: deregister unregistered > libxl: debug: libxl_dm.c:180:libxl__domain_get_device_model_uid: Domain 4:dm_restrict disabled, starting QEMU as root > libxl: debug: libxl_disk.c:1346:libxl__device_disk_find_local_path: Directly accessing local RAW disk /dev/zvol/zroot/xen/containerlab/disk0 > libxl: debug: libxl_dm.c:3001:libxl__spawn_local_dm: Domain 4:Spawning device-model /usr/local/lib/xen/bin/qemu-system-i386 with arguments: > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: /usr/local/lib/xen/bin/qemu-system-i386 > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -xen-domid > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: 4 > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -no-shutdown > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -chardev > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-4,server=on,wait=off > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -mon > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: chardev=libxl-cmd,mode=control > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -chardev > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-4,server=on,wait=off > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -mon > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: chardev=libxenstat-cmd,mode=control > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -nodefaults > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -no-user-config > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -name > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: alpine-containerlab > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -vnc > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: 0.0.0.0:0,to=99 > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -display > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: none > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -serial > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: pty > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -device > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: cirrus-vga,vgamem_mb=8 > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -boot > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: order=cda > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -smp > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: 2,maxcpus=2 > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -device > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: rtl8139,id=nic0,netdev=net0,mac=00:16:3e:57:d8:e9 > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -netdev > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: type=tap,id=net0,ifname=xnb4.0-emu,br=bridge0,script=no,downscript=no > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -machine > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: xenfv,suppress-vmdesc=on > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -m > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: 4088 > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: -drive > libxl: debug: libxl_dm.c:3003:libxl__spawn_local_dm: Domain 4: file=/dev/zvol/zroot/xen/containerlab/disk0,if=ide,index=0,media=disk,format=raw,cache=writeback > libxl: debug: libxl_dm.c:3005:libxl__spawn_local_dm: Domain 4:Spawning device-model /usr/local/lib/xen/bin/qemu-system-i386 with additional environment: > libxl: debug: libxl_dm.c:3007:libxl__spawn_local_dm: Domain 4: XEN_QEMU_CONSOLE_LIMIT=1048576 > libxl: debug: libxl_dm.c:3007:libxl__spawn_local_dm: Domain 4: XEN_DOMAIN_ID=4 > libxl: debug: libxl_event.c:813:libxl__ev_xswatch_register: watch w=0x30d2ec450c0 wpath=/local/domain/0/device-model/4/state token=3/1: register slotnum=3 > libxl: debug: libxl_event.c:751:watchfd_callback: watch w=0x30d2ec450c0 wpath=/local/domain/0/device-model/4/state token=3/1: event epath=/local/domain/0/device-model/4/state > libxl: debug: libxl_exec.c:407:spawn_watch_event: domain 4 device model: spawn watch p=(null) > libxl: debug: libxl_event.c:751:watchfd_callback: watch w=0x30d2ec450c0 wpath=/local/domain/0/device-model/4/state token=3/1: event epath=/local/domain/0/device-model/4/state > libxl: debug: libxl_exec.c:407:spawn_watch_event: domain 4 device model: spawn watch p=running > libxl: debug: libxl_event.c:850:libxl__ev_xswatch_deregister: watch w=0x30d2ec450c0 wpath=/local/domain/0/device-model/4/state token=3/1: deregister slotnum=3 > libxl: debug: libxl_exec.c:129:libxl_report_child_exitstatus: domain 4 device model (dying as expected) [45063] died due to fatal signal Killed > libxl: debug: libxl_event.c:863:libxl__ev_xswatch_deregister: watch w=0x30d2ec450c0: deregister unregistered > libxl: debug: libxl_qmp.c:1884:libxl__ev_qmp_send: Domain 4: ev 0x30d2ec450d8, cmd 'query-chardev' > libxl: debug: libxl_qmp.c:1324:qmp_ev_lock_aquired: Domain 4:Connecting to /var/run/xen/qmp-libxl-4 > libxl: debug: libxl_qmp.c:1702:qmp_ev_handle_message: Domain 4:QEMU version: 8.0.4 > libxl: debug: libxl_qmp.c:1884:libxl__ev_qmp_send: Domain 4: ev 0x30d2ec450d8, cmd 'query-vnc' > libxl: debug: libxl_qmp.c:1920:libxl__ev_qmp_dispose: Domain 4: ev 0x30d2ec450d8 > libxl: debug: libxl_event.c:813:libxl__ev_xswatch_register: watch w=0x30d2ec81cd0 wpath=/local/domain/0/backend/vif/4/0/state token=3/2: register slotnum=3 > libxl: debug: libxl_event.c:751:watchfd_callback: watch w=0x30d2ec81cd0 wpath=/local/domain/0/backend/vif/4/0/state token=3/2: event epath=/local/domain/0/backend/vif/4/0/state > libxl: debug: libxl_event.c:1055:devstate_callback: backend /local/domain/0/backend/vif/4/0/state wanted state 2 still waiting state 1 > libxl: debug: libxl_event.c:751:watchfd_callback: watch w=0x30d2ec81cd0 wpath=/local/domain/0/backend/vif/4/0/state token=3/2: event epath=/local/domain/0/backend/vif/4/0/state > libxl: debug: libxl_event.c:1051:devstate_callback: backend /local/domain/0/backend/vif/4/0/state wanted state 2 ok > libxl: debug: libxl_event.c:850:libxl__ev_xswatch_deregister: watch w=0x30d2ec81cd0 wpath=/local/domain/0/backend/vif/4/0/state token=3/2: deregister slotnum=3 > libxl: debug: libxl_device.c:1181:device_backend_callback: Domain 4:calling device_backend_cleanup > libxl: debug: libxl_event.c:863:libxl__ev_xswatch_deregister: watch w=0x30d2ec81cd0: deregister unregistered > libxl: debug: libxl_device.c:1283:device_hotplug: Domain 4:calling hotplug script: /usr/local/etc/xen/scripts/vif-bridge /local/domain/0/backend/vif/4/0 > libxl: debug: libxl_device.c:1284:device_hotplug: Domain 4:extra args: > libxl: debug: libxl_device.c:1290:device_hotplug: Domain 4: add > libxl: debug: libxl_device.c:1292:device_hotplug: Domain 4:env: > libxl: debug: libxl_device.c:1299:device_hotplug: Domain 4: iface_dev: xnb4.0 > libxl: debug: libxl_device.c:1299:device_hotplug: Domain 4: emulated: 0 > libxl: debug: libxl_aoutils.c:593:libxl__async_exec_start: forking to execute: /usr/local/etc/xen/scripts/vif-bridge /local/domain/0/backend/vif/4/0 > libxl: debug: libxl_event.c:863:libxl__ev_xswatch_deregister: watch w=0x30d2ec81dd0: deregister unregistered > libxl: debug: libxl_device.c:1283:device_hotplug: Domain 4:calling hotplug script: /usr/local/etc/xen/scripts/vif-bridge /local/domain/0/backend/vif/4/0 > libxl: debug: libxl_device.c:1284:device_hotplug: Domain 4:extra args: > libxl: debug: libxl_device.c:1290:device_hotplug: Domain 4: add > libxl: debug: libxl_device.c:1292:device_hotplug: Domain 4:env: > libxl: debug: libxl_device.c:1299:device_hotplug: Domain 4: iface_dev: xnb4.0-emu > libxl: debug: libxl_device.c:1299:device_hotplug: Domain 4: emulated: 1 > libxl: debug: libxl_aoutils.c:593:libxl__async_exec_start: forking to execute: /usr/local/etc/xen/scripts/vif-bridge /local/domain/0/backend/vif/4/0 > libxl: debug: libxl_event.c:863:libxl__ev_xswatch_deregister: watch w=0x30d2ec81dd0: deregister unregistered > libxl: debug: libxl_device.c:1268:device_hotplug: Domain 4:No hotplug script to execute > libxl: debug: libxl_event.c:863:libxl__ev_xswatch_deregister: watch w=0x30d2ec81dd0: deregister unregistered > libxl: debug: libxl_event.c:813:libxl__ev_xswatch_register: watch w=0x30d2ec467d0 wpath=/local/domain/4/console/tty token=3/3: register slotnum=3 > libxl: debug: libxl_event.c:751:watchfd_callback: watch w=0x30d2ec467d0 wpath=/local/domain/4/console/tty token=3/3: event epath=/local/domain/4/console/tty > libxl: debug: libxl_event.c:2413:libxl__ao_progress_report: ao 0x30d2ec20140: progress report: callback queued aop=0x30d2f602190 > libxl: debug: libxl_event.c:850:libxl__ev_xswatch_deregister: watch w=0x30d2ec467d0 wpath=/local/domain/4/console/tty token=3/3: deregister slotnum=3 > libxl: debug: libxl_event.c:863:libxl__ev_xswatch_deregister: watch w=0x30d2ec467d0: deregister unregistered > libxl: debug: libxl_event.c:2067:libxl__ao_complete: ao 0x30d2ec20140: complete, rc=0 > libxl: debug: libxl_event.c:1598:egc_run_callbacks: ao 0x30d2ec20140: progress report: callback aop=0x30d2f602190 > libxl: debug: libxl_event.c:2036:libxl__ao__destroy: ao 0x30d2ec20140: destroy > libxl: debug: libxl_domain.c:700:libxl_domain_unpause: Domain 4:ao 0x30d2ec20140: create: how=0x0 callback=0x0 poller=0x30d2ec15050 > libxl: debug: libxl_qmp.c:1884:libxl__ev_qmp_send: Domain 4: ev 0x30d2ec82028, cmd 'cont' > libxl: debug: libxl_qmp.c:1324:qmp_ev_lock_aquired: Domain 4:Connecting to /var/run/xen/qmp-libxl-4 > libxl: debug: libxl_domain.c:708:libxl_domain_unpause: Domain 4:ao 0x30d2ec20140: inprogress: poller=0x30d2ec15050, flags=i > libxl: debug: libxl_qmp.c:1702:qmp_ev_handle_message: Domain 4:QEMU version: 8.0.4 > libxl: debug: libxl_qmp.c:1920:libxl__ev_qmp_dispose: Domain 4: ev 0x30d2ec82028 > libxl: debug: libxl_event.c:863:libxl__ev_xswatch_deregister: watch w=0x30d2ec82198: deregister unregistered > libxl: debug: libxl_event.c:2067:libxl__ao_complete: ao 0x30d2ec20140: complete, rc=0 > libxl: debug: libxl_event.c:2036:libxl__ao__destroy: ao 0x30d2ec20140: destroy > xencall:buffer: debug: total allocations:640 total releases:640 > xencall:buffer: debug: current allocations:0 maximum allocations:3 > xencall:buffer: debug: cache current size:3 > xencall:buffer: debug: cache hits:626 misses:3 toobig:11 > xencall:buffer: debug: total allocations:0 total releases:0 > xencall:buffer: debug: current allocations:0 maximum allocations:0 > xencall:buffer: debug: cache current size:0 > xencall:buffer: debug: cache hits:0 misses:0 toobig:0 > > # xl dmesg > [...] > (d4) Invoking SeaBIOS ... > (XEN) MMIO emulation failed (1): d4v0 Real @ ea00:eff16000 -> This seems concerning. Don't you get more output here that contains the instruction stream that failed to emulate? Are you using a custom build of SeaBIOS? Maybe the newer build of SeaBIOS is broken, possibly a result of the update of the default GCC version to use. You could try to resort to fetching a build of SeaBIOS from 14.3 ports tree, if that makes a difference? SeaBIOS is just a binary blob, so doesn't have any dependency on where it's built. You could even pickup a SeaBIOS blob built on Linux and place it in /usr/local/share/seabios/bios.bin. > (XEN) d4v0 VMRESUME error: 0x7 According to the SDM this is: "VM entry with invalid control field(s)" Which could be caused by the guest attempting to enable the virtualization extensions inside the VM, and thus corrupting the VM state. I haven't checked the control fields dumped below for sanity, because it's a pain to do it manually. We should add an automatic checker in Xen that points out the incompatibilities, but alas. Let me know if removing `nestedhvm=1` from the xl.cfg file solves the issue. Or attempting to boot with a good know version of SeaBIOS, I've uploaded my current SeaBIOS build to: https://people.freebsd.org/~royger/bios.bin If you want to give it a try. You should just copy it to /usr/local/share/seabios/bios.bin replacing your existing build. If none of those work, have you done any code modifications to Xen that could explain the errors? Regards, Roger.