mirror of https://gitee.com/openkylin/qemu.git
target-i386: Update BNDSTATUS for exceptions raised by BOUND
Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
523e28d761
commit
75d14edcf5
|
@ -112,6 +112,9 @@ void helper_boundw(CPUX86State *env, target_ulong a0, int v)
|
|||
high = cpu_ldsw_data_ra(env, a0 + 2, GETPC());
|
||||
v = (int16_t)v;
|
||||
if (v < low || v > high) {
|
||||
if (env->hflags & HF_MPX_EN_MASK) {
|
||||
env->bndcs_regs.sts = 0;
|
||||
}
|
||||
raise_exception_ra(env, EXCP05_BOUND, GETPC());
|
||||
}
|
||||
}
|
||||
|
@ -123,6 +126,9 @@ void helper_boundl(CPUX86State *env, target_ulong a0, int v)
|
|||
low = cpu_ldl_data_ra(env, a0, GETPC());
|
||||
high = cpu_ldl_data_ra(env, a0 + 4, GETPC());
|
||||
if (v < low || v > high) {
|
||||
if (env->hflags & HF_MPX_EN_MASK) {
|
||||
env->bndcs_regs.sts = 0;
|
||||
}
|
||||
raise_exception_ra(env, EXCP05_BOUND, GETPC());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue