Firma Intel wprowadziła zestaw instrukcji Virtual Machine Extensions (VMX), dodając dwa nowe tryby wykonywania procesora: tryb operacyjny VMX root i tryb operacyjny VMX non-root.23 Podobnie jak w trybie nadzorcy, tryb VMX root to miejsce, w którym działa oprogramowanie VMM, podczas gdy maszyny wirtualne działają w trybie VMX non-root. Nie należy mylić trybów działania VMX z poziomami pierścienia; są one całkowicie niezwiązane. Co więcej, maszyna wirtualna w trybie VMX non-root może wykonywać kod na dowolnym poziomie pierścienia; w związku z tym jednym z ograniczeń rozwiązywanych przez rozszerzenia wirtualizacji sprzętowej jest kompresja pierścieniowa.
UWAGA: Możesz znaleźć osoby mówiące o „Ring -1” (ujemna jedynka). Tak naprawdę mają na myśli tryb główny VMX. Tryby działania VMX nie są powiązane z poziomami pierścienia, a odwoływanie się do „Ring -1” powoduje jedynie zamieszanie.
Przejście z trybu głównego do trybu nie-root nazywa się VM-Enter,24 natomiast przejście z trybu nie-root do trybu głównego znane jest jako VM-Exit. Możemy myśleć o tym ostatnim jako o czymś podobnym do mechanizmu pułapki niewidocznej dla oprogramowania opisanego w sprzętowym wirtualizatorze Goldberga. Dzięki temu nowemu mechanizmowi pułapki wprowadzonemu przez tryby działania VMX, VMM nie musi już używać IDT do celów wirtualizacji, ale nadal musi go używać do obsługi wyjątków sprzętowych i przerwań. Do struktury danych znanej jako struktura sterowania maszyną wirtualną (VMCS) można uzyskać dostęp z trybu głównego VMX. Manipulując tą strukturą, VMM może kontrolować wiele aspektów wirtualizacji, w tym zachowanie przejść między trybami VMX. Zwykle VMCS jest przypisany do każdego wirtualnego procesora każdej maszyny wirtualnej (maszyna wirtualna może mieć więcej niż jeden wirtualny procesor), ale każdy fizyczny procesor (lub logiczny procesor, biorąc pod uwagę SMT) może mieć tylko jeden „bieżący” VMCS. Pola VMCS można sklasyfikować w kilku różnych grupach, które omówimy.