From 63f197e31d1f313613f5342fd566324e1fee14fc Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Tue, 22 Apr 2008 11:44:56 +0100 Subject: [PATCH] x86_emulate: Disable writeback if BSF/BSR are passed zero input. Signed-off-by: Keir Fraser --- xen/arch/x86/x86_emulate/x86_emulate.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c index 2b7ddeffbb..8d8db35820 100644 --- a/xen/arch/x86/x86_emulate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -3134,7 +3134,11 @@ x86_emulate( : "=r" (dst.val), "=q" (zf) : "r" (src.val), "1" (0) ); _regs.eflags &= ~EFLG_ZF; - _regs.eflags |= zf ? EFLG_ZF : 0; + if ( zf ) + { + _regs.eflags |= EFLG_ZF; + dst.type = OP_NONE; + } break; } @@ -3144,7 +3148,11 @@ x86_emulate( : "=r" (dst.val), "=q" (zf) : "r" (src.val), "1" (0) ); _regs.eflags &= ~EFLG_ZF; - _regs.eflags |= zf ? EFLG_ZF : 0; + if ( zf ) + { + _regs.eflags |= EFLG_ZF; + dst.type = OP_NONE; + } break; } -- 2.39.5