Saturday, October 8, 2022

A Tale of Two Books

Let's start this blog by mentioning a recent specification posting, namely the 2.4 version of the FSP that can be found at One notable aspect of this specification is that several of the capabilities were incubated as part of the Universal Scalable Firmware (USF) 

[from] effort, including 64-bit FSP and SMM in FSP The former was done by Maurice Ma, as noted by the github history, and the latter by Ravi. Another aspect of doing this work in the open was fabricating a QEMU-based FSP so that the platform code could be ported for these FSP interface changes. In the past the lack of a fully open source set of silicon code inhibited these what-if exercises (although we did have a public FSP for Quark Galileo but this was limited to a single, 32-bit CPU configuration). This continues a great collaboration with those colleagues, among many others, as cataloged by documents like

For the SMM work in FSP 2.4 there is also the foundational efforts around having the stand-alone SMM incubated in and subsequently introduced into the UEFI PI spec as the "Portable Management Mode (SMM)." This work in '15 presaged this '22 FSP 2.4 work, viz.

Maurice and David are now at Microsoft and Giri is at Apple. Luckily I had a shot of David from those days we were both at Intel (the left picture) and I was also able to commemorate the Giri and Maurice collaboration in the past in

respectively, from the snapshot. Regrettably we missed Ravi at that lunch so I'll have to lift his photo from

Speaking of former colleagues and collaborators, a couple of books I co-authored with Subrata Banik have been published, namely "Firmware Development - A Guide to Specialized Systemic Knowledge" 

and "System Firmware - An Essential Guide to Open Source and Embedded Solutions"

This effort started in the middle of the COVID crisis while Subrata and I both worked at Intel, namely with a publisher discussion in December of 2020. It followed on the heals of completing the "Building Secure Firmware - Armoring the Foundation of the Platform" which was published in October 2020 and featured Jiewen Yao as a co-author. You'll notice Jiewen 

as the lead author of the '14 whitepaper on FSP mentioned at the top of the blog, and also the author of the FSP measurement paper listed in (which also references this latter Apress security book). This complements the presentation from last December, too.

Regrettably the paths of Shanghai and Issaquah haven't crossed in a while

as you'll see with the next co-author below.

So the Jiewen book published in October 2020, and the two with Subrata in October 2022. That's 2000pp in the space of two years.  Yikes.

Although I don't have a photo with Jiewen, I did manage to dig up a photo with Subrata

These encounters are tougher as Subrata spends most of his time home overseas and also now works at Google. I was happy to run into Subrata as he transited through Santa Clara by way of Bangalore and I did the same by way of Issaquah, WA. 

Another nice aspect of co-authoring this last series of books is getting recommendations on the back cover, including the following.

I've had the honor to work with Mallik in the past while at Intel and also when he moved to Microsoft, including efforts like

I have probably known Mallik the longest of the list, commencing with our work at Intel in DuPont, WA in the early 2000's. Mallik also shows up in the Beyond BIOS 1st edition

from 2006. Other notables there includes 

collaborator Michael Krau, who sadly passed recently, and now-retired former colleague Lee Rosenbaum of Excite and Secure Boot collaboration. Glad to see Rob Branch on that list. I still fondly remember him from my Intel  October 1996 job interview team at Cornell Oaks in Oregon.

As always in this industry, I get excited by the technology but I truly cherish the interactions and the people. This blog provides some highlights on both dimensions of the journey. Still great technical collaborators that may have comprised the set COLLAB15 = {Intel, Intel, Intel, Intel, Intel, Intel, Intel, Microsoft,...} and now looks like COLLAB22= {Intel, Intel, Intel, Microsoft, Microsoft, Apple, Google, Microsoft,...}.