qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] ChrEMU - Virtualization in the Browser


From: Alex Bennée
Subject: Re: [Qemu-devel] ChrEMU - Virtualization in the Browser
Date: Mon, 23 Sep 2013 17:24:46 +0100
User-agent: mu4e 0.9.9.5; emacs 24.3.6

address@hidden writes:

> On Tue, Sep 10, 2013 at 08:08:22PM -0400, Joey Carlini wrote:
>> I managed to get QEMU running on a Crouton install, virtual box not being
>> possible with the Chrome OS kermel with the KVM mods required, and even a
>> couple distros running. Since I enjoy pain and/or haven't done enough cool
>> things to be called a badass dev, I figured, why not try building QEMU into
>> a Chrome app, now that packaged apps are a thing, and native client allows
>> for C code to run within the browser, letting an entire VM run on a stock
>> Chromebook.
>
> QEMU isn't pure C code and effort would be required to make it run under
> Native Client.

I'm also not sure what it would gain you over the crouton based set-up
(I assume your using VNC for your framebuffer)?

> I've never used Native Client but I think its machine code verifier
> checks the application to ensure that control flow is safe.  In other
> words, low-level things that QEMU does like code generation or stack
> switching are probably not allowed under Native Client since they are
> unsafe!

There is an interesting porting guide worth reading:

https://developers.google.com/native-client/community/porting/MAME

Essentially they had to disable their JIT to get it to compile at all.
Given that a JIT is essence generates new executable opcodes that have
not been vetted by the NaCL tools this would be a big no no.

> Maybe I'm wrong and it's possible, but the first thing to check is the
> constraints that Native Client puts on the application code.

I'm more of an optimist (although I don't know the code as well as
Stefan yet ;-). It is probably possible by disabling TCG and sticking to
the interpreter. However it would be fairly hacky to do and definitely
slower than the crouton based solutions.

It really depends what your use case is? Aside from an exercise in
porting I don't know what else is to gain from going to NaCL. That's no
reason not to try of course!

-- 
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]