Projects

I love to have (side) projects that I work on in my spare and professional time.

MVMM

I've done many interesting pet projects at AMD but one of them was called MVMM (or MiniVMM). It is a thin hypervisor that can run one guest and it is either loaded as a UEFI driver, after which it stays resident, or as a multiboot module after which is emulates a legacy BIOS int 19h from a disk. The main reason for this hypervisor is to emulate devices that are still being developed but still provide near native performance for the rest of the OS that runs on it (the measured overhead was 1.5 - 2%). The most interesting aspect of this hypervisor was how to intercept APIC INIT commands that are used during SMP bootstrap. This hypervisor runs unmodified version of Windows, Linux, MS-DOS and other operating systems. In a way this is your bluepill from hell and interestingly none of the virus scanners I tried detected it.

Unfortunately, this is AMD internal and proprietary code.

Xen

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.

TCG

I wrote the Linux dev ice 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.

WSA

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

rHype

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

Amoeba

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.

NFS Shell

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