Hardware Virtualization Help in Modern day CPUs


To stay away from the troubles surrounding the non-trappable privileged instructions, CPU makers have added virtualization capabilities to modern CPUs. These CPUs nonetheless need to behave exactly like their older counterparts, to guarantee backward-compatibility with existing applications, so the behavior of the non-trappable privileged guidelines is identical on these newer units. Nonetheless, a new set of directions, which had been not previously obtainable, supplies for a special virtual machine mode of operation. This mode provides additional levels of I/O and memory protection, and permits the specific directions to be detected and handled externally by the CPU in conjunction with a suitably written hyper visor VMM.

The 1st revision of this instruction set provided standard assistance for virtualizing the non-trappable privileged directions, and the supporting directions required to interface the hardware assistance to VMMs written to make use of it.

CPUs with first generation hardware virtualization assistance are not capable of nesting VMMs in a way that allows the nested VMM to also take benefit of the hardware virtualization capabilities. This signifies that when employing CPUs with 1st generation hardware virtualization, only the “outermost” VMM can benefit from the hardware acceleration. Whilst this could not initially look to be a problem, some modes of operation are not feasible with no hardware virtualization support, meaning these modes will not be obtainable in a nested-VMM configuration.

Moreover, some computer companies intentionally disable hardware virtualization support in their PCs, even if the hardware is capable of supporting it.six The second revision of this hardware support, present in only the newest CPUs at the time of this writing, does let virtualization of the hardware virtualization instructions, enabling for some degree of nested VMM capabilities.

Limitations and Challenges

Efficiency – There will often be some level of performance overhead linked with hyper visor VMMs. As CPUs evolve to consist of more hardware assistance for virtualization, the areas of efficiency influence will shift from the VMM to the emulated hardware as an alternative, which can nevertheless result in a non-trivial influence.

VM inside yet another VM – As described prior to, unless one particular utilizes extremely new hardware it is not feasible to run a hardware-accelerated VM inside another hardware-accelerated VM.

No hardware assist – Specifically essential in a virtual desktopsolution, 1 must take into account the millions of PCs in the field that could be used as host PCs that do not have even the initial generation of virtualization support.7