From: Theodore Tso <tytso@mit.edu>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Zachary Amsden <zach@vmware.com>, Greg KH <greg@kroah.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linus Torvalds <torvalds@osdl.org>, Andrew Morton <akpm@osdl.org>,
Christoph Hellwig <hch@infradead.org>,
Rusty Russell <rusty@rustcorp.com.au>, Jack Lo <jlo@vmware.com>
Subject: Re: A proposal - binary
Date: Fri, 4 Aug 2006 10:34:29 -0400 [thread overview]
Message-ID: <20060804143420.GB16313@thunk.org> (raw)
In-Reply-To: <1154686885.23655.198.camel@localhost.localdomain>
On Fri, Aug 04, 2006 at 11:21:25AM +0100, Alan Cox wrote:
> Every other hypervisor system supported by Linux has a source code
> interface on the Linux side that works reliably and compatibly through
> versions and releases. The terrible things you claim will happen have
> not. IBM have been doing virtualisation for something like forty years.
> IBM is not using magic binary blobs. this also leads me to the
> conclusion that you are wrong.
Well, let's be a little fair here. Part of the problem, which is not
VMWare's fault, is that Intel a long time ago screwed up the x86 ISA
to make it non-virtualizable without all sorts of nasty hacks. (Some
say that this was done deliberately so Intel could sell more chips,
but I haven't personally seen any proof of this; it's not the point
either way, however.)
IBM's virtualization *does* have magic blobs; it's called the
hypervisor. The difference is that the PowerPC have a delibierately
castrated architecture such that when you are running a guest
operating system in an LPAR, so that when you do things like mess with
page tables (for example), it traps to the hypervisor which is really
"a magic binary blob" running on the bare Power architecture. The
difference is that the way you trap into the hypervisor is via a
PowerPC instructure that looks like a native instruction call.
The bottom line is that the line between magic binary blobs and
whether or not they are legal or not is more of a grey line than we
might want to admit.
For example, what if Transmeta was still around, and released a
digitally signed "magic binary blob" which provided VT/Pacific
capabilities to a Transmeta processor? (And if --- hypothetically ---
a version of Linux that required VT/Pacfica under the was released
under the GPLv3, would the RSA private key used to sign Transmeta's
"magic binary blob" be considered "corresponding source" and the GPLv3
used as a way to beat Transmeta to produce the private keys used to
sign their firmware update; it's after all a "necessary authentication
and encryption key" needed to install this hypothetical version of
Linux. :-)
As another example, the Alpha architecture has specified magic binary
blobs --- called PALcode --- where different binary PALcodes can be
needed for different OS's, and implement various privileged
instructures which are specifically intended for OS-level
functionality.
The real problem, though, is demonstrated by yet another "magic binary
blob" which we in fact already deal with, and that's ACPI. The
problem with "magic binary blobs" is that it's incredibly easy to do
an disastrously bad job with defining the interfaces, providing,
requiring, and performing conformance tests for the binary blobs, and
the on-going, continuing nightmare caused by different ACPI binary
blob providers doing stupid things that are only tested on Windows.
So I don't think the argument is necessarily that magic binary blobs
are illegal from the GPL perspective, but rather that magic binary
blobs are very hard to get right. (For example, I still remember
really bad experiences with different firmware versions for Cisco's
aironet wireless hardware being needed depending on which OS and which
version of the driver you had on your OS. Troubleshooting *that* was
a nightmare.) And that I think is the biggest problem with the VMI
proposal; which is a lack of trust that the various VM providers will
actually do something sane, both from an interface design and provided
implementation perspective. This is why I think everyone keeps
harping on the question of debuggability.
No one has really complained about the dubbugability, or lack thereof,
of the Power hypervisor, but OTOH IBM does spend vast amounts of $$$
making sure that it is stable and the interfaces are well-documented
and locked down.
- Ted
next prev parent reply other threads:[~2006-08-04 14:34 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-03 10:14 A proposal - binary Zachary Amsden
2006-08-03 11:16 ` Arjan van de Ven
2006-08-03 12:16 ` Antonio Vargas
2006-08-03 15:17 ` Rik van Riel
2006-08-03 16:05 ` Chris Wright
2006-08-03 17:57 ` Zachary Amsden
2006-08-03 18:29 ` Antonio Vargas
2006-08-03 18:47 ` Zachary Amsden
2006-08-03 18:08 ` Zachary Amsden
2006-08-03 19:03 ` Greg KH
2006-08-03 19:14 ` Zachary Amsden
2006-08-03 19:36 ` Greg KH
2006-08-03 19:56 ` Dave Jones
2006-08-03 19:59 ` Greg KH
2006-08-03 20:25 ` Options depending on STANDALONE Adrian Bunk
2006-08-03 20:28 ` Greg KH
2006-08-03 20:41 ` Dave Jones
2006-08-03 23:40 ` [v4l-dvb-maintainer] " Trent Piepho
2006-08-05 10:51 ` Adrian Bunk
2006-08-06 11:18 ` Oliver Endriss
2006-08-13 16:36 ` Adrian Bunk
2006-08-14 21:15 ` Trent Piepho
2006-08-27 21:45 ` Adrian Bunk
2006-08-03 19:48 ` A proposal - binary linux-os (Dick Johnson)
2006-08-04 6:13 ` Jan Engelhardt
2006-08-03 21:03 ` Alan Cox
2006-08-03 13:21 ` Alan Cox
2006-08-03 20:29 ` Willy Tarreau
2006-08-03 21:12 ` Alan Cox
2006-08-03 21:27 ` Zachary Amsden
2006-08-03 15:35 ` Rik van Riel
2006-08-03 18:36 ` Zachary Amsden
2006-08-05 10:45 ` Pavel Machek
2006-08-06 22:45 ` Zachary Amsden
2006-08-06 22:59 ` Greg KH
2006-08-08 0:12 ` Pavel Machek
2006-08-08 0:42 ` Zachary Amsden
2006-08-09 7:43 ` Pavel Machek
2006-08-03 19:06 ` Greg KH
2006-08-03 19:26 ` Zachary Amsden
2006-08-03 20:01 ` Greg KH
2006-08-03 21:41 ` Zachary Amsden
2006-08-03 22:33 ` Alan Cox
2006-08-03 22:30 ` Greg KH
2006-08-03 22:49 ` Zachary Amsden
2006-08-03 22:31 ` Zachary Amsden
2006-08-03 23:30 ` Alan Cox
2006-08-03 23:40 ` Zachary Amsden
2006-08-04 10:21 ` Alan Cox
2006-08-04 14:34 ` Theodore Tso [this message]
2006-08-05 0:06 ` Paul Mackerras
2006-08-04 8:56 ` Christoph Hellwig
2006-08-04 2:52 ` Jeremy Fitzhardinge
2006-08-04 4:18 ` Andrew Morton
2006-08-04 5:04 ` Rusty Russell
2006-08-04 5:53 ` Andrew Morton
2006-08-04 7:04 ` Rusty Russell
2006-08-04 7:21 ` Andrew Morton
2006-08-04 8:29 ` Rusty Russell
2006-08-04 16:57 ` David Lang
2006-08-04 18:38 ` Jeremy Fitzhardinge
2006-08-04 18:46 ` Antonio Vargas
2006-08-04 19:06 ` David Lang
2006-08-04 19:26 ` Arjan van de Ven
2006-08-04 19:45 ` David Lang
2006-08-04 20:11 ` Jeremy Fitzhardinge
2006-08-04 20:31 ` David Lang
2006-08-04 21:26 ` Jeremy Fitzhardinge
2006-08-04 21:40 ` Bill Rugolsky Jr.
2006-08-04 22:00 ` Arjan van de Ven
2006-08-04 22:45 ` David Lang
2006-08-04 19:45 ` Jeff Dike
2006-08-04 19:49 ` David Lang
2006-08-04 21:46 ` Jeff Dike
2006-08-04 22:40 ` David Lang
2006-08-04 5:40 ` Chris Wright
2006-08-04 6:28 ` Antonio Vargas
2006-08-04 7:01 ` Chris Wright
2006-08-04 7:19 ` Antonio Vargas
2006-08-04 7:37 ` Chris Wright
2006-08-04 18:34 ` Chris Wright
2006-08-04 20:41 ` Zachary Amsden
2006-08-04 20:52 ` Chris Wright
2006-08-04 21:26 ` Alan Cox
2006-08-05 1:14 ` James Bottomley
2006-08-05 5:37 ` Zachary Amsden
2006-08-05 10:42 ` Adrian Bunk
2006-08-05 11:50 ` Alan Cox
2006-08-04 22:01 ` Andi Kleen
2006-08-04 22:39 ` Zachary Amsden
2006-08-04 22:52 ` Andi Kleen
2006-08-04 22:43 ` David Lang
2006-08-05 10:47 ` Adrian Bunk
2006-08-05 11:57 ` Andi Kleen
2006-08-05 1:30 ` James Bottomley
2006-08-05 4:33 ` Zachary Amsden
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=20060804143420.GB16313@thunk.org \
--to=tytso@mit.edu \
--cc=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=greg@kroah.com \
--cc=hch@infradead.org \
--cc=jlo@vmware.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
--cc=torvalds@osdl.org \
--cc=zach@vmware.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