Changeset 6180b57 in mainline


Ignore:
Timestamp:
2006-04-29T22:14:01Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0bc36ba
Parents:
5140e3e
Message:

Added support for irq notification registering.

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • libipc/generic/ipc.c

    r5140e3e r6180b57  
    262262        return __SYSCALL1(SYS_IPC_HANGUP, phoneid);
    263263}
     264
     265int ipc_register_irq(int irq)
     266{
     267        return __SYSCALL1(SYS_IPC_REGISTER_IRQ, irq);
     268}
     269
     270int ipc_unregister_irq(int irq)
     271{
     272        return __SYSCALL1(SYS_IPC_UNREGISTER_IRQ, irq);
     273}
  • libipc/include/ipc.h

    r5140e3e r6180b57  
    6464int ipc_connect_me_to(int phoneid, int arg1, int arg2);
    6565int ipc_hangup(int phoneid);
     66int ipc_register_irq(int irq);
     67int ipc_unregister_irq(int irq);
    6668
    6769#endif
  • ns/ns.c

    r5140e3e r6180b57  
    1616
    1717        printf("NS:Name service started.\n");
     18//      ipc_register_irq(1);
    1819        while (1) {
    1920                callid = ipc_wait_for_call(&call, 0);
    2021                printf("NS:Call phone=%lX..", call.phoneid);
    2122                switch (IPC_GET_METHOD(call)) {
     23                case IPC_M_INTERRUPT:
     24                        printf("GOT INTERRUPT\n");
     25                        break;
    2226                case IPC_M_PHONE_HUNGUP:
    2327                        printf("Phone hung up.\n");
     
    5559                        break;
    5660                }
    57                 ipc_answer(callid, retval, arg1, arg2);
     61                if (! (callid & IPC_CALLID_NOTIFICATION))
     62                        ipc_answer(callid, retval, arg1, arg2);
    5863        }
    5964}
Note: See TracChangeset for help on using the changeset viewer.