Thursday, March 21, 2013

Use git commits to understand code design

http://gitster.livejournal.com/30195.html has an excellent point about using --grep and other options such as --author --since to grep through commits to find information. One really good thing about Linux developers is the quality of the commits - very high.

I was reading up about omapdrm and wanted to find more information on GEM - Graphics Execution Manager. Now, most of the code for omapdrm has come from Rob and so, the easiest thing to understand about GEM is to run 'git log --grep=GEM --author=Rob' and boom! you get a design document (almost!). Add -p to the git log command and you get the code changes done as well.

On similar lines, reading code differences is a must. The patch format isn't really good for my brain, and I prefer seeing code differences side by side. The tool - Emacs of course, esp. ediff. Just visit any file and do a M-x ediff-revision. When choosing the revisions, you can pick anything that git rev-parse understands. This tip is brought to you by http://blog.endpoint.com/2009/03/emacs-tip-of-day-ediff-revision.html. A real life saver because my older flow used running vc-log and then visting a revision and finally running ediff-buffers. ediff-revision is much better.

Tuesday, March 05, 2013

make uImage in 3.9-rc1

With all the multiplatform support, make uImage no longer works in 3.9-rc1. There are two options - either pass LOADADDR to make uImage or run mkimage manually.

The other option is to compile uboot with zImage support and just use the zImage that's created.

For a pandaboard pass 0x80008000 as the LOADADDR