On Thu, May 17, 2012 at 02:01:51PM -0400, Jon Masters wrote:
On 05/16/2012 05:59 PM, Richard W.M. Jones wrote:
> No virtio at all? I've not used it, but there's a virtio-mmio module
> upstream since 2011-10. If it compiles, please add it to the config,
> even if it doesn't function -- I'll test it.
We'll turn it on, and we'll test it. Let me take a moment to preach on
something - not directed at anyone in particular :)
In the ARM world, we're going to increasingly see emulation for upcoming
platforms. Versatile Express is real hardware that is emulated by the
qemu-system-arm process. There is a fork for A15 (40-bit PA use)
hardware and there will be v8 models at some point for 64-bit. All of
these emulate real, physical hardware.
In the x86 world, there are two uses for qemu in particular. There is
the original use of qemu as a system or process emulator, and there is
the use of qemu as a backing container for the driver and IO virt. side
of hardware and para-virtualization. In that case, it's not real
emulation, it's just that qemu has never really been split out (yes,
stuff was happening there in the kernel community) such that something
not called "qemu" was seen as the virtualization IO container.
All this means that when we say "qemu", the first thing most people in
the Fedora - or even broader - community think of is virtualization, not
system emulation. Conversely, when I say qemu in the ARM space I mean
specifically emulation of a specific hardware platform. Thus, when I am
talking about qemu I am thinking of "that which models a physical piece
of hardware called Versatile Express", which does not do virtio, does
not do PCI, and does not have many other pieces of hardware that we're
getting requests to add into that model. I'm ok with considering adding
them, but it won't be vexpress after we're done. It'll be "some
qemu-like thing with virtio". It seems that that is what we want, and
virtio will buy us lots of benefits, BUT let's be clear when we discuss
these things in the ARM space that qemu does not intrinstically mean
"vritualization". Otherwise we're going to get very confused/ing.
Thanks - not a criticism, but something I feel needed clarifying.
I agree completely with the thrust of your point: ARM folk use qemu to
accurately emulate systems that they don't have hardware for.
I'm aiming to get our virtualization stack working on ARM, so I'm
definitely trying to get virtualization to work, just like it does on
x86.
Actually I don't much care if it's added to the vexpress model, or if
we have a special model for virtualization (let's have one without
arbitrary memory limits ...). I have always felt that virtualizing
specific hardware features is a poor decision, mainly done as a
reaction against Xen and because of Windows and other closed-source
things.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming blog:
http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora