What is difference between VMX and VT-x?

lscpu commands gives me

Virtualization:                  VT-x

but it also gives:-

Vulnerability Itlb multihit:     KVM: Mitigation: VMX disabled

I searched google and found out that I have to enable VMX in bios. will it affect VT-x ? and will I get any benefits by enabling it?


I searched google and found out that I have to enable VMX in bios. will it affect VT-x ? and will I get any benefits by enabling it?

The CPU flag for Intel Hardware Virtualization is VMX. VT-x is Intel Hardware Virtualization which means they are exactly the same. You change the value of the CPU flag by enabling or disabling VT-x within BIOS. If there isn't an option to enable VT-x within the firmware for your device then it cannot be enabled.

The CPU flag for VT-x capability is "vmx"; in Linux, this can be checked via /proc/cpuinfo

"VMX" stands for Virtual Machine Extensions, which adds 13 new instructions: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXOFF, VMXON, INVEPT, INVVPID, and VMFUNC. These instructions permit entering and exiting a virtual execution mode where the guest OS perceives itself as running with full privilege (ring 0), but the host OS remains protected.

The CPU flag for AMD-V is "svm" in Linux via /proc/cpuinfo.[19] Instructions in AMD-V include VMRUN, VMLOAD, VMSAVE, CLGI, VMMCALL, INVLPGA, SKINIT, and STGI.

Source: Intel virtualization (VT-x)