[patch] vm86: Clear AC on INT

From: Stas Sergeev (stssppnn@yahoo.com)
Date: Sun Jul 28 2002 - 11:21:09 EST


Hello.

According to this:
http://support.intel.com/design/intarch/techinfo/Pentium/instrefi.htm#89126
AC flag is cleared by an INT
instruction executed in real mode.
The attached patch implements that
functionality and solves some
problems recently discussed in
dosemu mailing list.


--- linux/arch/i386/kernel/vm86.c Sat Jul 27 13:12:38 2002
+++ linux/arch/i386/kernel/vm86.c Sat Jul 27 23:56:27 2002
@@ -317,6 +317,11 @@
         regs->eflags &= ~TF_MASK;
 }
 
+static inline void clear_AC(struct kernel_vm86_regs * regs)
+{
+ regs->eflags &= ~AC_MASK;
+}
+
 /* It is correct to call set_IF(regs) from the set_vflags_*
  * functions. However someone forgot to call clear_IF(regs)
  * in the opposite case.
@@ -471,6 +476,7 @@
         IP(regs) = segoffs & 0xffff;
         clear_TF(regs);
         clear_IF(regs);
+ clear_AC(regs);
         return;
 
 cannot_handle:

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Jul 30 2002 - 14:00:29 EST