[patch] vm86: Clear AC on INT

Stas Sergeev (stssppnn@yahoo.com)
Sun, 28 Jul 2002 20:21:09 +0400


This is a multi-part message in MIME format.
--------------040407000509040300030509
Content-Type: text/plain; charset=KOI8-R; format=flowed
Content-Transfer-Encoding: 7bit

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.

--------------040407000509040300030509
Content-Type: text/plain;
name="vm86_ac.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="vm86_ac.diff"

--- 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:

--------------040407000509040300030509--

-
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/