7 ms·
Good ol' gzip download, because fuck source control. edit: FWIW, a friend who works there told me flat-out to just avoid them (I'm job-hunting)
by ansimionescu 13y ago
Good ol' gzip download, because fuck source control.
edit: FWIW, a friend who works there told me flat-out to just avoid them (I'm job-hunting)
- CamperBob2 13y agoLook gift horses in the mouth much? Why "avoid" them?
- nandhp 13y agoIt sounds like ansimionescu might have been told that Broadcom isn't a good place to work.
- petermonsson 13y agoIt is open source. You can put it on Github if you want to.
- jxf 13y agoGenerally speaking, that's not what "open source" means. Reading the license agreement is always required to determine if that's actually okay to do. In this case it's okay as long as you reproduce the license in any redistributions (e.g. hosting it on GitHub).
- petermonsson 13y agoThe original article states that the code is licensed under a 3-clause BSD license. The 3-clause BSD license permits redistribution: https://en.wikipedia.org/wiki/BSD_licenses https://en.wikipedia.org/wiki/BSD_licenses
- deleted 13y ago[deleted]
- Danieru 13y agoThere appears to be a common confusion that Open Source means "source you can see". Instead Open Source is a made-up word which was created to avoid the confusion associated with Free Software, as in the Free Software Foundation. That is to say: an "open source" license which does not let you redistribute is not an Open Source license at all. Even Microsoft has not tried to mis-use the term instead using "Share Source" for their, thing.
- akiselev 13y agoThis is almost a universal problem with firmware and chip engineers, who are generally older and more experienced, and thus apparently can't be taught new tricks. There are also issues with bureaucracies in each and every semiconductor company (which are on average decades old) so firmware is usually hot potatoed around by management and ends up lighting the customers' projects on fire almost every damn time. I don't have enough fingers to count how many times I've encountered problems in a project and wasted weeks treading water, eventually to find out that the code examples weren't tested, a parameter that closely effects very sensitive silicon isn't documented, or even that I can't so much as get the documentation for a licensed USB peripheral that is non EHCI compliant (who knew such a thing even existed anymore). Everyone from Broadcom to Qualcomm (and many more) are guilty of this and it is a very rare treat to find a chip that is well documented with firmware and code examples that work and give you a full picture of what you can do and where the pitfalls are.
- CamperBob2 13y agoThey also have to live in fear of patent suits. Open-sourcing a modern chipset driver is a pretty ballsy thing to do.
- akiselev 13y agoIANAL and I don't have much experience with the legal side of silicon IP but from some cursory conversations with people in the industry, if you're making a chip as advanced as a VideoCore, you're certainly already cross licensing a lot of IP cores. If you license, for example, a EHCI compliant USB core or an MMU or cache pipeline that you get in the form of a VHDL or Verilog file (poor you), that license automatically transfers a right to the patents (as long as the legal chain of contracts were worked on by competent negotiators and lawyers) and rarely do those extend to firmware source code from my understanding. There could still be problems with the documentation of the interfaces to different cores or whatever, but that's peanuts to a company like Broadcom. I'd guess they already have very liberal agreements for important IP and the stuff you'd sue over is mostly the closed source silicon.
- DougMerritt 13y ago
- gtlk 13y agoDon't worry, they're going to have to release it again. This zip contains many files with copyright (c) Broadcom (and other companies) missing the 3-clause BSD license. On an unrelated note, x86 looks like RISC compared to this chip assembly language :) vmul -,H(1,0),3 CLRA ACC vadd HX(3,0),H(0,0),2 ACC vasr H(0++,0),HX(2++,0),2 REP 2 ;vmov H(0++,0),0 REP 2 vst H(0++,0),(r0+=r3) REP 2 add r0,16 addcmpblt r5,1,r1,loopacross
- akiselev 13y agoLooks like SSE2 or SSE3 with a different syntax and vector support.
- peterderivaz 13y agoThe vector register file is a block of registers 64 bytes across by 64 down which can be accessed horizontally (H) or vertically (V), and in units of 16 bytes (H8), 16 shorts (H16 or HX), or 16 32-bit words (H32). Each processor has an accumulator that can be cleared (CLRA) or used (ACC). This code is basically equivalent to the following C code: uint8 in[2][16]; int16 temp[2][16]; int32 r1,r3,r5; uint8 *r0; do { ... code omitted // vmul -,H(1,0),3 CLRA ACC // vadd HX(3,0),H(0,0),2 ACC for(x=0;x<16;x++) { temp[x]=inb[1][x]*3+in[0][x]+2; } //vasr H(0++,0),HX(2++,0),2 REP 2 //vst H(0++,0),(r0+=r3) REP 2 for(y=0;y<2;y++) { for(x=0;x<16;x++) { in[y][x] = temp[y][x]>>2; r0[y*r3+x] = in[y][x]; } } // add r0,16 // addcmpblt r5,1,r1,loopacross r0 += 16; r5 += 1; } while (r5<r1); This is code for the vector processor. This is not the same as the GPU cores which use a different architecture and instruction set (based around floating point calculations).
- sitkack 13y agoI made a back of the envelop design of a arch that used the same technique in college. Way cool to see it in practice. This project of yours look really cool, https://github.com/peterderivaz/pymeta3 https://github.com/peterderivaz/pymeta3 What do you think about http://www.myhdl.org/doku.php http://www.myhdl.org/doku.php ?
- ebenupton 13y ago
- jotux 13y agoWhy would a large company release the commit history of source code when it could open them up to all kinds of lawsuits? It seems perfectly reasonable for them to release it as a zip.
- chii 13y agowhy would the history of the commit open them up to law suits, but not the final product?
- jotux 13y agoA trivial example would be a commit that shows something was implemented and then later removed because of a patent/IP violation. 1-jan-2003 - bob: added new feature X 5-jan-2003 - bob: Rev 1.0 8-oct-2012 - frank: Turns our X was patented in 2001 but we didn't realize it. Replace feature X with something that doesn't violate patent ######