- Timestamp:
- 2006-10-16T20:51:55Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 5f9b4d9a
- Parents:
- e3890b3f
- Location:
- uspace
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/kbd/arch/sparc64/src/kbd.c
re3890b3f r2b017ba 59 59 { 60 60 z8530_cmds[0].addr = (void *) sysinfo_value("kbd.address.virtual") + 6; 61 ipc_register_irq(sysinfo_value("kbd.i rq"), &z8530_kbd);61 ipc_register_irq(sysinfo_value("kbd.inr"), sysinfo_value("kbd.devno"), 0, &z8530_kbd); 62 62 return 0; 63 63 } -
uspace/klog/klog.c
re3890b3f r2b017ba 41 41 #include <as.h> 42 42 #include <kernel/ipc/irq.h> 43 #include <sysinfo.h> 43 44 44 45 /* Pointer to klog area */ … … 73 74 klog = mapping; 74 75 75 if (ipc_register_irq(IPC_IRQ_KLOG, NULL)) { 76 int inr = sysinfo_value("klog.inr"); 77 int devno = sysinfo_value("klog.devno"); 78 if (ipc_register_irq(inr, devno, 0, NULL)) { 76 79 printf("Error registering for klog service.\n"); 77 80 return 0; -
uspace/libc/generic/async.c
re3890b3f r2b017ba 637 637 638 638 if (in_interrupt_handler) { 639 printf("Cannot send asynchronou request in interrupt handler.\n");639 printf("Cannot send asynchronous request in interrupt handler.\n"); 640 640 _exit(1); 641 641 } … … 663 663 664 664 if (in_interrupt_handler) { 665 printf("Cannot send asynchronou request in interrupt handler.\n");665 printf("Cannot send asynchronous request in interrupt handler.\n"); 666 666 _exit(1); 667 667 } -
uspace/libc/generic/ipc.c
re3890b3f r2b017ba 450 450 } 451 451 452 int ipc_register_irq(int irq, irq_code_t *ucode) 453 { 454 return __SYSCALL2(SYS_IPC_REGISTER_IRQ, irq, (sysarg_t) ucode); 455 } 456 457 int ipc_unregister_irq(int irq) 458 { 459 return __SYSCALL1(SYS_IPC_UNREGISTER_IRQ, irq); 452 /** Register IRQ notification. 453 * 454 * @param inr IRQ number. 455 * @param devno Device number of the device generating inr. 456 * @param method Use this method for notifying me. 457 * @param ucode Top-half pseudocode handler. 458 * 459 * @return Value returned by the kernel. 460 */ 461 int ipc_register_irq(int inr, int devno, int method, irq_code_t *ucode) 462 { 463 return __SYSCALL4(SYS_IPC_REGISTER_IRQ, inr, devno, method, (sysarg_t) ucode); 464 } 465 466 /** Unregister IRQ notification. 467 * 468 * @param inr IRQ number. 469 * @param devno Device number of the device generating inr. 470 * 471 * @return Value returned by the kernel. 472 */ 473 int ipc_unregister_irq(int inr, int devno) 474 { 475 return __SYSCALL2(SYS_IPC_UNREGISTER_IRQ, inr, devno); 460 476 } 461 477 -
uspace/libc/include/ipc/ipc.h
re3890b3f r2b017ba 84 84 extern int ipc_connect_me_to(int phoneid, int arg1, int arg2); 85 85 extern int ipc_hangup(int phoneid); 86 extern int ipc_register_irq(int i rq, irq_code_t *code);87 extern int ipc_unregister_irq(int i rq);86 extern int ipc_register_irq(int inr, int devno, int method, irq_code_t *code); 87 extern int ipc_unregister_irq(int inr, int devno); 88 88 extern int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method, ipcarg_t arg1); 89 89
Note:
See TracChangeset
for help on using the changeset viewer.