Changeset 26e7d6d in mainline for kernel/generic/include/ddi/irq.h
- Timestamp:
- 2011-09-19T16:31:00Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a347a11
- Parents:
- 3842a955 (diff), 086290d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/ddi/irq.h
r3842a955 r26e7d6d 33 33 */ 34 34 35 #ifndef KERN_IRQ_H_ 36 #define KERN_IRQ_H_ 37 38 #ifdef KERNEL 35 #ifndef KERN_DDI_IRQ_H_ 36 #define KERN_DDI_IRQ_H_ 39 37 40 38 #include <typedefs.h> 39 #include <abi/ddi/irq.h> 41 40 #include <adt/list.h> 42 41 #include <adt/hash_table.h> … … 44 43 #include <proc/task.h> 45 44 #include <ipc/ipc.h> 46 47 #endif /* KERNEL */48 49 typedef enum {50 /** Read 1 byte from the I/O space. */51 CMD_PIO_READ_8 = 1,52 /** Read 2 bytes from the I/O space. */53 CMD_PIO_READ_16,54 /** Read 4 bytes from the I/O space. */55 CMD_PIO_READ_32,56 57 /** Write 1 byte to the I/O space. */58 CMD_PIO_WRITE_8,59 /** Write 2 bytes to the I/O space. */60 CMD_PIO_WRITE_16,61 /** Write 4 bytes to the I/O space. */62 CMD_PIO_WRITE_32,63 64 /**65 * Write 1 byte from the source argument66 * to the I/O space.67 */68 CMD_PIO_WRITE_A_8,69 /**70 * Write 2 bytes from the source argument71 * to the I/O space.72 */73 CMD_PIO_WRITE_A_16,74 /**75 * Write 4 bytes from the source argument76 * to the I/O space.77 */78 CMD_PIO_WRITE_A_32,79 80 /** Read 1 byte from the memory space. */81 CMD_MEM_READ_8,82 /** Read 2 bytes from the memory space. */83 CMD_MEM_READ_16,84 /** Read 4 bytes from the memory space. */85 CMD_MEM_READ_32,86 87 /** Write 1 byte to the memory space. */88 CMD_MEM_WRITE_8,89 /** Write 2 bytes to the memory space. */90 CMD_MEM_WRITE_16,91 /** Write 4 bytes to the memory space. */92 CMD_MEM_WRITE_32,93 94 /** Write 1 byte from the source argument to the memory space. */95 CMD_MEM_WRITE_A_8,96 /** Write 2 bytes from the source argument to the memory space. */97 CMD_MEM_WRITE_A_16,98 /** Write 4 bytes from the source argument to the memory space. */99 CMD_MEM_WRITE_A_32,100 101 /**102 * Perform a bit masking on the source argument103 * and store the result into the destination argument.104 */105 CMD_BTEST,106 107 /**108 * Predicate the execution of the following109 * N commands by the boolean value of the source110 * argument.111 */112 CMD_PREDICATE,113 114 /** Accept the interrupt. */115 CMD_ACCEPT,116 117 /** Decline the interrupt. */118 CMD_DECLINE,119 CMD_LAST120 } irq_cmd_type;121 122 typedef struct {123 irq_cmd_type cmd;124 void *addr;125 uint32_t value;126 uintptr_t srcarg;127 uintptr_t dstarg;128 } irq_cmd_t;129 130 typedef struct {131 size_t cmdcount;132 irq_cmd_t *cmds;133 } irq_code_t;134 135 #ifdef KERNEL136 45 137 46 typedef enum { … … 146 55 147 56 struct irq; 57 148 58 typedef void (* irq_handler_t)(struct irq *); 149 59 … … 224 134 /** Notification configuration structure. */ 225 135 ipc_notif_cfg_t notif_cfg; 226 136 227 137 as_t *driver_as; 228 138 } irq_t; … … 238 148 extern irq_t *irq_dispatch_and_lock(inr_t); 239 149 240 #endif /* KERNEL */241 242 150 #endif 243 151
Note:
See TracChangeset
for help on using the changeset viewer.