I have not been able to run OpenSolaris / openindiana (OI) in xen. OI is very sensitive to the -machine parm in qemu. You can get grub to come up with hvm, and add -v to the kernel line, and see that for -machine xenfv, the messages stop / hang right after the printing of the cpuid features, and just before pci bus enumeration. Qemu's -machine q35 is not much better. After the cpuid features, it complains that the usb controllers ohci / ehci are unusable (no SOF? Interrupts), enumerates the keyboard, then hangs. The next messages should be about the usb mouse, and pci devices.
Awhile back, Jun 2013, patches were discussed in xen-devel to add an accel= parm to the -machine type. I can use -machine pc,accel=kvm:tcg in stand alone qemu. Booting under xen, there is no kvm, so the slow tcg emulation is chosen, but it works. I can reboot bare-metal, and and kvm works marvelously, but I have other guests I want to run under xen.
If I use accel=xen:kvm:tcg, and start my stand alone qemu OI guest as an unpriviledged user, it complains about not having access to a priviledged interface (xenpriv?), but other wise goes on to reject kvm, and pick tcg - no surprise since you need root access to run xl, so why would stand alone qemu work? However, when I do run as root, I get the following error:
failed to get HVM_PARAM_IOREQ_PFN
qemu-system-x86_64: failed to get ioreq server info: error 22 handle=0x562306ea5680
qemu-system-x86_64: xen hardware virtual machine initialisation failed
and then aborts, w/o going on to check kvm or tcg. Any ideas on where the error is, how to correct? Any other parms needed in qemu? I've checked the qemu-discuss and xen lists. There was one suggestion to use 'xen_platform_pci=0' in your xen cfg, which changes the -machine from xenfv to pc,accel=xen, but the xen guest just aborts in the same place it was hanging before. Hence, I'm trying to just use stand alone qemu.
Thx. |