summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2007-07-10 05:33:59 +0200
committerMichael Brown2007-07-10 05:33:59 +0200
commit4e14b020a5dd3c6ec04a7612deb200cf8a24fcf4 (patch)
tree0d91836e3084ad698abfb2503e86ff9edf0e779c
parentWe probably ought not to call INT13 with interrupts disabled. (diff)
downloadipxe-4e14b020a5dd3c6ec04a7612deb200cf8a24fcf4.tar.gz
ipxe-4e14b020a5dd3c6ec04a7612deb200cf8a24fcf4.tar.xz
ipxe-4e14b020a5dd3c6ec04a7612deb200cf8a24fcf4.zip
Master IRQ should be EOIed first, I think.
-rw-r--r--src/arch/i386/core/pic8259.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/arch/i386/core/pic8259.c b/src/arch/i386/core/pic8259.c
index aae22cee4..defe2e7d3 100644
--- a/src/arch/i386/core/pic8259.c
+++ b/src/arch/i386/core/pic8259.c
@@ -46,11 +46,11 @@ static inline void send_nonspecific_eoi ( unsigned int irq ) {
*/
static inline void send_specific_eoi ( unsigned int irq ) {
DBG ( "Sending specific EOI for IRQ %d\n", irq );
- outb ( ( ICR_EOI_SPECIFIC | ICR_VALUE ( irq ) ), ICR_REG ( irq ) );
if ( irq >= IRQ_PIC_CUTOFF ) {
outb ( ( ICR_EOI_SPECIFIC | ICR_VALUE ( CHAINED_IRQ ) ),
ICR_REG ( CHAINED_IRQ ) );
}
+ outb ( ( ICR_EOI_SPECIFIC | ICR_VALUE ( irq ) ), ICR_REG ( irq ) );
}
/**