X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fgeekos%2Firq.c;h=07543ba111a596d8d94a18f7bda62dab8e706210;hb=7246e098eaeb10934569dd4c6ef12753a1637351;hp=24c5104b866b106327c868b810c3512fe455e325;hpb=626595465a2c6987606a6bc697df65130ad8c2d3;p=palacios-OLD.git diff --git a/palacios/src/geekos/irq.c b/palacios/src/geekos/irq.c index 24c5104..07543ba 100644 --- a/palacios/src/geekos/irq.c +++ b/palacios/src/geekos/irq.c @@ -1,7 +1,7 @@ /* * This is the device-driver interface to the interrupt system. * Copyright (c) 2001,2003 David H. Hovemeyer - * $Revision: 1.1 $ + * $Revision: 1.4 $ * * This is free software. You are permitted to use, * redistribute, and modify it as specified in the file "COPYING". @@ -12,6 +12,8 @@ #include #include +#include + /* ---------------------------------------------------------------------- * Private functions and data * ---------------------------------------------------------------------- */ @@ -110,6 +112,7 @@ void Disable_IRQ(int irq) */ void Begin_IRQ(struct Interrupt_State* state) { + // SerialPrint("Begin_IRQ for interrupt 0x%x\n",state->intNum); } /* @@ -119,6 +122,11 @@ void Begin_IRQ(struct Interrupt_State* state) void End_IRQ(struct Interrupt_State* state) { int irq = state->intNum - FIRST_EXTERNAL_INT; + End_IRQ_num(irq); +} + + +void End_IRQ_num(int irq) { uchar_t command = 0x60 | (irq & 0x7); if (irq < 8) {