Changeset 662 for trunk/kernel/kern/chdev.h
- Timestamp:
- Oct 10, 2020, 4:50:41 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/kern/chdev.h
r657 r662 110 110 111 111 /****************************************************************************************** 112 * This structure defines a chdev descriptor.112 * This structure defines a chdev (channel device) descriptor. 113 113 * This structure is NOT replicated, and can be located in any cluster. 114 * One kernel thread, in charge of handling the commands registered in the waiting queue 115 * of client threads is associated to each chdev descriptor (not for ICU, PIC, IOB). 114 * One server thread is in charge of handling the commands registered in the queue 115 * of clients associated to each chdev descriptor. 116 * 116 117 * For each device type ***, the specific extension is defined in the "dev_***.h" file. 117 118 * 118 119 * NOTE . For most chdevs, the busylock is used to protect the waiting queue changes, 119 * when a thread registerin this queue, or is removed after service.120 * when a client registers in this queue, or is removed after service. 120 121 * . This busylock is also used to protect direct access to the shared 121 122 * kernel TXT0 terminal, that does not use the waiting queue. 122 * . For the NIC chdevs it is also used to protect registration (or removal) of a123 * socket in the list of attached sockets rooted in NIC device extension.123 * . For mostd chdevs, the client waiting queue is an xlist of threads, but it is 124 * a list of sockets for the NIC chdevs. It is unused for ICU, PIC, and IOB. 124 125 *****************************************************************************************/ 125 126 … … 142 143 uint32_t irq_id; /*! associated IRQ index in local ICU */ 143 144 144 xlist_entry_t wait_root; /*! root of client threads waiting queue*/145 xlist_entry_t wait_root; /*! root of clients waiting queue */ 145 146 remote_busylock_t wait_lock; /*! lock protecting waiting queue */ 147 uint32_t wait_nr; /*! number of registered clients (NIC only) */ 146 148 147 149 union
Note: See TracChangeset
for help on using the changeset viewer.