Eric Lowe
2006-Oct-19 22:31 UTC
err Re: [qemu-discuss] New SUNWqemu-0.8.2, REV=2006.10.18-sol10-i386-opt.pkg.gz for x64/x86 ready for public testing
kqemu should work with OpenSolaris guests provided you don''t use -kernel-kqemu. -kernel-kqemu is incompatible with the OpenSolaris kernel for a couple of reasons. First, it appears kqemu will need a change in its page table shadowing if we want to support OpenSolaris guests with full virtualization, due to the way the HAT layer manages its page tables which is very different from Linux and Windows; second, there is a bug (well, an RFE) in OpenSolaris itself which would also need to be addressed. I have booted Windows XP and Linux using -kernel-kqemu with OpenSolaris as the host using the binary bits mentioned below and they worked fine for me. I also had no difficulty booting OpenSolaris guests on these bits in 32-bit and 64-bit mode w/ kqemu. I will install the latest packages on my home system tonight and retry my tests with the latest kernel accelerator (my machine is an Athlon X2 so I can test both 32-bit and 64-bit). - Eric ----- Original Message ---- From: Martin Bochnig <mb1x at gmx.com> Cc: Open Solaris <opensolaris-discuss at opensolaris.org>; qemu-devel at nongnu.org; qemu-discuss at opensolaris.org Sent: Thursday, October 19, 2006 2:50:37 AM Subject: err Re: [qemu-discuss] New SUNWqemu-0.8.2, REV=2006.10.18-sol10-i386-opt.pkg.gz for x64/x86 ready for public testing Sorry, the new version doesn''t work with kqemu very well. This affects the old and the new src equally. The compiler or build env seems to be the problem. Please continue to use the previous version that can still be obtained from http://opensolaris.org/os/project/qemu/downloads/qemu-osol-0.8.2-bin-x86.tar.gz Sorry for any inconveniences. Martin Bochnig wrote:>http://opensolaris.org/os/project/qemu/downloads/ > >Latest patched QEMU sources 20061013 ><http://opensolaris.org/os/project/qemu/downloads/qemu-0.8.2-solaris_src_20061013fri.tar.bz2>QEMU >0.8.2 + patches snapshot October 13th 2006 >Previous patched QEMU sources 20061002 ><http://www.opensolaris.org/os/project/qemu/downloads/qemu-0.8.2-solaris.tar.gz>QEMU >0.8.2 + patches snapshot October 2nd 2006 >Pre-built x86 binaries_pkg ><http://opensolaris.org/os/project/qemu/downloads/SUNWqemu-0.8.2_REV_2006.10.18-sol10-i386-opt.pkg.bz2> >32-bit and 64-bit x86/x64 pre-compiled QEMU 0.8.2 binaries for Solaris >10 / 11 / OpenSolaris > >Should run on Sol10-x86 FCS aka 03/05 or higher (has been built under >Solaris 10 03/05 FCS). > >_______________________________________________ qemu-discuss mailing list qemu-discuss at opensolaris.org http://opensolaris.org/mailman/listinfo/qemu-discuss
Martin Bochnig
2006-Oct-19 23:25 UTC
[qemu-discuss] Everything OK with kqemu vs. new SUNWqemu-0.8.2, REV=2006.10.18-sol10-i386-opt.pkg.gz for x64/x86
It was a misunderstanding. You know, I''m new to x86 HOSTs running qemu (doing most things on sparc normally). I therefore didn''t have prior kqemu experience. Eric Lowe wrote:>>OH, oh, -kernel-kqemu does NOT work with Solaris guests. >> > >Your binary 32bit version actually does in 70% of tested cases (Sol10_U2 boot DVD and marTux_0.2_x64__snv46) ! It does work with -kernel-kqemu and boots into marTux_0.2 x86 OpenSolaris 32bit mode! This is what confused me, and which made me believe, we had been talking about A) (appropriate kqemu loaded) && (-kernel-kqemu) rather than B) (appropriate kqemu loaded) && !(-no-kqemu) all the time. A total misunderstanding which made me wonder, how to see the light.>>You can only use kqemu without any kqemu parameters to QEMU so it does the default of virtualizing only the user-mode bits and emulating CPL=0. >> >> > >Ahh, cool. Then I simply misunderstood the help-comment/option-description of -kernel-kqemu, when I believed, "user-mode bits" only applies to the linux_X_linux usermode case (not softmmu full system emulation). Well, then it works ok what I get. I need to do a performace analysis covering module_loaded versus driver_removed (or -no-kqemu).>>-kernel-kqemu does appear to work OK with Linux and Windows guests. >> >> > >Sun_JDS1-Linux yes. Dos/Win9x no. (also a no-go with /opt/SUNWqemu/32/bin/qemu from your previous binary tar archive version, whereas OpenSolaris guests do work with your 20061002 version) Apparrently NT based Win would potentially work with -kernel-kqemu, when you say that you could sucessfully boot into XP. Do Linux-HOSTS running qemu/kqemu have the same incompatibility problems with certain guests (i.e. OpenSolaris or Win9x), or rather the BSD kqemu wrapper which you have ported to Solaris?>>After discussing with Fabrice the ins and outs of -kernel-kqemu I built a kernel which fixes some of the issues (Solaris has some naughty code which clears IF using POPF instead of using the CLI instruction) but there is one problem I could not solve kernel-side; kqemu does not do full page table shadowing for the kernel but instead updates the page tables of the guest in-situ with the translated pfns. Solaris gets very cranky about this since it assumes that the PTE.pfn == page_t.p_pagenum when doing the reverse translation. In your case I think you probably got bitten instead by an interrupt coming into the guest when it expected interrupts to be off -- the dispatcher does some twiddling with interrupts in some of its code which invoke the bad macro that uses PUSH $2 followed by POPF to clear IF. >> >> > >Interesting. I need to play around with that.>>Testing without -kernel-kqemu should not have any problems.. if you do encounter any problems let me know. >> > >The only problem is, that the Sol10_U2 DVD stops booting the installer after Configuring Devices. ^C brings me to the # prompt (letting it running over night doesn''t have it make progress). Not sure why that happens. May not have to do with kqemu. --->> Thanks for introducing me to the kqemu(-wrapper) matter. The more respect do I have for your wrapper-port. -Martin Eric Lowe wrote:>kqemu should work with OpenSolaris guests provided you don''t use -kernel-kqemu. -kernel-kqemu is incompatible with the OpenSolaris kernel for a couple of reasons. First, it appears kqemu will need a change in its page table shadowing if we want to support OpenSolaris guests with full virtualization, due to the way the HAT layer manages its page tables which is very different from Linux and Windows; second, there is a bug (well, an RFE) in OpenSolaris itself which would also need to be addressed. > >I have booted Windows XP and Linux using -kernel-kqemu with OpenSolaris as the host using the binary bits mentioned below and they worked fine for me. I also had no difficulty booting OpenSolaris guests on these bits in 32-bit and 64-bit mode w/ kqemu. I will install the latest packages on my home system tonight and retry my tests with the latest kernel accelerator (my machine is an Athlon X2 so I can test both 32-bit and 64-bit). > >- Eric > >----- Original Message ---- >From: Martin Bochnig <mb1x at gmx.com> >Cc: Open Solaris <opensolaris-discuss at opensolaris.org>; qemu-devel at nongnu.org; qemu-discuss at opensolaris.org >Sent: Thursday, October 19, 2006 2:50:37 AM >Subject: err Re: [qemu-discuss] New SUNWqemu-0.8.2, REV=2006.10.18-sol10-i386-opt.pkg.gz for x64/x86 ready for public testing > >Sorry, the new version doesn''t work with kqemu very well. >This affects the old and the new src equally. >The compiler or build env seems to be the problem. > >Please continue to use the previous version that can still be obtained >from >http://opensolaris.org/os/project/qemu/downloads/qemu-osol-0.8.2-bin-x86.tar.gz > >Sorry for any inconveniences. > > >Martin Bochnig wrote: > > > >>http://opensolaris.org/os/project/qemu/downloads/ >> >>Latest patched QEMU sources 20061013 >><http://opensolaris.org/os/project/qemu/downloads/qemu-0.8.2-solaris_src_20061013fri.tar.bz2>QEMU >>0.8.2 + patches snapshot October 13th 2006 >>Previous patched QEMU sources 20061002 >><http://www.opensolaris.org/os/project/qemu/downloads/qemu-0.8.2-solaris.tar.gz>QEMU >>0.8.2 + patches snapshot October 2nd 2006 >>Pre-built x86 binaries_pkg >><http://opensolaris.org/os/project/qemu/downloads/SUNWqemu-0.8.2_REV_2006.10.18-sol10-i386-opt.pkg.bz2> >>32-bit and 64-bit x86/x64 pre-compiled QEMU 0.8.2 binaries for Solaris >>10 / 11 / OpenSolaris >> >>Should run on Sol10-x86 FCS aka 03/05 or higher (has been built under >>Solaris 10 03/05 FCS). >> >> >> >> > >_______________________________________________ >qemu-discuss mailing list >qemu-discuss at opensolaris.org >http://opensolaris.org/mailman/listinfo/qemu-discuss > > > > > > > > >
Eric,> kqemu should work with OpenSolaris guests provided > you don''t use -kernel-kqemu. -kernel-kqemu is > incompatible with the OpenSolaris kernel for a couple > of reasons.Mmmm, I did some tests and the results are a little different: The (reproducable) installation of Nexenta alpha6 in a QEMU virtual machine was only possible without -kernel-kqemu. But I can boot Nexenta alpha6 from the hdimg inside the QEMU virtual machine with the parameter -kernel-qemu. Maybe this is only luck because I did only small tests in Nexenta (open a terminal, check the network, open some of the preinstalled apps). Anyway, the kqemu accelerator works very well for Windows and Linux running in QEMU - without it the Virtual machines are to slow for dayly work but with the accelerator they are fast enough to use them Environment: Machine: Acer Ferrari Host: SunOS ferrari 5.11 snv_49 i86pc i386 i86pc QEMU:SUNWqemu-0.8.2_REV_2006.10.18-sol10-i386-opt.pkg regards Bernd -- This message posted from opensolaris.org