On Mar 29, 2008, Bob Arendt <rda@xxxxxxxxxx> wrote: > This is firmware that gets loaded in routine tg3_load_tso_firmware(). > It's firmware for a chip that you don't have a compiler for (if a compiler > exists - there may be a different development model, say VHDL for a FPGA). > The other hex cases in tg3.c also appear to be firmware mods. I'm glad this > is supplied in hex - I'd hate to need working cross-compilers for every > chip that has a firmware blob in order to build a kernel. This is completely missing the point. There are several firmware files in the kernel that *do* accompany the corresponding sources. This argument of inconvenience of needing cross-compilers is a distraction. This is not a matter of where the software runs, whether you have a compiler for it, or whether it's executable code. This is not a technical matter. This is a matter of respect for the 4 freedoms. This is a moral, ethical and social issue. The fact that those bits are executable code for some particular machine is relevant only because once it's code then you most likely need source code to be able to study it and adapt it such that it does what you wish (freedom #1, from the Free Sotware Definition). But even if they're just "plain data", "register initialization", or other forms of conveying instructions to a hardware component, if it's not possible to understand what it means by looking at the numbers, at surrounding code, because it's missing critical pieces of information that are not widely available, then whoever put the bits in there either (i) decided to deny you the information they had in order to come up with the numbers, or (ii) someone else did this to them and they're just passing on the restrictions. Either way, someone is imposing restrictions on your understanding of the code, and this gets in the way of your enjoyment of freedom #1. Even though you can modify the numbers as you wish, you still don't have freedom #1, because you still can't adapt that part of the software to suit your needs. Changing it for the sake of changing, just because you have permission to, is not enough. It takes the ability of understanding it to be able to change it such that it does what you want. With undocumented sourceless sequences of numbers created by someone who refuses to let you make sense out of them or to let you improve on them, be they plain data or code, you're out of freedom, so it's not Free Software. -- Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/ FSF Latin America Board Member http://www.fsfla.org/ Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org} Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org} -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list