From aa348dec7d6c5366efd10513ae4ff6fa2bbbd6ed Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Thu, 2 Mar 2006 18:35:09 +0000 Subject: Add VMX instructions. --- insns.dat | 14 ++++++++++++++ insns.h | 5 +++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/insns.dat b/insns.dat index 7f51e3a3..04fa10b9 100644 --- a/insns.dat +++ b/insns.dat @@ -1673,3 +1673,17 @@ MOVSHDUP xmmreg,mem \301\3\xF3\x0F\x16\110 PRESCOTT,SSE3 MOVSHDUP xmmreg,xmmreg \3\xF3\x0F\x16\110 PRESCOTT,SSE3 MOVSLDUP xmmreg,mem \301\3\xF3\x0F\x12\110 PRESCOTT,SSE3 MOVSLDUP xmmreg,xmmreg \3\xF3\x0F\x12\110 PRESCOTT,SSE3 + +; VMX Instructions +VMCALL void \3\x0F\x01\xC1 VMX +VMCLEAR mem \3\x66\x0F\xC7\206 VMX +VMLAUNCH void \3\x0F\x01\xC2 VMX +VMPTRLD mem \2\x0F\xC7\206 VMX +VMPTRST mem \2\x0F\xC7\207 VMX +VMREAD mem,reg32 \2\x0F\x78\101 VMX +VMREAD reg32,reg32 \2\x0F\x78\101 VMX +VMRESUME void \3\x0F\x01\xC3 VMX +VMWRITE reg32,mem \2\x0F\x79\110 VMX +VMWRITE reg32,reg32 \2\x0F\x79\110 VMX +VMXOFF void \3\x0F\x01\xC4 VMX +VMXON mem \3\xF3\x0F\xC7\206 VMX diff --git a/insns.h b/insns.h index 92c23d02..8de7d97a 100644 --- a/insns.h +++ b/insns.h @@ -27,8 +27,8 @@ struct itemplate { unsigned long flags; /* some flags */ }; -/* - * this define is used to signify the end of an itemplate +/* + * this define is used to signify the end of an itemplate */ #define ITEMPLATE_END {-1,-1,{-1,-1,-1},NULL,0} @@ -78,6 +78,7 @@ struct itemplate { #define IF_SSE 0x00010000UL /* it's a SSE (KNI, MMX2) instruction */ #define IF_SSE2 0x00020000UL /* it's a SSE2 instruction */ #define IF_SSE3 0x00040000UL /* it's a SSE3 (PNI) instruction */ +#define IF_VMX 0x00080000UL /* it's a VMX instruction */ #define IF_PMASK 0xFF000000UL /* the mask for processor types */ #define IF_PLEVEL 0x0F000000UL /* the mask for processor instr. level */ /* also the highest possible processor */ -- cgit v1.2.1