`qemu-system-x86_64 -no-kqemu` can be used to install and run [Open]Solaris host VMs but won't be recognised as a 64 bit CPU and therefore would have [Open]Solaris running only in 32 bit mode. OpenSolaris uses a patched qemu to define and partially implement the missing PSE36 functionality that it is needed as shown by the linked URL Reproducible: Always Steps to Reproduce: 1. install an Nexenta (or any other OpenSolaris distribution or Solaris 10) by running: qemu-system-x86_64 -m 256 -hda nexenta-amd64.img -cdrom elatte_installcd_alpha6_i386.iso -boot d 2. run that VM by running: qemu-system-x86_64 -m 256 nexenta-amd64-img 3. boot into the VM (adding '-B atapi-cd-dma-enabled=0' to the kernel line in GRUB is recommended) and log into the system Actual Results: after boot `isainfo -v` inside the VM will show that only a 32 bit ABI is available and no 64 bit kernel was installed. Expected Results: `isainfo -v` should show that both a 64 bit and 32 bit ABIs are available, and by default `uname -a` should show we are running a 64 bit kernel. upstream has a fix in CVS which is also used in the OpenSolaris patched qemu
Created attachment 106858 [details, diff] patch with the changes needed pulled from CVS Tested to install and run Solaris 10 x86 hosts
i meant running Solaris/OpenSolaris guests in gentoo, even though I wrote "Solaris host" of course
just to clarify: the problem is a triggered because of a Solaris bug as seen in : http://bugs.opensolaris.org/view_bug.do?bug_id=6471548 the proposed patch is a workaround and will be released with qemu 0.8.3 but will be needed at least until that release goes stable. a description of the logic behind the patch and from the point of view of a solaris host running a solaris guest can be seen in : http://www.opensolaris.org/jive/thread.jspa?threadID=14380&tstart=0
my guess is that Luca doesnt want to maintain this sort of thing ... better to get it merged upstream