[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 12/16] target-i386: Update BNDSTATUS for exceptions r
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PULL 12/16] target-i386: Update BNDSTATUS for exceptions raised by BOUND |
Date: |
Mon, 15 Feb 2016 22:23:24 +1100 |
Signed-off-by: Richard Henderson <address@hidden>
---
target-i386/mem_helper.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/target-i386/mem_helper.c b/target-i386/mem_helper.c
index 7de7752..85e7516 100644
--- 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());
}
}
--
2.5.0
- [Qemu-devel] [PULL 00/16] target-i386: xsave, mpx, fsgsbase extensions, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 01/16] target-i386: Split fxsave/fxrstor implementation, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 02/16] target-i386: Rearrange processing of 0F 01, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 03/16] target-i386: Rearrange processing of 0F AE, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 04/16] target-i386: Add XSAVE extension, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 05/16] target-i386: Implement XSAVEOPT, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 06/16] target-i386: Enable control registers for MPX, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 07/16] target-i386: Perform set/reset_inhibit_irq inline, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 08/16] target-i386: Split up gen_lea_modrm, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 09/16] target-i386: Implement BNDMK, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 12/16] target-i386: Update BNDSTATUS for exceptions raised by BOUND,
Richard Henderson <=
- [Qemu-devel] [PULL 10/16] target-i386: Implement BNDMOV, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 11/16] target-i386: Implement BNDCL, BNDCU, BNDCN, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 13/16] target-i386: Implement BNDLDX, BNDSTX, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 14/16] target-i386: Clear bndregs during legacy near jumps, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 15/16] target-i386: Enable CR4/XCR0 features for user-mode, Richard Henderson, 2016/02/15
- [Qemu-devel] [PULL 16/16] target-i386: Implement FSGSBASE, Richard Henderson, 2016/02/15
- Re: [Qemu-devel] [PULL 00/16] target-i386: xsave, mpx, fsgsbase extensions, Peter Maydell, 2016/02/15