virtualizationvmware

binary translation


The VMM traps privileged instructions and they are translated using binary translation, but actually into what are these special instructions translated into?

Thanks


Solution

  • See VMware_paravirtualization.pdf, pages 3 and 4.

    This approach, depicted in Figure 5, translates kernel code to replace nonvirtualizable instructions with new sequences of instructions that have the intended effect on the virtual hardware.

    So the privileged instructions are translated into other instructions, which access the virtual BIOS, memory management, and devices provided by the Virtual Machine Monitor, instead of executing directly on the real hardware.

    Exactly what these instructions are, is defined by the VM implementation. Vendors of proprietary virtualization software don't necessarily publish their binary translation techniques.