aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-02-10 18:13:06 -0800
committerH. Peter Anvin <hpa@zytor.com>2008-02-10 18:13:39 -0800
commit9aec835541ffc2f5f959fd1fa9367c4e2754db2c (patch)
tree8de34c4080772ef208a2539a632ca96c586ded97
parent621c2886aa0eb41e49923996c1853b861f7e7e96 (diff)
downloadipxe-9aec835541ffc2f5f959fd1fa9367c4e2754db2c.tar.gz
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.
-rw-r--r--src/arch/i386/drivers/net/undiisr.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/arch/i386/drivers/net/undiisr.S b/src/arch/i386/drivers/net/undiisr.S
index 15e1a63a..f1c9eb15 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