vmw_door:  /* int vmw_door(struct { int eax, ebx, ecx, edx; } *) return eax; */
        .type   vmw_door,@function
        .globl  vmw_door
        pushl   %ebx
        pushl   %esi
        movl    12(%esp),%esi
        movl    0(%esi),%eax
        movl    4(%esi),%ebx
        movl    8(%esi),%ecx
        movl    12(%esi),%edx
        inl     (%dx)
        movl    %eax,0(%esi)
        movl    %ebx,4(%esi)
        movl    %ecx,8(%esi)
        movl    %edx,12(%esi)
        popl    %esi
        popl    %ebx
        ret
        .size vmw_door,.-vmw_door