git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git://git.ucc.asn.au/tpg/acess2
[tpg/acess2.git]
/
KernelLand
/
Kernel
/
arch
/
x86
/
irq.c
diff --git
a/KernelLand/Kernel/arch/x86/irq.c
b/KernelLand/Kernel/arch/x86/irq.c
index
e2dcf0e
..
eb89139
100644
(file)
--- 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;
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);
//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
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)
//Log(" IRQ_Handler: Resetting");
if(irq >= 8)
@@
-56,7
+62,7
@@
int IRQ_AddHandler( int Num, void (*Callback)(int, void*), void *Ptr )
for( i = 0; i < MAX_CALLBACKS_PER_IRQ; i++ )
{
if( gIRQ_Handlers[Num][i] == NULL ) {
for( i = 0; i < MAX_CALLBACKS_PER_IRQ; i++ )
{
if( gIRQ_Handlers[Num][i] == NULL ) {
-
Log_Log("IRQ", "Added IRQ%i Cb#%i %p", Num, i, Callback);
+
//
Log_Log("IRQ", "Added IRQ%i Cb#%i %p", Num, i, Callback);
gIRQ_Handlers[Num][i] = Callback;
gaIRQ_DataPointers[Num][i] = Ptr;
return 1;
gIRQ_Handlers[Num][i] = Callback;
gaIRQ_DataPointers[Num][i] = Ptr;
return 1;
UCC
git Repository :: git.ucc.asn.au