Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 539 → Rev 540

/shark/trunk/drivers/linuxc26/shark_glue.c
2,9 → 2,12
#include <stdlib.h>
#include <kernel/func.h>
#include <ll/sys/ll/event.h>
#include <ll/i386/pic.h>
 
#include <linuxcomp.h>
 
//#define DEBUG_SHARK_GLUE
 
PID intr_server = NIL;
 
#define MAX_INT_LIST 50
82,8 → 85,10
 
no = get_interrupt_job();
 
if (no != -1 && no < 16)
if (no != -1 && no < 16) {
linux_intr(no);
irq_unmask(no);
}
 
if (no != -1 && no >= 16) {
linux_timer(no);
142,6 → 147,10
 
int no = (int)arg,res;
 
#ifdef DEBUG_SHARK_GLUE
cprintf("(Timer Exe)");
#endif
 
timer_table[no] = -2;
 
res = add_interrupt_job(no);
157,6 → 166,10
 
f = kern_fsave();
 
#ifdef DEBUG_SHARK_GLUE
cprintf("(Timer Set)");
#endif
 
i = get_free_timer_slot();
 
if (i == -1) {
191,6 → 204,10
return -1;
}
 
#ifdef DEBUG_SHARK_GLUE
cprintf("(Timer Del)");
#endif
 
if (timer_table[index] != -1 && timer_table[index] != -2) {
 
int_func_table[index] = NULL;
211,9 → 228,14
 
void fast_call_intr(int no)
{
 
int res;
 
#ifdef DEBUG_SHARK_GLUE
cprintf("(Int Exe)");
#endif
 
irq_mask(no);
 
res = add_interrupt_job(no);
if (intr_server != NIL && res == 0)
task_activate(intr_server);