After I upgraded to VMWare ESXi 5.1.0, my server crashed with a purple screen of death as soon as I fired up a VM that was using a passed-through PCI device (1244:0e00, an AVM GmbH Fritz!Card PCI v2.0 ISDN (rev 01)).I have been running the original version of ESXi 5.0.0 for a year and everything worked fine. In fact, I have never ever seen such a purple screen of death.
VMware ESXi 5.1.0 [Releasebuild-799733 x86_64] #PF Exception 14 in world 4077:vmx IP 0x418039cf095c addr 0xl4 cr0=0x80010031 cr2=0x14 cr3=0x15c0d6000 cr4=0x42768 Frame=0x41221fb5bc00 ip=0x418039cf095c err=0 rflags=0x10202 rax=0x0 rbx=0x10 rcx=0x417ff9f084d0 rdx=0x41000168e5b0 rbp=0x41221fb5bcd8 rsi=0x41000168ee90 rdi=0x417ff9f084d0 r8=0x0 r9=0x1 r10=0x3ffd81972a9 r11=0x0 r12=0x41221fb5bd58 r13=0x41000168e350 r14=0xB r15=0x0 *PCPU3:4077/vmx PCPU B: UUVU Code start: 0x418039a00000 VMK uptime: 0:00:06:21.499 0x41221fb5bcd8:[0x418039cf095c]PCI_GetExtCapIdx@vmkernel#nover+0x2b stack: 0x41221fb5bd38 0x41221fb5bd48:[0x418039abadd2]VMKPCIPassthru_GetPCIInfo@vmkernel#nover+0x335 stack: 0x29000030e001 0x41221fb5beb8:[0x418B39ea2c51]UW64VMKSyscallUnpackPCIPassthruGetPCIInfo@<None>#<None>+0x28 stack: 0x41221fb5bef8:[0x4l8039e79791]User_LinuxSyscallHandler@<None>#<None>+0x17c stack: 0x418039a4cc70 0x41221fb5bf18:[0x4l8039aa82be]User_LinuxSyscallHandler@vmkernel#nover+0x19 stack: 0x3ffd8197490 0x41221fb5bf28:[0x418039b10064]gate_entry@vmkernel#nover+0x63 stack: 0x10b base fs=0x0 gs=0x418040c00000 Kgs=0x0 Coredump to disk. Slot 1 of 1. Finalized dump header (9/9) DiskDunp: Successful. Debugger waiting(world 4077) -- no port for remote debugger. "Escape" For local debugger.
Turns out that is a bug in ESXi. Luckily, downgrading an ESXi is simple enough: just hit Shift-R at the boot prompt and tell it to revert to the previous version.
Update: Patch ESXi510-201212401-BG in version ESXi510-201212001 (build 914609), released on December 20th, fixes the PCI passthrough issue (PR924167) according to KB2039030.