X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Farch%2Fx86%2Firq.c;h=0a195104c8a7dd094020ef9761d805baf9037171;hb=e7809e57b0692cf65ee1a7d2060c52fc53da49f2;hp=e2dcf0e31f68c585dc3871d0f7fb584c061858f1;hpb=48743e39650eb1ef988380e9d95f27fd40d3a9ce;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/arch/x86/irq.c b/KernelLand/Kernel/arch/x86/irq.c index e2dcf0e3..0a195104 100644 --- a/KernelLand/Kernel/arch/x86/irq.c +++ b/KernelLand/Kernel/arch/x86/irq.c @@ -26,6 +26,7 @@ void *gaIRQ_DataPointers[16][MAX_CALLBACKS_PER_IRQ]; void IRQ_Handler(tRegs *Regs) { int i, irq = Regs->int_num - 0xF0; + int bHandled = 0; //Log("IRQ_Handler: (Regs={int_num:%i})", Regs->int_num); @@ -37,8 +38,13 @@ void IRQ_Handler(tRegs *Regs) if( irq != 8 ) Log("IRQ %i: Call %p", Regs->int_num, gIRQ_Handlers[Regs->int_num][i]); #endif + bHandled = 1; } } + + if( !bHandled ) { + Log_Debug("IRQ", "Unhandled IRQ %i", irq); + } //Log(" IRQ_Handler: Resetting"); if(irq >= 8) @@ -55,7 +61,8 @@ int IRQ_AddHandler( int Num, void (*Callback)(int, void*), void *Ptr ) int i; for( i = 0; i < MAX_CALLBACKS_PER_IRQ; i++ ) { - if( gIRQ_Handlers[Num][i] == NULL ) { + if( gIRQ_Handlers[Num][i] == NULL ) + { Log_Log("IRQ", "Added IRQ%i Cb#%i %p", Num, i, Callback); gIRQ_Handlers[Num][i] = Callback; gaIRQ_DataPointers[Num][i] = Ptr;