Revision 2436b61a target-i386/translate.c
b/target-i386/translate.c | ||
---|---|---|
6505 | 6505 |
tcg_gen_helper_0_0(helper_rdpmc); |
6506 | 6506 |
break; |
6507 | 6507 |
case 0x134: /* sysenter */ |
6508 |
if (CODE64(s)) |
|
6508 |
/* For Intel SYSENTER is valid on 64-bit */ |
|
6509 |
if (CODE64(s) && cpu_single_env->cpuid_vendor1 != CPUID_VENDOR_INTEL_1) |
|
6509 | 6510 |
goto illegal_op; |
6510 | 6511 |
if (!s->pe) { |
6511 | 6512 |
gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base); |
... | ... | |
6520 | 6521 |
} |
6521 | 6522 |
break; |
6522 | 6523 |
case 0x135: /* sysexit */ |
6523 |
if (CODE64(s)) |
|
6524 |
/* For Intel SYSEXIT is valid on 64-bit */ |
|
6525 |
if (CODE64(s) && cpu_single_env->cpuid_vendor1 != CPUID_VENDOR_INTEL_1) |
|
6524 | 6526 |
goto illegal_op; |
6525 | 6527 |
if (!s->pe) { |
6526 | 6528 |
gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base); |
... | ... | |
6530 | 6532 |
s->cc_op = CC_OP_DYNAMIC; |
6531 | 6533 |
} |
6532 | 6534 |
gen_jmp_im(pc_start - s->cs_base); |
6533 |
tcg_gen_helper_0_0(helper_sysexit);
|
|
6535 |
tcg_gen_helper_0_1(helper_sysexit, tcg_const_i32(dflag));
|
|
6534 | 6536 |
gen_eob(s); |
6535 | 6537 |
} |
6536 | 6538 |
break; |
Also available in: Unified diff