qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Juan Quintela <quintela@redhat.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	QEMU Developer <qemu-devel@nongnu.org>,
	KVM devel mailing list <kvm@vger.kernel.org>
Subject: Re: [Qemu-devel] KVM call for 2017-03-14
Date: Tue, 14 Mar 2017 09:53:17 +0100	[thread overview]
Message-ID: <871su0utmq.fsf@secure.mitica> (raw)
In-Reply-To: <20170314081312.GB13140@stefanha-x1.localdomain> (Stefan Hajnoczi's message of "Tue, 14 Mar 2017 16:13:12 +0800")

Stefan Hajnoczi <stefanha@gmail.com> wrote:

>>   - on the "VM support" side, QEMU is more used because it's the only
>>     production-quality option in this space, rather than because its
>>     users love it. (cf the Google choice to replace it.) It's also got
>>     a pretty poor security record. It wouldn't be too surprising if
>>     some time in the next five years somebody writes a replacement in
>>     a safer language (perhaps also targeting only the VM support role)
>>     and it got enough mindshare and takeup to eclipse QEMU.
>>     [Is it too early/daft to think about prototyping being able to
>>      write QEMU device emulation in Rust ?]
>
> We can move to a safer language starting with the device emulation
> layer.  Keep the rest in C for now.  Use a language that has good C
> interoperability or a convenient foreign function interface.
>
> Start writing new device models in the new language.  Convert existing
> devices if they are good candidates, like the e1000 NIC emulation.
>
> The minimum requirements for the new language:
> 1. Does it support the host operating systems that QEMU runs on?
> 2. Does it support the host architectures that QEMU runs on?
> 3. Is it safer than C even when writing code to operate on guest RAM
>    (i.e. it's no good if you must use unsafe primitives to do the
>    systems programming tasks that QEMU requires)?
> 4. Is C interoperability convenient and high performance?

That is one approach.  Other is to move to a "safer" language the parts
that are not performance sensitive.  Our command line parsing and device
object done is C just make things much, much worse for no gain.  A
language better for dealing with strings and things like that?

Later, Juan.

PD.  And before anyone asked, a language that is not able to get right:
   a = "hello"
   b = "world"
   c = a + " " + b

   (put any syntax you like) without having to wonder about memory
   allocation, sizes, etc is not really valid to work with strings IMHO.
   

  parent reply	other threads:[~2017-03-14  8:53 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-12 20:45 [Qemu-devel] KVM call for 2017-03-14 Juan Quintela
2017-03-13 10:02 ` Peter Maydell
2017-03-13 12:50   ` Alex Bennée
2017-03-13 14:12   ` Juan Quintela
2017-03-13 14:17     ` Peter Maydell
2017-03-14  8:03     ` Stefan Hajnoczi
2017-03-14  8:13   ` Stefan Hajnoczi
2017-03-14  8:37     ` Peter Maydell
2017-03-14  8:59       ` Juan Quintela
2017-03-14 10:56         ` Peter Maydell
2017-03-15  8:39           ` Christian Borntraeger
2017-03-15 10:29           ` Greg Kurz
2017-03-15 11:25             ` Laurent Vivier
2017-03-15 16:35               ` Greg Kurz
2017-03-14 16:01         ` Dr. David Alan Gilbert
2017-03-14 16:20           ` Daniel P. Berrange
2017-03-14 16:54             ` [Qemu-devel] Obsolete QEMU host environments (was: Re: KVM call for 2017-03-14) Thomas Huth
2017-03-14 17:07               ` Peter Maydell
2017-03-14 21:09                 ` [Qemu-devel] Obsolete QEMU host environments Richard Henderson
2017-03-15  9:40                   ` Daniel P. Berrange
2017-03-15 10:02                     ` Thomas Huth
2017-03-15 15:46                   ` Aurelien Jarno
2017-03-14 17:14             ` [Qemu-devel] KVM call for 2017-03-14 Paolo Bonzini
2017-03-14 17:18           ` Peter Maydell
2017-03-14 17:29             ` Dr. David Alan Gilbert
2017-03-15  8:30               ` Gerd Hoffmann
2017-03-14  9:33       ` Markus Armbruster
2017-03-14  8:53     ` Juan Quintela [this message]
2017-03-14 10:39     ` Peter Maydell
2017-03-14 10:44       ` Paolo Bonzini
2017-03-14  9:24   ` Thomas Huth
2017-03-14 10:13     ` Kevin Wolf
2017-03-14 12:20       ` Markus Armbruster
2017-03-14 12:35         ` Kevin Wolf
2017-03-14 10:32     ` Peter Maydell

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=871su0utmq.fsf@secure.mitica \
    --to=quintela@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    /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).