From: H. Peter Anvin Date: Mon, 11 Feb 2008 02:13:06 +0000 (-0800) Subject: undiisr.S: save/restore upper half of %eflags X-Git-Tag: v0.9.3~10^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9aec835541ffc2f5f959fd1fa9367c4e2754db2c;p=thirdparty%2Fipxe.git undiisr.S: save/restore upper half of %eflags Since we don't know what the UNDI code does, it is safest to save/restore %eflags even though the lower half of %eflags is automatically saved by the interrupt itself. --- diff --git a/src/arch/i386/drivers/net/undiisr.S b/src/arch/i386/drivers/net/undiisr.S index 15e1a63a3..f1c9eb154 100644 --- a/src/arch/i386/drivers/net/undiisr.S +++ b/src/arch/i386/drivers/net/undiisr.S @@ -23,6 +23,7 @@ undiisr: pushw %es pushw %fs pushw %gs + pushfl pushal /* Set up our segment registers */ @@ -64,6 +65,7 @@ chain: /* Chain to next handler */ exit: /* Restore registers and return */ popal + popfl popw %gs popw %fs popw %es