qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jamie Lokier <jamie@shareable.org>
To: Avi Kivity <avi@redhat.com>
Cc: Lennart Sorensen <lsorense@csclub.uwaterloo.ca>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Anton D Kachalov <mouse@mayc.ru>
Subject: Re: [Qemu-devel] POLL: Why do you use kqemu?
Date: Mon, 8 Jun 2009 13:16:26 +0100	[thread overview]
Message-ID: <20090608121626.GF25684@shareable.org> (raw)
In-Reply-To: <4A2CFE07.90700@redhat.com>

Avi Kivity wrote:
> Jamie Lokier wrote:
> >So the "Guest Support Status" prominently on the front page of
> >linux-kvm.org is wrong for current versions?  It specifically mentions
> >AMD hosts.
> >
> >(I notice AMD KVM != Intel KVM hasn't factored into this discussion yet...)
> >
> >Guest           KVM tested             Host CPU/bits    Result
> >----------------------------------------------------------------
> >Windows 98SE 	kvm-63                 Intel 32         Fails
> >Windows 98SE 	kvm-80, 2.6.27.7       AMD 64           no way
> >Windows 95 	kvm-44, 2.6.23-rc8     AMD 64, 32 	no way
> >  
> 
> Well, maybe there's some other bug in there.  But kvm-amd 16 bit support 
> is as good as the native cpu's.  kvm-intel with the new 'unrestricted 
> guest' should be the same.

I'm happy to test older guests on latest KVMs, and QEMU upstream with
KVM support if that works.

But the AMD and VIA hardware I have does not support KVM; all my
KVM-capable machines are Intels.

I could test using the nested-SVM support, I suppose, but I'm not that
masochistic yet. :-)  (I wonder if nested-SVM supports 16 bit nested guests).

Can you say a bit more about what 'unrestricted guest' means?  Does it
mean that some protection is disabled (like in vm86 mode on x86_32)?

> >>>It has come up before that kvm will eventually support 16-bit code
> >>>better, although I got the impression that it would never support full
> >>>16-bit virtualisation accurately, so e.g. Windows 95 will not run on
> >>>it, nor some other partially 16-bit OSes.  Possibly not even very old
> >>>versions of Linux, I'm not sure.
> >>>
> >>>Don't ask me _why_ I want to run them. :-)
> >>>
> >>>Just a data point that it's not just about the host hardware, and as
> >>>far as I know kqemu can accelerate them.
> >>> 
> >>>      
> >>It falls back to qemu for 16-bit code.
> >>    
> >
> >I was under the impression it was planned to remove TCG support when
> >using KVM.  If not, fine, it's ok for 16-bit code to run in TCG and
> >probably better than vm86 or the in-kernel interpreter.
> 
> vm86 doesn't work on x86_64.

I don't have any personal x86_64 machines, and nearly all my KVM usage
is done on x86_32 so it didn't cross my mind.

> kvm will run most 16-bit code natively, 
> just have to complete task switch support and fix any bugs.

Ah, the old "fix any bugs" caveat, combined with "most" :-)

I looked at KVM's 16-bit interpreter a few months ago, and it wasn't
clear (to me) if it covered the complete 16-bit opcode space.

Is there a reason to duplicate QEMU's task switch emulation, instead
of trapping out to QEMU?  Modern OSes don't use x86 task switching
(because it's slow on real CPUs) except for ring stack switches, so
it's hardly a performance requirement.  Accurate task switch support
is fiddly to get right.  Think of all the exceptions including
paging/segment exceptions in the middle of reading the TSS block.

-- Jamie

  reply	other threads:[~2009-06-08 12:16 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-03 21:57 [Qemu-devel] POLL: Why do you use kqemu? Anthony Liguori
2009-06-04 16:55 ` Anton D Kachalov
2009-06-05  0:44   ` Johannes Schindelin
2009-06-05  7:45     ` Gerd Hoffmann
2009-06-05  8:40       ` Tomasz Chmielewski
2009-06-05  9:08         ` Anton D Kachalov
2009-06-05  9:15         ` Gerd Hoffmann
2009-06-05 20:14   ` Lennart Sorensen
2009-06-05 23:23     ` Johannes Schindelin
2009-06-08  0:13       ` Jamie Lokier
2009-06-08  5:59         ` Avi Kivity
2009-06-08 11:57           ` Jamie Lokier
2009-06-08 12:03             ` Avi Kivity
2009-06-08 12:16               ` Jamie Lokier [this message]
2009-06-08 12:28                 ` Avi Kivity
2009-06-08 12:44                   ` [Qemu-devel] " Jan Kiszka
2009-06-08 13:06                     ` Avi Kivity
2009-06-08 13:18                       ` Jan Kiszka
2009-06-08 13:24                         ` Avi Kivity
2009-06-08 13:44                           ` Jan Kiszka
2009-06-08 14:03                             ` Avi Kivity
2009-06-08 12:36               ` Jan Kiszka
2009-06-08 18:25       ` [Qemu-devel] " Lennart Sorensen
2009-06-06 13:27 ` Andreas Färber
2009-06-06 16:02   ` Avi Kivity
2009-06-06 16:29     ` Blue Swirl
2009-06-06 17:02       ` [Qemu-devel] " Jan Kiszka
2009-06-06 17:25         ` Blue Swirl
2009-06-06 17:32           ` Jan Kiszka
2009-06-06 19:15             ` Andreas Färber
2009-06-07  5:43               ` Avi Kivity
2009-06-07  5:01         ` Avi Kivity
2009-06-07  7:35           ` Jan Kiszka
2009-06-07  7:46             ` Avi Kivity
2009-06-07  8:33             ` Blue Swirl
2009-06-07  8:50               ` Jan Kiszka
2009-06-07  9:01                 ` Blue Swirl
2009-06-07  9:25                   ` Jan Kiszka
2009-06-07  9:37                     ` Avi Kivity
2009-06-07  9:47                       ` Jan Kiszka
2009-06-07  9:52                         ` Avi Kivity
2009-06-07  9:56                           ` Jan Kiszka
2009-06-07 10:06                             ` Avi Kivity
2009-06-07 11:13                     ` Blue Swirl
2009-06-07 11:23                       ` Gleb Natapov
2009-06-07 11:26                         ` Blue Swirl
2009-06-07 11:29                           ` Gleb Natapov
2009-06-07 11:39                           ` Avi Kivity
2009-06-07 12:40                             ` Blue Swirl
2009-06-07 12:43                               ` Avi Kivity
2009-06-07 12:52                                 ` Gleb Natapov
2009-06-07 12:56                                   ` Avi Kivity
2009-06-07 13:18                                 ` Blue Swirl
2009-06-07 13:35                                   ` Jan Kiszka
2009-06-07 13:35                                   ` Avi Kivity
2009-06-07 18:37                                     ` Anthony Liguori
2009-06-07 18:40                                       ` Blue Swirl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090608121626.GF25684@shareable.org \
    --to=jamie@shareable.org \
    --cc=avi@redhat.com \
    --cc=lsorense@csclub.uwaterloo.ca \
    --cc=mouse@mayc.ru \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).