mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-11 03:24:58 -06:00
target/i386: sysret and sysexit are privileged
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
75a02adf81
commit
53b9b4cc9f
1 changed files with 2 additions and 2 deletions
|
@ -5685,7 +5685,7 @@ static bool disas_insn(DisasContext *s, CPUState *cpu)
|
||||||
if (LMA(s) && env->cpuid_vendor1 != CPUID_VENDOR_INTEL_1) {
|
if (LMA(s) && env->cpuid_vendor1 != CPUID_VENDOR_INTEL_1) {
|
||||||
goto illegal_op;
|
goto illegal_op;
|
||||||
}
|
}
|
||||||
if (!PE(s)) {
|
if (!PE(s) || CPL(s) != 0) {
|
||||||
gen_exception_gpf(s);
|
gen_exception_gpf(s);
|
||||||
} else {
|
} else {
|
||||||
gen_helper_sysexit(cpu_env, tcg_constant_i32(dflag - 1));
|
gen_helper_sysexit(cpu_env, tcg_constant_i32(dflag - 1));
|
||||||
|
@ -5711,7 +5711,7 @@ static bool disas_insn(DisasContext *s, CPUState *cpu)
|
||||||
if (!LMA(s) && env->cpuid_vendor1 == CPUID_VENDOR_INTEL_1) {
|
if (!LMA(s) && env->cpuid_vendor1 == CPUID_VENDOR_INTEL_1) {
|
||||||
goto illegal_op;
|
goto illegal_op;
|
||||||
}
|
}
|
||||||
if (!PE(s)) {
|
if (!PE(s) || CPL(s) != 0) {
|
||||||
gen_exception_gpf(s);
|
gen_exception_gpf(s);
|
||||||
} else {
|
} else {
|
||||||
gen_helper_sysret(cpu_env, tcg_constant_i32(dflag - 1));
|
gen_helper_sysret(cpu_env, tcg_constant_i32(dflag - 1));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue