Changeset cecb0789 in mainline for kernel/generic/include/ipc/irq.h


Ignore:
Timestamp:
2009-02-21T17:27:59Z (16 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
9688513
Parents:
0cb9fa0
Message:

This is the evil commit. In particular, it does:

  • introduces more powerful pseudo code for userspace IRQ top-half handlers
  • changes the internals of IRQ dispatching
  • simplifies the kernel's i8042 driver
  • adapts the uspace i8042 driver to make use of the new pseudocode
  • breaks all other architectures except ia32
  • breaks almost all existing drivers
  • breaks switching between uspace and kernel drivers
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/ipc/irq.h

    r0cb9fa0 rcecb0789  
    3737
    3838/** Maximum length of IPC IRQ program */
    39 #define IRQ_MAX_PROG_SIZE       10
     39#define IRQ_MAX_PROG_SIZE       20
    4040
    4141#include <ipc/ipc.h>
     
    4444#include <adt/list.h>
    4545
    46 extern int ipc_irq_register(answerbox_t *box, inr_t inr, devno_t devno,
    47     unative_t method, irq_code_t *ucode);
    48 extern void ipc_irq_send_notif(irq_t *irq);
    49 extern void ipc_irq_unregister(answerbox_t *box, inr_t inr, devno_t devno);
    50 extern void ipc_irq_cleanup(answerbox_t *box);
     46extern int ipc_irq_register(answerbox_t *, inr_t, devno_t, unative_t,
     47    irq_code_t *);
     48
     49extern irq_ownership_t ipc_irq_top_half_claim(irq_t *);
     50extern void ipc_irq_top_half_handler(irq_t *);
     51
     52extern int ipc_irq_unregister(answerbox_t *, inr_t, devno_t);
     53extern void ipc_irq_cleanup(answerbox_t *);
    5154
    5255/*
     
    6770    ipc_irq_send_msg((irq), (a1), (a2), (a3), (a4), (a5))
    6871
    69 extern void ipc_irq_send_msg(irq_t *irq, unative_t a1, unative_t a2,
    70     unative_t a3, unative_t a4, unative_t a5);
     72extern void ipc_irq_send_msg(irq_t *, unative_t, unative_t, unative_t, unative_t,
     73    unative_t);
    7174
    7275#endif
Note: See TracChangeset for help on using the changeset viewer.