UNDI ISR: save and restore 32-bit registers
authorH. Peter Anvin <hpa@zytor.com>
Sat, 9 Feb 2008 00:19:02 +0000 (16:19 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 11 Feb 2008 02:06:10 +0000 (18:06 -0800)
commit621c2886aa0eb41e49923996c1853b861f7e7e96
tree0e740d664fa1094510468710f86446510be69023
parent428c6342bcdc61008b9cd07f6becf19d29da1564
UNDI ISR: save and restore 32-bit registers

As written, if the if the UNDI ISR call clobbers the upper halves of
any of the GPRs (which by convention it is permitted to do, and by
paranoia should be expected to do) then nothing in the interrupt
handler will recover the state.

Additionally, save/restore %fs and %gs out of sheer paranoia - it's a
cheap enough operation, and may prevent problems due to poorly written
UNDI stacks.
src/arch/i386/drivers/net/undiisr.S