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

Re: New section for firmware.



[Kurt Roeckx]
> The idea is to create a new section that contains files like firmware
> images and FPGA data that gets written to the hardware to make it
> fully functional.  It is not meant for drivers that run on the host
> CPU.

Without weighing in on whether there _is_ a class of software for which
users shouldn't have the right to look at and modify source code, this
whole phrase "run on the host CPU" needs to die and be replaced by
something more precise.  The definition is only useful if you have a
very simplified and outdated view of computer technology.  There are
lots of pieces of silicon that are not "host CPUs" but which still run
software every bit as interesting and sophisticated as what we already
give people source code for.

(Many of you have heard me rant about this before.  Nothing much new
here, just hit 'd' now if you already know where I'm going with this.)

Take a modern supercomputer: there'll be a handful of amd64 chips that
run Linux, but what you actually paid for is the several thousand
PowerPC "Cell" cores.  Is it really reasonable to waive the source code
requirement for number-crunching libraries designed to run on the
Cells?  They certainly aren't the "host CPU".

As a variation on the modern supercomputer, take any code intended to
run on an Nvidia GPU.  People are apparently using those things for
real computations now, Seti@HOME type stuff.  

Take almost any embedded platform - PDA, phone, media player, or these
days, all-of-the-above.  Most people wouldn't think of them as having a
"host CPU" at all, merely a controller that you upload data to via USB
or Bluetooth.  But of course they run OSes, sometimes Linux, maybe
sometimes Debian.  Would we want to ship PalmOS apps in Debian as
blobs, without source code, merely because they don't execute on i386?

Take qemu or MAME.  Well, maybe not MAME, that's Ean's baby, but take
qemu.  Could we ship, without source code, full bootable OS images in
Debian that are intended to run on an exotic architecture in qemu
rather than on physical hardware?  Surely qemu does not provide a "host
CPU".

And of course there are those wireless routers where people talk about
using such-and-such "firmware", by which they really mean a blob
containing a boot loader, Linux kernel, and root filesystem.  Of course
we know there is a MIPS chip in there, but the device is not sold as a
computer or "host", but as a mere device that you plug into your
network along with your computers.

-- 
Peter Samuelson | org-tld!p12n!peter | http://p12n.org/

Attachment: signature.asc
Description: Digital signature


Reply to: