Changeset 14425 in vbox for trunk/src/recompiler_new
- Timestamp:
- Nov 20, 2008 4:32:52 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 39670
- Location:
- trunk/src/recompiler_new
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/recompiler_new/VBoxRecompiler.c
r14418 r14425 4235 4235 LogFlow(("cpu_apic_wrmsr: rc=%Rrc\n", rc)); NOREF(rc); 4236 4236 } 4237 4238 uint64_t cpu_rdmsr(CPUX86State *env, uint32_t msr) 4239 { 4240 return CPUMGetGuestMsr(env->pVM, msr); 4241 } 4242 4243 void cpu_wrmsr(CPUX86State *env, uint32_t msr, uint64_t val) 4244 { 4245 CPUMSetGuestMsr(env->pVM, msr, val); 4246 } 4237 4247 /* -+- I/O Ports -+- */ 4238 4248 -
trunk/src/recompiler_new/target-i386/cpu.h
r13731 r14425 923 923 uint64_t cpu_apic_rdmsr(CPUX86State *env, uint32_t reg); 924 924 void cpu_apic_wrmsr(CPUX86State *env, uint32_t reg, uint64_t value); 925 uint64_t cpu_rdmsr(CPUX86State *env, uint32_t msr); 926 void cpu_wrmsr(CPUX86State *env, uint32_t msr, uint64_t val); 925 927 #endif 926 928 void cpu_smm_update(CPUX86State *env); -
trunk/src/recompiler_new/target-i386/translate.c
r13999 r14425 641 641 642 642 /* For other segments this check is waste of time, and also TCG is unable to cope with this code, 643 for data segments, as expects alive temps*/644 if (reg != R_GS) 643 for data/stack segments, as expects alive cpu_T[0] */ 644 if (reg != R_GS) 645 645 return; 646 646 … … 7642 7642 op = (modrm >> 3) & 7; 7643 7643 rm = modrm & 7; 7644 7645 #ifdef VBOX 7646 /* 0f 01 f9 */ 7647 if (modrm == 0xf9) 7648 { 7649 if (!(s->cpuid_ext2_features & CPUID_EXT2_RDTSCP)) 7650 goto illegal_op; 7651 gen_jmp_im(pc_start - s->cs_base); 7652 tcg_gen_helper_0_0(helper_rdtscp); 7653 break; 7654 } 7655 #endif 7644 7656 switch(op) { 7645 7657 case 0: /* sgdt */
Note:
See TracChangeset
for help on using the changeset viewer.