Are VMX instructions (vmcall, vmlaunch, vmresume, vmxoff) implemented in gem5 x86?

1 day ago 2
ARTICLE AD BOX

I am currently trying to do some hypervisor research using gem5 for a time-accurate simulation of the hardware. I have encountered in the gem5/src/arch/x86/isa/decoder/two_byte_opcodes.isa a case

//0x01: group7(); // Ugly, ugly, ugly... 0x01: decode MODRM_REG { 0x0: decode MODRM_MOD { 0x3: decode MODRM_RM { 0x1: vmcall(); 0x2: vmlaunch(); 0x3: vmresume(); 0x4: vmxoff(); default: Inst::UD2(); } default: sgdt_Ms(); }

These seem to be the vmx instructions that I was looking for but it seems like they are tagged as unimplemented and when I search the rest of the x86 isa directory there is no definition for these instructions i.e vmcall or vmlaunch. Are these instructions completely unimplemented on gem5 and is there a way to still run a simulation of a type 1 hypervisor on an x86 arch.

Read Entire Article