Tuesday, June 24, 2008

Good day as development goes...

Woke up this morning to find an email from the Kaffeine developers where my patch appears to have been well received. If I'm lucky, there will be a 0.8.6b release that contains the ATSC support even though the codebase is actively developing for KDE4. It would be really nice to get the fixes in for the next major release of Ubuntu.

Also received an email from the person I have been working on with the PointNix dental camera. His testing confirmed that it was indeed an saa7113 and the patch I sent him "just worked". I prepared a final patch tonight (removing all the debugging code, etc), which assuming he doesn't see any problems with I will submit to Mauro for inclusion in the v4l-dvb codebase.

Today at work, I learned way more that I would have liked about the Intel Itanium instruction set. I had a stack overflow which required me to decode the stack pointer registers.

Now in most processors (including x86), they call the register something kind of obvious like "ESP" or just "SP". But in Itanium, the stack pointer is in General Register 12 (GR12). Yeah, and to throw me off they have a very convenient looking register called the "Current Frame Marker" (CFM) which has a "size of frame" component. Except the CFM only applies to the register stack and not the memory stack. There went half my day...

To their credit, the Intel Itanium Processor Software Developer's Manual spans three volumes at around 900 pages each. So you can't say the processor is poorly documented.

http://www.intel.com/design/itanium/manuals/iiasdmanual.htm