Software


I like to write software. Here is a sample of projects I've worked on:

  1. I've worked with Intel on the bringup of unmodified operating systems (Linux, Windows) on Xen. Specifically, I wrote vmxassist and ported the Bochs firmware to be used by Xen's HVM partitions. Later on I worked together with AMD and Intel and wrote the HVM layer for Xen that transparently supports AMDs Virtualization Technology and Intel's VT-x extension in the same hypervisor binary. I'm currently working on transparently switching between an instruction emulator and an HVM partition (to get rid of vmxassist and improve emulated I/O performance) but that project is currently on hold from my side because I'm changing jobs. Anthony Liguori from IBM continues to work on this.

  2. I was responsible for the x86 portion of the IBM Research hypervisor: rHype.

  3. I wrote the Linux device drivers for the TPM (TCG's Trusted Platform Module). Kylene Hall from IBM is maintaining these drivers and has greatly improved them in the process.

  4. I wrote a wireless security auditor to be used on PDA's: WSA. I also did a Windows XP version.

  5. Paramecium is the name of an extensible operating system I wrote as part of my Ph.D. The name was a pun on Amoeba, Paramecium's are slightly more evolved than an Amoeba, they know about sex.

  6. I did the x86 port of Amoeba, a distributed operating system. I also ported X11 to Amoeba and wrote many smaller utilities. Someone is still maintaining it here.

  7. Security tools such as rpctoolkit and nfsshell for which there is even a freshmeat page :-).