Changeset 38364 in vbox for trunk/src/recompiler
- Timestamp:
- Aug 8, 2011 7:12:29 PM (13 years ago)
- Location:
- trunk/src/recompiler
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/recompiler/VBoxREMWrapper.cpp
r38320 r38364 1201 1201 { "CPUMGetGuestCS", VMM_FN(CPUMGetGuestCS), &g_aArgsVMCPU[0], RT_ELEMENTS(g_aArgsVMCPU), REMFNDESC_FLAGS_RET_INT, sizeof(RTSEL), NULL }, 1202 1202 { "CPUMGetGuestSS", VMM_FN(CPUMGetGuestSS), &g_aArgsVMCPU[0], RT_ELEMENTS(g_aArgsVMCPU), REMFNDESC_FLAGS_RET_INT, sizeof(RTSEL), NULL }, 1203 { "CPUMGetGuestCpuVendor", VMM_FN(CPUMGetGuestCpuVendor), &g_aArgsVM[0], RT_ELEMENTS(g_aArgsVMCPU), REMFNDESC_FLAGS_RET_INT, sizeof(CPUMCPUVENDOR), NULL }, 1203 1204 { "CPUMQueryGuestCtxPtr", VMM_FN(CPUMQueryGuestCtxPtr), &g_aArgsCPUMQueryGuestCtxPtr[0], RT_ELEMENTS(g_aArgsCPUMQueryGuestCtxPtr), REMFNDESC_FLAGS_RET_INT, sizeof(PCPUMCTX), NULL }, 1204 1205 { "CSAMR3MonitorPage", VMM_FN(CSAMR3MonitorPage), &g_aArgsCSAMR3MonitorPage[0], RT_ELEMENTS(g_aArgsCSAMR3MonitorPage), REMFNDESC_FLAGS_RET_INT, sizeof(int), NULL }, -
trunk/src/recompiler/target-i386/translate.c
r37689 r38364 57 57 #define REX_X(s) ((s)->rex_x) 58 58 #define REX_B(s) ((s)->rex_b) 59 # ifdef VBOX 60 # define IS_LONG_MODE(s) ((s)->lma) 61 # endif 59 62 /* XXX: gcc generates push/pop in some opcodes, so we cannot use them */ 60 63 #if 1 … … 67 70 #define REX_X(s) 0 68 71 #define REX_B(s) 0 72 # ifdef VBOX 73 # define IS_LONG_MODE(s) 0 74 # endif 69 75 #endif 70 76 … … 7290 7296 if (CODE64(s) && cpu_single_env->cpuid_vendor1 != CPUID_VENDOR_INTEL_1) 7291 7297 #else 7292 /** @todo: make things right */ 7293 if (CODE64(s)) 7298 if ( !(cpu_single_env->cpuid_features & CPUID_SEP) 7299 || ( IS_LONG_MODE(s) 7300 && CPUMGetGuestCpuVendor(cpu_single_env->pVM) != CPUMCPUVENDOR_INTEL)) 7294 7301 #endif 7295 7302 goto illegal_op; … … 7308 7315 if (CODE64(s) && cpu_single_env->cpuid_vendor1 != CPUID_VENDOR_INTEL_1) 7309 7316 #else 7310 /** @todo: make things right */ 7311 if (CODE64(s)) 7317 if ( !(cpu_single_env->cpuid_features & CPUID_SEP) 7318 || ( IS_LONG_MODE(s) 7319 && CPUMGetGuestCpuVendor(cpu_single_env->pVM) != CPUMCPUVENDOR_INTEL)) 7312 7320 #endif 7313 7321 goto illegal_op;
Note:
See TracChangeset
for help on using the changeset viewer.