projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
523e28d
)
target-i386: Update BNDSTATUS for exceptions raised by BOUND
author
Richard Henderson
<rth@twiddle.net>
Mon, 6 Jul 2015 18:37:40 +0000
(19:37 +0100)
committer
Richard Henderson
<rth@twiddle.net>
Mon, 15 Feb 2016 03:50:00 +0000
(14:50 +1100)
Signed-off-by: Richard Henderson <rth@twiddle.net>
target-i386/mem_helper.c
patch
|
blob
|
history
diff --git
a/target-i386/mem_helper.c
b/target-i386/mem_helper.c
index 7de775259daba50c18c8ab34589c9443381046cd..85e75161bc7fbb0c435328013ebb1e42d773b288 100644
(file)
--- a/
target-i386/mem_helper.c
+++ b/
target-i386/mem_helper.c
@@
-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());
}
}