summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/drivers/net/undiisr.S
Commit message (Collapse)AuthorAgeFilesLines
* Guard against corruption of top half of %esp during UNDI ISRMichael Brown2008-02-131-0/+3
|
* undiisr.S: save/restore upper half of %eflagsH. Peter Anvin2008-02-111-0/+2
| | | | | | 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.
* UNDI ISR: save and restore 32-bit registersH. Peter Anvin2008-02-111-4/+7
| | | | | | | | | | | 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.
* Set up %ds *before* testing a value in our data segment (d'oh!).Michael Brown2007-07-101-6/+11
| | | | | | | | | Always send EOI; do not chain to BIOS's default interrupt handler. They are just too unpredictable; at least VMware's seems to kill the machine if you go anywhere near it. Disable interrupts after return from PXENV_UNDI_ISR, just in case some dumb PXE stack enables them.
* Protect ISR against failure to unhook.Michael Brown2007-07-101-0/+4
|
* Working code to call the PXE stack from within the ISR.Michael Brown2007-07-101-0/+70