Changeset a35b458 in mainline for kernel/generic/include
- Timestamp:
- 2018-03-02T20:10:49Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f1380b7
- Parents:
- 3061bc1
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:38:31)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-02 20:10:49)
- Location:
- kernel/generic/include
- Files:
-
- 29 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/adt/avl.h
r3061bc1 ra35b458 69 69 */ 70 70 struct avltree_node *lft; 71 71 72 72 /** 73 73 * Pointer to the right descendant of this node. … … 77 77 */ 78 78 struct avltree_node *rgt; 79 79 80 80 /** Pointer to the parent node. Root node has NULL parent. */ 81 81 struct avltree_node *par; 82 82 83 83 /** Node's key. */ 84 84 avltree_key_t key; 85 85 86 86 /** 87 87 * Difference between the heights of the left and the right subtree of -
kernel/generic/include/adt/bitmap.h
r3061bc1 ra35b458 54 54 if (element >= bitmap->elements) 55 55 return; 56 56 57 57 size_t byte = element / BITMAP_ELEMENT; 58 58 uint8_t mask = 1 << (element & BITMAP_REMAINER); 59 59 60 60 if (value) { 61 61 bitmap->bits[byte] |= mask; … … 70 70 if (element >= bitmap->elements) 71 71 return 0; 72 72 73 73 size_t byte = element / BITMAP_ELEMENT; 74 74 uint8_t mask = 1 << (element & BITMAP_REMAINER); 75 75 76 76 return !!((bitmap->bits)[byte] & mask); 77 77 } -
kernel/generic/include/adt/btree.h
r3061bc1 ra35b458 60 60 */ 61 61 void *value[BTREE_MAX_KEYS + 1]; 62 62 63 63 /** 64 64 * Pointers to descendants of this node sorted according to the key -
kernel/generic/include/adt/cht.h
r3061bc1 ra35b458 95 95 /** Item specific operations. */ 96 96 cht_ops_t *op; 97 97 98 98 /** Buckets currently in use. */ 99 99 cht_buckets_t *b; … … 120 120 */ 121 121 atomic_t resize_reqs; 122 122 123 123 /** Number of items in the table that have not been logically deleted. */ 124 124 atomic_t item_cnt; -
kernel/generic/include/adt/hash_table.h
r3061bc1 ra35b458 51 51 /** Returns the hash of the key stored in the item (ie its lookup key). */ 52 52 size_t (*hash)(const ht_link_t *item); 53 53 54 54 /** Returns the hash of the key. */ 55 55 size_t (*key_hash)(void *key); 56 56 57 57 /** True if the items are equal (have the same lookup keys). */ 58 58 bool (*equal)(const ht_link_t *item1, const ht_link_t *item2); -
kernel/generic/include/adt/list.h
r3061bc1 ra35b458 231 231 link->prev->next = link->next; 232 232 } 233 233 234 234 link_initialize(link); 235 235 } … … 314 314 part1->prev->next = part2; 315 315 part2->prev->next = part1; 316 316 317 317 link_t *hlp = part1->prev; 318 318 319 319 part1->prev = part2->prev; 320 320 part2->prev = hlp; … … 378 378 { 379 379 unsigned long cnt = 0; 380 380 381 381 link_t *link = list_first(list); 382 382 while (link != NULL) { 383 383 if (cnt == n) 384 384 return link; 385 385 386 386 cnt++; 387 387 link = list_next(link, list); 388 388 } 389 389 390 390 return NULL; 391 391 } -
kernel/generic/include/bitops.h
r3061bc1 ra35b458 54 54 { 55 55 uint8_t n = 0; 56 56 57 57 if (arg >> 16) { 58 58 arg >>= 16; 59 59 n += 16; 60 60 } 61 61 62 62 if (arg >> 8) { 63 63 arg >>= 8; 64 64 n += 8; 65 65 } 66 66 67 67 if (arg >> 4) { 68 68 arg >>= 4; 69 69 n += 4; 70 70 } 71 71 72 72 if (arg >> 2) { 73 73 arg >>= 2; 74 74 n += 2; 75 75 } 76 76 77 77 if (arg >> 1) 78 78 n += 1; 79 79 80 80 return n; 81 81 } … … 89 89 { 90 90 uint8_t n = 0; 91 91 92 92 if (arg >> 32) { 93 93 arg >>= 32; 94 94 n += 32; 95 95 } 96 96 97 97 return n + fnzb32((uint32_t) arg); 98 98 } -
kernel/generic/include/config.h
r3061bc1 ra35b458 82 82 /** Number of processors that are up and running. */ 83 83 volatile size_t cpu_active; 84 84 85 85 uintptr_t base; 86 86 /** Size of memory in bytes taken by kernel and stack. */ 87 87 size_t kernel_size; 88 88 89 89 /** Base adddress of initial stack. */ 90 90 uintptr_t stack_base; 91 91 /** Size of initial stack. */ 92 92 size_t stack_size; 93 93 94 94 bool identity_configured; 95 95 /** Base address of the kernel identity mapped memory. */ … … 97 97 /** Size of the kernel identity mapped memory. */ 98 98 size_t identity_size; 99 99 100 100 bool non_identity_configured; 101 101 102 102 /** End of physical memory. */ 103 103 uint64_t physmem_end; -
kernel/generic/include/console/chardev.h
r3061bc1 ra35b458 56 56 /** Read character directly from device, assume interrupts disabled. */ 57 57 wchar_t (* poll)(struct indev *); 58 58 59 59 /** Signal out-of-band condition. */ 60 60 void (* signal)(struct indev *, indev_signal_t); … … 65 65 const char *name; 66 66 waitq_t wq; 67 67 68 68 /** Protects everything below. */ 69 69 IRQ_SPINLOCK_DECLARE(lock); 70 70 wchar_t buffer[INDEV_BUFLEN]; 71 71 size_t counter; 72 72 73 73 /** Implementation of indev operations. */ 74 74 indev_operations_t *op; … … 83 83 /** Write character to output. */ 84 84 void (* write)(struct outdev *, wchar_t); 85 85 86 86 /** Redraw any previously cached characters. */ 87 87 void (* redraw)(struct outdev *); 88 88 89 89 /** Scroll up in the device cache. */ 90 90 void (* scroll_up)(struct outdev *); 91 91 92 92 /** Scroll down in the device cache. */ 93 93 void (* scroll_down)(struct outdev *); … … 97 97 typedef struct outdev { 98 98 const char *name; 99 99 100 100 /** Protects everything below. */ 101 101 SPINLOCK_DECLARE(lock); 102 102 103 103 /** Fields suitable for multiplexing. */ 104 104 link_t link; 105 105 list_t list; 106 106 107 107 /** Implementation of outdev operations. */ 108 108 outdev_operations_t *op; -
kernel/generic/include/cpu.h
r3061bc1 ra35b458 54 54 typedef struct cpu { 55 55 IRQ_SPINLOCK_DECLARE(lock); 56 56 57 57 tlb_shootdown_msg_t tlb_messages[TLB_MESSAGE_QUEUE_LEN]; 58 58 size_t tlb_messages_count; 59 59 60 60 context_t saved_context; 61 61 62 62 atomic_t nrdy; 63 63 runq_t rq[RQ_COUNT]; 64 64 volatile size_t needs_relink; 65 65 66 66 IRQ_SPINLOCK_DECLARE(timeoutlock); 67 67 list_t timeout_active_list; 68 68 69 69 /** 70 70 * When system clock loses a tick, it is … … 75 75 */ 76 76 size_t missed_clock_ticks; 77 77 78 78 /** 79 79 * Processor cycle accounting. … … 83 83 uint64_t idle_cycles; 84 84 uint64_t busy_cycles; 85 85 86 86 /** 87 87 * Processor ID assigned by kernel. 88 88 */ 89 89 unsigned int id; 90 90 91 91 bool active; 92 92 volatile bool tlb_active; 93 93 94 94 uint16_t frequency_mhz; 95 95 uint32_t delay_loop_const; 96 96 97 97 cpu_arch_t arch; 98 98 99 99 struct thread *fpu_owner; 100 100 101 101 /** 102 102 * SMP calls to invoke on this CPU. … … 104 104 SPINLOCK_DECLARE(smp_calls_lock); 105 105 list_t smp_pending_calls; 106 106 107 107 /** RCU per-cpu data. Uses own locking. */ 108 108 rcu_cpu_data_t rcu; 109 109 110 110 /** 111 111 * Stack used by scheduler when there is no running thread. -
kernel/generic/include/ddi/ddi.h
r3061bc1 ra35b458 44 44 typedef struct { 45 45 link_t link; /**< Linked list link */ 46 46 47 47 uintptr_t pbase; /**< Physical base of the area. */ 48 48 pfn_t frames; /**< Number of frames in the area. */ -
kernel/generic/include/ddi/irq.h
r3061bc1 ra35b458 93 93 /** Hash table link. */ 94 94 ht_link_t link; 95 95 96 96 /** Lock protecting everything in this structure 97 97 * except the link member. When both the IRQ … … 100 100 */ 101 101 IRQ_SPINLOCK_DECLARE(lock); 102 102 103 103 /** Send EOI before processing the interrupt. 104 104 * This is essential for timer interrupt which … … 108 108 */ 109 109 bool preack; 110 110 111 111 /** Actual IRQ number. -1 if not yet assigned. */ 112 112 inr_t inr; … … 119 119 /** Instance argument for the handler and the claim function. */ 120 120 void *instance; 121 121 122 122 /** Clear interrupt routine. */ 123 123 cir_t cir; 124 124 /** First argument to the clear interrupt routine. */ 125 125 void *cir_arg; 126 126 127 127 /** Notification configuration structure. */ 128 128 ipc_notif_cfg_t notif_cfg; -
kernel/generic/include/ipc/event.h
r3061bc1 ra35b458 48 48 typedef struct { 49 49 SPINLOCK_DECLARE(lock); 50 50 51 51 /** Answerbox for notifications. */ 52 52 answerbox_t *answerbox; … … 55 55 /** Counter. */ 56 56 size_t counter; 57 57 58 58 /** Masked flag. */ 59 59 bool masked; -
kernel/generic/include/ipc/ipc.h
r3061bc1 ra35b458 77 77 /** Answerbox is active until it enters cleanup. */ 78 78 bool active; 79 79 80 80 struct task *task; 81 81 82 82 waitq_t wq; 83 83 84 84 /** Phones connected to this answerbox. */ 85 85 list_t connected_phones; … … 87 87 list_t calls; 88 88 list_t dispatched_calls; /* Should be hash table in the future */ 89 89 90 90 /** Answered calls. */ 91 91 list_t answers; 92 92 93 93 IRQ_SPINLOCK_DECLARE(irq_lock); 94 94 95 95 /** Notifications from IRQ handlers. */ 96 96 list_t irq_notifs; … … 126 126 /** Answerbox link. */ 127 127 link_t ab_link; 128 128 129 129 unsigned int flags; 130 130 … … 145 145 /** True if the call is in the active list. */ 146 146 bool active; 147 147 148 148 /** 149 149 * Identification of the caller. … … 151 151 */ 152 152 struct task *sender; 153 153 154 154 /* 155 155 * Answerbox that will receive the answer. … … 161 161 /** Phone which was used to send the call. */ 162 162 phone_t *caller_phone; 163 163 164 164 /** Private data to internal IPC. */ 165 165 sysarg_t priv; 166 166 167 167 /** Data passed from/to userspace. */ 168 168 ipc_data_t data; -
kernel/generic/include/macros.h
r3061bc1 ra35b458 62 62 if (sz2) 63 63 return ((s1 >= s2) && (s1 <= e2)); 64 64 65 65 if (sz1) 66 66 return ((s2 >= s1) && (s2 <= e1)); … … 87 87 if (sz1 == 0) 88 88 return (s1 == s2) && (sz2 == 0); 89 89 90 90 e1 = s1 + sz1 - 1; 91 91 if (sz2 == 0) 92 92 return (s1 <= s2) && (s2 <= e1); 93 93 94 94 e2 = s2 + sz2 - 1; 95 95 -
kernel/generic/include/mm/as.h
r3061bc1 ra35b458 94 94 /** Protected by asidlock. */ 95 95 link_t inactive_as_with_asid_link; 96 96 97 97 /** 98 98 * Number of processors on which this … … 101 101 */ 102 102 size_t cpu_refcount; 103 103 104 104 /** Address space identifier. 105 105 * … … 109 109 */ 110 110 asid_t asid; 111 111 112 112 /** Number of references (i.e. tasks that reference this as). */ 113 113 atomic_t refcount; 114 114 115 115 mutex_t lock; 116 116 117 117 /** B+tree of address space areas. */ 118 118 btree_t as_area_btree; 119 119 120 120 /** Non-generic content. */ 121 121 as_genarch_t genarch; 122 122 123 123 /** Architecture specific content. */ 124 124 as_arch_t arch; … … 178 178 elf_segment_header_t *segment; 179 179 }; 180 180 181 181 /** phys_backend members */ 182 182 struct { … … 200 200 typedef struct { 201 201 mutex_t lock; 202 202 203 203 /** Containing address space. */ 204 204 as_t *as; 205 205 206 206 /** Memory flags. */ 207 207 unsigned int flags; 208 208 209 209 /** Address space area attributes. */ 210 210 unsigned int attributes; 211 211 212 212 /** Number of pages in the area. */ 213 213 size_t pages; 214 214 215 215 /** Number of resident pages in the area. */ 216 216 size_t resident; 217 217 218 218 /** Base address of this area. */ 219 219 uintptr_t base; 220 220 221 221 /** Map of used space. */ 222 222 btree_t used_space; 223 223 224 224 /** 225 225 * If the address space area is shared. this is … … 227 227 */ 228 228 share_info_t *sh_info; 229 229 230 230 /** Memory backend backing this address space area. */ 231 231 struct mem_backend *backend; 232 232 233 233 /** Data to be used by the backend. */ 234 234 mem_backend_data_t backend_data; -
kernel/generic/include/mm/frame.h
r3061bc1 ra35b458 97 97 /** Frame_no of the first frame in the frames array */ 98 98 pfn_t base; 99 99 100 100 /** Size of zone */ 101 101 size_t count; 102 102 103 103 /** Number of free frame_t structures */ 104 104 size_t free_count; 105 105 106 106 /** Number of busy frame_t structures */ 107 107 size_t busy_count; 108 108 109 109 /** Type of the zone */ 110 110 zone_flags_t flags; 111 111 112 112 /** Frame bitmap */ 113 113 bitmap_t bitmap; 114 114 115 115 /** Array of frame_t structures in this zone */ 116 116 frame_t *frames; -
kernel/generic/include/mm/slab.h
r3061bc1 ra35b458 86 86 typedef struct { 87 87 const char *name; 88 88 89 89 link_t link; 90 90 91 91 /* Configuration */ 92 92 93 93 /** Size of slab position - align_up(sizeof(obj)) */ 94 94 size_t size; 95 95 96 96 errno_t (*constructor)(void *obj, unsigned int kmflag); 97 97 size_t (*destructor)(void *obj); 98 98 99 99 /** Flags changing behaviour of cache */ 100 100 unsigned int flags; 101 101 102 102 /* Computed values */ 103 103 size_t frames; /**< Number of frames to be allocated */ 104 104 size_t objects; /**< Number of objects that fit in */ 105 105 106 106 /* Statistics */ 107 107 atomic_t allocated_slabs; … … 110 110 /** How many magazines in magazines list */ 111 111 atomic_t magazine_counter; 112 112 113 113 /* Slabs */ 114 114 list_t full_slabs; /**< List of full slabs */ … … 118 118 list_t magazines; /**< List o full magazines */ 119 119 IRQ_SPINLOCK_DECLARE(maglock); 120 120 121 121 /** CPU cache */ 122 122 slab_mag_cache_t *mag_cache; -
kernel/generic/include/printf/printf_core.h
r3061bc1 ra35b458 43 43 /* String output function, returns number of printed characters or EOF */ 44 44 int (*str_write)(const char *, size_t, void *); 45 45 46 46 /* Wide string output function, returns number of printed characters or EOF */ 47 47 int (*wstr_write)(const wchar_t *, size_t, void *); 48 48 49 49 /* User data - output stream specification, state, locks, etc. */ 50 50 void *data; -
kernel/generic/include/proc/task.h
r3061bc1 ra35b458 73 73 /** Task's linkage for the tasks_tree AVL tree. */ 74 74 avltree_node_t tasks_tree_node; 75 75 76 76 /** Task lock. 77 77 * … … 80 80 */ 81 81 IRQ_SPINLOCK_DECLARE(lock); 82 82 83 83 char name[TASK_NAME_BUFLEN]; 84 84 /** List of threads contained in this task. */ … … 90 90 /** Task security container. */ 91 91 container_id_t container; 92 92 93 93 /** Number of references (i.e. threads). */ 94 94 atomic_t refcount; 95 95 /** Number of threads that haven't exited yet. */ 96 96 atomic_t lifecount; 97 97 98 98 /** Task permissions. */ 99 99 perm_t perms; … … 101 101 /** Capabilities */ 102 102 cap_info_t *cap_info; 103 103 104 104 /* IPC stuff */ 105 105 … … 120 120 /** IPC statistics */ 121 121 stats_ipc_t ipc_info; 122 122 123 123 #ifdef CONFIG_UDEBUG 124 124 /** Debugging stuff. */ 125 125 udebug_task_t udebug; 126 126 127 127 /** Kernel answerbox. */ 128 128 kbox_t kb; 129 129 #endif /* CONFIG_UDEBUG */ 130 130 131 131 /** Architecture specific task data. */ 132 132 task_arch_t arch; 133 133 134 134 struct futex_cache { 135 135 /** CHT mapping virtual addresses of futex variables to futex objects.*/ … … 141 141 work_t destroy_work; 142 142 } *futexes; 143 143 144 144 /** Accumulated accounting. */ 145 145 uint64_t ucycles; -
kernel/generic/include/proc/thread.h
r3061bc1 ra35b458 75 75 link_t wq_link; /**< Wait queue link. */ 76 76 link_t th_link; /**< Links to threads within containing task. */ 77 77 78 78 /** Threads linkage to the threads_tree. */ 79 79 avltree_node_t threads_tree_node; 80 80 81 81 /** Lock protecting thread structure. 82 82 * … … 84 84 */ 85 85 IRQ_SPINLOCK_DECLARE(lock); 86 86 87 87 char name[THREAD_NAME_BUFLEN]; 88 88 89 89 /** Function implementing the thread. */ 90 90 void (*thread_code)(void *); 91 91 /** Argument passed to thread_code() function. */ 92 92 void *thread_arg; 93 93 94 94 /** 95 95 * From here, the stored context is restored … … 97 97 */ 98 98 context_t saved_context; 99 99 100 100 /** 101 101 * From here, the stored timeout context … … 103 103 */ 104 104 context_t sleep_timeout_context; 105 105 106 106 /** 107 107 * From here, the stored interruption context … … 109 109 */ 110 110 context_t sleep_interruption_context; 111 111 112 112 /** If true, the thread can be interrupted from sleep. */ 113 113 bool sleep_interruptible; … … 118 118 /** Flag signalling sleep timeout in progress. */ 119 119 volatile bool timeout_pending; 120 120 121 121 /** 122 122 * True if this thread is executing copy_from_uspace(). … … 124 124 */ 125 125 bool in_copy_from_uspace; 126 126 127 127 /** 128 128 * True if this thread is executing copy_to_uspace(). … … 130 130 */ 131 131 bool in_copy_to_uspace; 132 132 133 133 /** 134 134 * If true, the thread will not go to sleep at all and will call … … 136 136 */ 137 137 bool interrupted; 138 138 139 139 /** If true, thread_join_timeout() cannot be used on this thread. */ 140 140 bool detached; … … 143 143 /** Link used in the joiner_head list. */ 144 144 link_t joiner_link; 145 145 146 146 fpu_context_t *saved_fpu_context; 147 147 bool fpu_context_exists; 148 148 149 149 /* 150 150 * Defined only if thread doesn't run. … … 153 153 */ 154 154 bool fpu_context_engaged; 155 155 156 156 /* The thread will not be migrated if nomigrate is non-zero. */ 157 157 unsigned int nomigrate; 158 158 159 159 /** Thread state. */ 160 160 state_t state; 161 161 162 162 /** Thread CPU. */ 163 163 cpu_t *cpu; … … 170 170 /** Thread is executed in user space. */ 171 171 bool uspace; 172 172 173 173 /** Ticks before preemption. */ 174 174 uint64_t ticks; 175 175 176 176 /** Thread accounting. */ 177 177 uint64_t ucycles; … … 181 181 /** Thread doesn't affect accumulated accounting. */ 182 182 bool uncounted; 183 183 184 184 /** Thread's priority. Implemented as index to CPU->rq */ 185 185 int priority; … … 195 195 /** True if the worker will block in order to become idle. Use workq->lock. */ 196 196 bool workq_idling; 197 197 198 198 /** RCU thread related data. Protected by its own locks. */ 199 199 rcu_thread_data_t rcu; 200 200 201 201 /** Architecture-specific data. */ 202 202 thread_arch_t arch; 203 203 204 204 /** Thread's kernel stack. */ 205 205 uint8_t *kstack; 206 206 207 207 #ifdef CONFIG_UDEBUG 208 208 /** … … 211 211 */ 212 212 bool btrace; 213 213 214 214 /** Debugging stuff */ 215 215 udebug_thread_t udebug; -
kernel/generic/include/synch/rcu.h
r3061bc1 ra35b458 147 147 compiler_barrier(); 148 148 THE->rcu_nesting -= RCU_CNT_INC; 149 149 150 150 if (RCU_WAS_PREEMPTED == THE->rcu_nesting) { 151 151 _rcu_preempted_unlock(); … … 164 164 { 165 165 assert(PREEMPTION_DISABLED || interrupts_disabled()); 166 166 167 167 /* 168 168 * A new GP was started since the last time we passed a QS. … … 225 225 assert(CPU); 226 226 preemption_disable(); 227 227 228 228 if (0 == --CPU->rcu.nesting_cnt) { 229 229 _rcu_record_qs(); 230 230 231 231 /* 232 232 * The thread was preempted while in a critical section or … … 238 238 } 239 239 } 240 240 241 241 preemption_enable(); 242 242 } -
kernel/generic/include/synch/rcu_types.h
r3061bc1 ra35b458 70 70 */ 71 71 bool is_delaying_gp; 72 72 73 73 /** True if we should signal the detector that we exited a reader section. 74 74 * … … 85 85 size_t nesting_cnt; 86 86 #endif 87 87 88 88 /** Callbacks to invoke once the current grace period ends, ie cur_cbs_gp. 89 89 * Accessed by the local reclaimer only. … … 118 118 */ 119 119 rcu_gp_t next_cbs_gp; 120 120 121 121 /** Positive if there are callbacks pending in arriving_cbs. */ 122 122 semaphore_t arrived_flag; 123 123 124 124 /** The reclaimer should expedite GPs for cbs in arriving_cbs. */ 125 125 bool expedite_arriving; 126 126 127 127 /** Protected by global rcu.barrier_mtx. */ 128 128 rcu_item_t barrier_item; 129 129 130 130 /** Interruptable attached reclaimer thread. */ 131 131 struct thread *reclaimer_thr; 132 132 133 133 /* Some statistics. */ 134 134 size_t stat_max_cbs; … … 150 150 151 151 #ifdef RCU_PREEMPT_PODZIMEK 152 152 153 153 /** True if the thread was preempted in a reader section. 154 154 * … … 160 160 bool was_preempted; 161 161 #endif 162 162 163 163 /** Preempted threads link. Access with rcu.prempt_lock.*/ 164 164 link_t preempt_link; -
kernel/generic/include/synch/spinlock.h
r3061bc1 ra35b458 47 47 typedef struct spinlock { 48 48 atomic_t val; 49 49 50 50 #ifdef CONFIG_DEBUG_SPINLOCK 51 51 const char *name; … … 130 130 */ 131 131 CS_LEAVE_BARRIER(); 132 132 133 133 atomic_set(&lock->val, 0); 134 134 preemption_enable(); -
kernel/generic/include/synch/waitq.h
r3061bc1 ra35b458 55 55 */ 56 56 IRQ_SPINLOCK_DECLARE(lock); 57 57 58 58 /** 59 59 * Number of waitq_wakeup() calls that didn't find a thread to wake up. … … 61 61 */ 62 62 int missed_wakeups; 63 63 64 64 /** List of sleeping threads for which there was no missed_wakeup. */ 65 65 list_t sleepers; -
kernel/generic/include/synch/workqueue.h
r3061bc1 ra35b458 49 49 link_t queue_link; 50 50 work_func_t func; 51 51 52 52 #ifdef CONFIG_DEBUG 53 53 /* Magic number for integrity checks. */ -
kernel/generic/include/sysinfo/sysinfo.h
r3061bc1 ra35b458 137 137 typedef struct sysinfo_item { 138 138 char *name; /**< Item name */ 139 139 140 140 sysinfo_item_val_type_t val_type; /**< Item value type */ 141 141 sysinfo_item_val_t val; /**< Item value */ 142 142 143 143 sysinfo_subtree_type_t subtree_type; /**< Subtree type */ 144 144 sysinfo_subtree_t subtree; /**< Subtree */ 145 145 146 146 struct sysinfo_item *next; /**< Sibling item */ 147 147 } sysinfo_item_t; -
kernel/generic/include/time/timeout.h
r3061bc1 ra35b458 44 44 typedef struct { 45 45 IRQ_SPINLOCK_DECLARE(lock); 46 46 47 47 /** Link to the list of active timeouts on THE->cpu */ 48 48 link_t link; -
kernel/generic/include/udebug/udebug.h
r3061bc1 ra35b458 58 58 mutex_t lock; 59 59 char *lock_owner; 60 60 61 61 udebug_task_state_t dt_state; 62 62 call_t *begin_call; … … 71 71 /** Synchronize debug ops on this thread / access to this structure. */ 72 72 mutex_t lock; 73 73 74 74 waitq_t go_wq; 75 75 call_t *go_call; 76 76 sysarg_t syscall_args[6]; 77 77 istate_t *uspace_state; 78 78 79 79 /** What type of event are we stopped in or 0 if none. */ 80 80 udebug_event_t cur_event;
Note:
See TracChangeset
for help on using the changeset viewer.