public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Anthony Liguori <aliguori-NZpS4cJIG2HvQtjrzfazuQ@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [PATCH 7/7] Allow KVM from a normal QEMU binary
Date: Sun, 05 Nov 2006 11:27:16 +0200	[thread overview]
Message-ID: <454DAE74.4030306@qumranet.com> (raw)
In-Reply-To: <454AE323.8090309-NZpS4cJIG2HvQtjrzfazuQ@public.gmane.org>

Anthony Liguori wrote:
> This patch depends on patch 6 and modifies the KVM changes to be an 
> "accelerator" for QEMU in much the same way kqemu is.
>
> The basic idea was to introduce a use_kvm flag in CPUState and, where 
> appropriate, check for use_kvm before doing KVM specific things.  
> There are a number of places where a valid CPUState is not available 
> or simply not created yet.  In these cases, we use the global 
> kvm_allowed variable.

Applied, with the following changes:

- actually define kvm_allowed (gcc 3.4 insists)
- a couple of places had kqemu_allowed instead of kvm_allowed
- renamed the command line option to -no-kvm (similar to -no-kqemu)


Most of the places where USE_KVM is used are now never called - they are 
relics from the days when we had mixed qemu/kvm execution.

Now, the "big real" fiasco means that we need some sort of emulation, 
but I'm not sure the qemu cpu loop is the best choice.  Qemu is very 
complex because it is geared to multi-host, multi-target, 
high-performance emulation.  The cpu state is baroque, and SMP isn't 
going to be fun.

I think we're better off with taking the x86 emulator from the kernel 
and extending it to support the non-memory instructions.  It can run in 
the kernel or userspace since there's no performance requirement.

>
> This isn't a very pretty approach but it seems to work.  Figuring out 
> how to make this all work with SMP is going to largely depend on how 
> SMP gets implemented in KVM.
>

If we proceed as outlined above all we need is to slap a lock on all 
accesses to the device model.  Later we can fine-grain it so that each 
device has its own lock and accesses to multiple devices can occur in 
parallel.


-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

  parent reply	other threads:[~2006-11-05  9:27 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-03  6:21 [PATCH 0/7] Split up QEMU patches Anthony Liguori
     [not found] ` <454AE007.5070905-NZpS4cJIG2HvQtjrzfazuQ@public.gmane.org>
2006-11-03  6:25   ` [PATCH 1/7] Compile fix for usb-linux.c Anthony Liguori
2006-11-03  6:26   ` [PATCH 2/7] APIC save/restore fix Anthony Liguori
2006-11-03  6:27   ` [PATCH 3/7] Timer " Anthony Liguori
2006-11-03  6:29   ` [PATCH 4/7] gdbstub for x86-64 Anthony Liguori
2006-11-03  6:30   ` [PATCH 5/7] VMDK Snapshot Support Anthony Liguori
2006-11-03  6:31   ` [PATCH 6/7] KVM changes for QEMU Anthony Liguori
2006-11-03  6:35   ` [PATCH 7/7] Allow KVM from a normal QEMU binary Anthony Liguori
     [not found]     ` <454AE323.8090309-NZpS4cJIG2HvQtjrzfazuQ@public.gmane.org>
2006-11-05  9:27       ` Avi Kivity [this message]
     [not found]         ` <454DAE74.4030306-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2006-11-05 17:28           ` Anthony Liguori
     [not found]             ` <454E1F40.2070200-NZpS4cJIG2HvQtjrzfazuQ@public.gmane.org>
2006-11-05 17:48               ` Avi Kivity
     [not found]                 ` <454E23EE.7040505-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2006-11-05 18:18                   ` Anthony Liguori
     [not found]                     ` <454E2ADC.1060607-NZpS4cJIG2HvQtjrzfazuQ@public.gmane.org>
2006-11-05 18:29                       ` Avi Kivity
     [not found]                         ` <454E2DA4.8070405-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2006-11-05 19:53                           ` Anthony Liguori

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=454DAE74.4030306@qumranet.com \
    --to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
    --cc=aliguori-NZpS4cJIG2HvQtjrzfazuQ@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.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