Changeset 564 for trunk/kernel/kern/chdev.h
- Timestamp:
- Oct 4, 2018, 11:47:36 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/kern/chdev.h
r485 r564 28 28 #include <hal_kernel_types.h> 29 29 #include <xlist.h> 30 #include <remote_ spinlock.h>30 #include <remote_busylock.h> 31 31 #include <dev_iob.h> 32 32 #include <dev_ioc.h> … … 43 43 * ALMOS-MKH supports multi-channels peripherals, and defines one separated chdev 44 44 * descriptor for each channel (and for each RX/TX direction for the NIC and TXT devices). 45 * Each chdev contains a waiting queue, registering the "client threads" requests,45 * Each chdev contains a trans-clusters waiting queue, registering the "client threads", 46 46 * and an associated "server thread", handling these requests. 47 47 * These descriptors are physically distributed on all clusters to minimize contention. … … 116 116 * of client threads is associated to each chdev descriptor (not for ICU, PIC, IOB). 117 117 * For each device type ***, the specific extension is defined in the "dev_***.h" file. 118 * 119 * NOTE : For most chdevs, the busylock is used to protect the waiting queue changes, 120 * when a thread register in this queue, or is removed after service. 121 * This busylock is also used to protect direct access to the kernel TXT0 terminal 122 * (without using the server thread). 118 123 *****************************************************************************************/ 119 124 … … 136 141 uint32_t irq_id; /*! associated IRQ index in local ICU */ 137 142 138 remote_spinlock_t wait_lock; /*! lock protecting exclusive access to queue*/139 xlist_entry_t wait_root; /*! root of waiting threadsqueue */143 xlist_entry_t wait_root; /*! root of client threads waiting queue */ 144 remote_busylock_t wait_lock; /*! lock protecting waiting queue */ 140 145 141 146 union
Note: See TracChangeset
for help on using the changeset viewer.