/trunk/uspace/libc/generic/ipc.c |
---|
449,30 → 449,14 |
return __SYSCALL1(SYS_IPC_HANGUP, phoneid); |
} |
/** Register IRQ notification. |
* |
* @param inr IRQ number. |
* @param devno Device number of the device generating inr. |
* @param method Use this method for notifying me. |
* @param ucode Top-half pseudocode handler. |
* |
* @return Value returned by the kernel. |
*/ |
int ipc_register_irq(int inr, int devno, int method, irq_code_t *ucode) |
int ipc_register_irq(int irq, irq_code_t *ucode) |
{ |
return __SYSCALL4(SYS_IPC_REGISTER_IRQ, inr, devno, method, (sysarg_t) ucode); |
return __SYSCALL2(SYS_IPC_REGISTER_IRQ, irq, (sysarg_t) ucode); |
} |
/** Unregister IRQ notification. |
* |
* @param inr IRQ number. |
* @param devno Device number of the device generating inr. |
* |
* @return Value returned by the kernel. |
*/ |
int ipc_unregister_irq(int inr, int devno) |
int ipc_unregister_irq(int irq) |
{ |
return __SYSCALL2(SYS_IPC_UNREGISTER_IRQ, inr, devno); |
return __SYSCALL1(SYS_IPC_UNREGISTER_IRQ, irq); |
} |
int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method, ipcarg_t arg1) |
/trunk/uspace/libc/generic/async.c |
---|
636,7 → 636,7 |
amsg_t *msg; |
if (in_interrupt_handler) { |
printf("Cannot send asynchronous request in interrupt handler.\n"); |
printf("Cannot send asynchronou request in interrupt handler.\n"); |
_exit(1); |
} |
662,7 → 662,7 |
amsg_t *msg; |
if (in_interrupt_handler) { |
printf("Cannot send asynchronous request in interrupt handler.\n"); |
printf("Cannot send asynchronou request in interrupt handler.\n"); |
_exit(1); |
} |
/trunk/uspace/libc/include/ipc/ipc.h |
---|
83,8 → 83,8 |
extern int ipc_connect_to_me(int phoneid, int arg1, int arg2, ipcarg_t *phone); |
extern int ipc_connect_me_to(int phoneid, int arg1, int arg2); |
extern int ipc_hangup(int phoneid); |
extern int ipc_register_irq(int inr, int devno, int method, irq_code_t *code); |
extern int ipc_unregister_irq(int inr, int devno); |
extern int ipc_register_irq(int irq, irq_code_t *code); |
extern int ipc_unregister_irq(int irq); |
extern int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method, ipcarg_t arg1); |
#endif |
/trunk/uspace/kbd/arch/sparc64/src/kbd.c |
---|
58,7 → 58,7 |
int kbd_arch_init(void) |
{ |
z8530_cmds[0].addr = (void *) sysinfo_value("kbd.address.virtual") + 6; |
ipc_register_irq(sysinfo_value("kbd.inr"), sysinfo_value("kbd.devno"), 0, &z8530_kbd); |
ipc_register_irq(sysinfo_value("kbd.irq"), &z8530_kbd); |
return 0; |
} |
/trunk/uspace/klog/klog.c |
---|
40,7 → 40,6 |
#include <ipc/services.h> |
#include <as.h> |
#include <kernel/ipc/irq.h> |
#include <sysinfo.h> |
/* Pointer to klog area */ |
static char *klog; |
73,9 → 72,7 |
} |
klog = mapping; |
int inr = sysinfo_value("klog.inr"); |
int devno = sysinfo_value("klog.devno"); |
if (ipc_register_irq(inr, devno, 0, NULL)) { |
if (ipc_register_irq(IPC_IRQ_KLOG, NULL)) { |
printf("Error registering for klog service.\n"); |
return 0; |
} |