diff options
| author | H. Peter Anvin | 2008-02-11 03:13:06 +0100 |
|---|---|---|
| committer | H. Peter Anvin | 2008-02-11 03:13:39 +0100 |
| commit | 9aec835541ffc2f5f959fd1fa9367c4e2754db2c (patch) | |
| tree | 8de34c4080772ef208a2539a632ca96c586ded97 | |
| parent | UNDI ISR: save and restore 32-bit registers (diff) | |
| download | ipxe-9aec835541ffc2f5f959fd1fa9367c4e2754db2c.tar.gz ipxe-9aec835541ffc2f5f959fd1fa9367c4e2754db2c.tar.xz ipxe-9aec835541ffc2f5f959fd1fa9367c4e2754db2c.zip | |
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.S | 2 |
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 |
