mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 19:49:43 +00:00
target-i386: Avoid repeated calls to the bnd_jmp helper
Two flags were tested the wrong way. Tested-by: Hervé Poussineau <hpoussin@reactos.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <1456845145-18891-1-git-send-email-pbonzini@redhat.com> Signed-off-by: Richard Henderson <rth@twiddle.net> [rth: Fixed enable test as well.]
This commit is contained in:
parent
618a5a8bc5
commit
8b33e82b86
@ -2409,12 +2409,12 @@ static void gen_reset_hflag(DisasContext *s, uint32_t mask)
|
||||
/* Clear BND registers during legacy branches. */
|
||||
static void gen_bnd_jmp(DisasContext *s)
|
||||
{
|
||||
/* Do nothing if BND prefix present, MPX is disabled, or if the
|
||||
BNDREGs are known to be in INIT state already. The helper
|
||||
itself will check BNDPRESERVE at runtime. */
|
||||
/* Clear the registers only if BND prefix is missing, MPX is enabled,
|
||||
and if the BNDREGs are known to be in use (non-zero) already.
|
||||
The helper itself will check BNDPRESERVE at runtime. */
|
||||
if ((s->prefix & PREFIX_REPNZ) == 0
|
||||
&& (s->flags & HF_MPX_EN_MASK) == 0
|
||||
&& (s->flags & HF_MPX_IU_MASK) == 0) {
|
||||
&& (s->flags & HF_MPX_EN_MASK) != 0
|
||||
&& (s->flags & HF_MPX_IU_MASK) != 0) {
|
||||
gen_helper_bnd_jmp(cpu_env);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user