Changeset 66586 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Apr 17, 2017 7:50:56 AM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 114613
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/HMSVMAll.cpp
r66585 r66586 828 828 uint64_t uExitInfo2) 829 829 { 830 #define HMSVM_VMEXIT() \ 831 832 #define HMSVM_CTRL_INTERCEPT_VMEXIT_RET(a_Intercept) \ 830 #define HMSVM_CTRL_INTERCEPT_VMEXIT(a_Intercept) \ 833 831 do { \ 834 832 if (CPUMIsGuestSvmCtrlInterceptSet(pCtx, (a_Intercept))) \ … … 896 894 } 897 895 898 case SVM_EXIT_INTR: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_INTR);899 case SVM_EXIT_NMI: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_NMI);900 case SVM_EXIT_SMI: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_SMI);901 case SVM_EXIT_INIT: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_INIT);902 case SVM_EXIT_VINTR: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_VINTR);903 case SVM_EXIT_CR0_SEL_WRITE: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_CR0_SEL_WRITES);904 case SVM_EXIT_IDTR_READ: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_IDTR_READS);905 case SVM_EXIT_GDTR_READ: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_GDTR_READS);906 case SVM_EXIT_LDTR_READ: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_LDTR_READS);907 case SVM_EXIT_TR_READ: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_TR_READS);908 case SVM_EXIT_IDTR_WRITE: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_IDTR_WRITES);909 case SVM_EXIT_GDTR_WRITE: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_GDTR_WRITES);910 case SVM_EXIT_LDTR_WRITE: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_LDTR_WRITES);911 case SVM_EXIT_TR_WRITE: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_TR_WRITES);912 case SVM_EXIT_RDTSC: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_RDTSC);913 case SVM_EXIT_RDPMC: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_RDPMC);914 case SVM_EXIT_PUSHF: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_PUSHF);915 case SVM_EXIT_POPF: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_POPF);916 case SVM_EXIT_CPUID: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_CPUID);917 case SVM_EXIT_RSM: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_RSM);918 case SVM_EXIT_IRET: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_IRET);919 case SVM_EXIT_SWINT: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_INTN);920 case SVM_EXIT_INVD: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_INVD);921 case SVM_EXIT_PAUSE: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_PAUSE);922 case SVM_EXIT_HLT: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_HLT);923 case SVM_EXIT_INVLPG: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_INVLPG);924 case SVM_EXIT_INVLPGA: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_INVLPGA);925 case SVM_EXIT_TASK_SWITCH: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_TASK_SWITCH);926 case SVM_EXIT_FERR_FREEZE: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_FERR_FREEZE);927 case SVM_EXIT_SHUTDOWN: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_SHUTDOWN);928 case SVM_EXIT_VMRUN: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_VMRUN);929 case SVM_EXIT_VMMCALL: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_VMMCALL);930 case SVM_EXIT_VMLOAD: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_VMLOAD);931 case SVM_EXIT_VMSAVE: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_VMSAVE);932 case SVM_EXIT_STGI: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_STGI);933 case SVM_EXIT_CLGI: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_CLGI);934 case SVM_EXIT_SKINIT: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_SKINIT);935 case SVM_EXIT_RDTSCP: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_RDTSCP);936 case SVM_EXIT_ICEBP: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_ICEBP);937 case SVM_EXIT_WBINVD: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_WBINVD);938 case SVM_EXIT_MONITOR: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_MONITOR);939 case SVM_EXIT_MWAIT: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_MWAIT);940 case SVM_EXIT_MWAIT_ARMED: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_MWAIT_ARMED);941 case SVM_EXIT_XSETBV: HMSVM_CTRL_INTERCEPT_VMEXIT _RET(SVM_CTRL_INTERCEPT_XSETBV);896 case SVM_EXIT_INTR: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_INTR); 897 case SVM_EXIT_NMI: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_NMI); 898 case SVM_EXIT_SMI: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_SMI); 899 case SVM_EXIT_INIT: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_INIT); 900 case SVM_EXIT_VINTR: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_VINTR); 901 case SVM_EXIT_CR0_SEL_WRITE: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_CR0_SEL_WRITES); 902 case SVM_EXIT_IDTR_READ: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_IDTR_READS); 903 case SVM_EXIT_GDTR_READ: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_GDTR_READS); 904 case SVM_EXIT_LDTR_READ: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_LDTR_READS); 905 case SVM_EXIT_TR_READ: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_TR_READS); 906 case SVM_EXIT_IDTR_WRITE: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_IDTR_WRITES); 907 case SVM_EXIT_GDTR_WRITE: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_GDTR_WRITES); 908 case SVM_EXIT_LDTR_WRITE: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_LDTR_WRITES); 909 case SVM_EXIT_TR_WRITE: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_TR_WRITES); 910 case SVM_EXIT_RDTSC: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_RDTSC); 911 case SVM_EXIT_RDPMC: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_RDPMC); 912 case SVM_EXIT_PUSHF: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_PUSHF); 913 case SVM_EXIT_POPF: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_POPF); 914 case SVM_EXIT_CPUID: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_CPUID); 915 case SVM_EXIT_RSM: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_RSM); 916 case SVM_EXIT_IRET: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_IRET); 917 case SVM_EXIT_SWINT: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_INTN); 918 case SVM_EXIT_INVD: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_INVD); 919 case SVM_EXIT_PAUSE: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_PAUSE); 920 case SVM_EXIT_HLT: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_HLT); 921 case SVM_EXIT_INVLPG: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_INVLPG); 922 case SVM_EXIT_INVLPGA: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_INVLPGA); 923 case SVM_EXIT_TASK_SWITCH: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_TASK_SWITCH); 924 case SVM_EXIT_FERR_FREEZE: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_FERR_FREEZE); 925 case SVM_EXIT_SHUTDOWN: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_SHUTDOWN); 926 case SVM_EXIT_VMRUN: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_VMRUN); 927 case SVM_EXIT_VMMCALL: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_VMMCALL); 928 case SVM_EXIT_VMLOAD: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_VMLOAD); 929 case SVM_EXIT_VMSAVE: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_VMSAVE); 930 case SVM_EXIT_STGI: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_STGI); 931 case SVM_EXIT_CLGI: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_CLGI); 932 case SVM_EXIT_SKINIT: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_SKINIT); 933 case SVM_EXIT_RDTSCP: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_RDTSCP); 934 case SVM_EXIT_ICEBP: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_ICEBP); 935 case SVM_EXIT_WBINVD: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_WBINVD); 936 case SVM_EXIT_MONITOR: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_MONITOR); 937 case SVM_EXIT_MWAIT: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_MWAIT); 938 case SVM_EXIT_MWAIT_ARMED: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_MWAIT_ARMED); 939 case SVM_EXIT_XSETBV: HMSVM_CTRL_INTERCEPT_VMEXIT(SVM_CTRL_INTERCEPT_XSETBV); 942 940 943 941 case SVM_EXIT_IOIO: … … 962 960 return VINF_HM_INTERCEPT_NOT_ACTIVE; 963 961 964 #undef HMSVM_VMEXIT_RET 965 #undef HMSVM_CTRL_INTERCEPT_VMEXIT_RET 962 #undef HMSVM_CTRL_INTERCEPT_VMEXIT 966 963 } 967 964
Note:
See TracChangeset
for help on using the changeset viewer.