/barrelfish-2018-10-04/kernel/include/ |
H A D | schedule.h | 19 struct dcb *schedule(void); 23 void make_runnable(struct dcb *dcb); 27 void schedule_now(struct dcb *dcb); 30 * \brief Remove 'dcb' from scheduler ring. 32 * Removes dispatcher 'dcb' from the scheduler ring. If it was not in 34 * function is that dcb is not in the ring. 36 * \param dcb Pointer to DCB to remove. 40 void scheduler_remove(struct dcb *dc [all...] |
H A D | wakeup.h | 14 void wakeup_set_queue_head(struct dcb *h); 15 void wakeup_remove(struct dcb *dcb); 16 void wakeup_set(struct dcb *dcb, systime_t waketime);
|
H A D | dispatch.h | 39 struct dcb { struct 51 struct dcb *wakeup_prev, *wakeup_next; ///< Next/prev in timeout queue 53 struct dcb *next; ///< Next DCB in schedule 54 struct dcb *prev; ///< Previous DCB in schedule 64 static inline const char *get_disp_name(struct dcb *dcb) argument 67 get_dispatcher_shared_generic(dcb->disp); 71 void context_switch(struct dcb *dcb); 74 extern struct dcb *dcb_curren [all...] |
H A D | kcb.h | 24 struct dcb; 56 struct dcb *ring_current; 58 struct dcb *queue_head, *queue_tail; 63 struct dcb *wakeup_queue_head; 95 extern struct dcb *queue_tail;
|
H A D | sys_debug.h | 31 debug_print_cababilities(struct dcb *dispatcher);
|
/barrelfish-2018-10-04/kernel/arch/x86_64/ |
H A D | dispatch.c | 19 * \brief Switch context to 'dcb'. 21 * Switch to the dispatcher pointed to by 'dcb'. Sets 'dcb_current'. 23 * \param dcb Pointer to dispatcher to which to switch context. 25 void context_switch(struct dcb *dcb) argument 27 assert(dcb != NULL); 28 assert(dcb->vspace != 0); 31 if (!dcb->is_vm_guest) { 32 assert(dcb->disp != 0); 35 paging_context_switch(dcb [all...] |
H A D | vmkit.c | 38 vmkit_vmexec (struct dcb *dcb, lvaddr_t entry) argument 40 dispatcher_handle_t handle = dcb->disp; 42 lpaddr_t lpaddr = gen_phys_to_local_phys(dcb->guest_desc.ctrl.cap.u.frame.base); 47 lpaddr = gen_phys_to_local_phys(dcb->guest_desc.vmcb.cap.u.frame.base); 57 svm_vmkit_vmenter(dcb); 64 vmx_vmkit_vmenter(dcb); 69 vmkit_vmenter (struct dcb *dcb) argument 72 svm_vmkit_vmenter(dcb); [all...] |
H A D | svm_vmkit.c | 105 vm_exec (struct dcb *dcb) argument 107 lpaddr_t lpaddr = gen_phys_to_local_phys(dcb->guest_desc.ctrl.cap.u.frame.base); 132 : "a" (dcb->guest_desc.vmcb.cap.u.frame.base) 150 : "a" (dcb->guest_desc.vmcb.cap.u.frame.base) 184 vmkit_switch_to (struct dcb *dcb) argument 186 assert(dcb != NULL); 187 assert(dcb->is_vm_guest); 192 vmload(gen_phys_to_local_phys(dcb 196 vmkit_switch_from(struct dcb *dcb) argument 213 svm_vmkit_vmenter(struct dcb *dcb) argument [all...] |
/barrelfish-2018-10-04/kernel/arch/x86_32/ |
H A D | dispatch.c | 19 * \brief Switch context to 'dcb'. 21 * Switch to the dispatcher pointed to by 'dcb'. Sets 'dcb_current'. 23 * \param dcb Pointer to dispatcher to which to switch context. 26 context_switch(struct dcb *dcb) { argument 28 get_dispatcher_shared_generic(dcb->disp); 30 assert(dcb != NULL); 31 assert(dcb->vspace != 0); 34 if (!dcb->is_vm_guest) { 35 assert(dcb [all...] |
/barrelfish-2018-10-04/kernel/include/arch/x86_64/ |
H A D | vmkit.h | 26 void __attribute__ ((noreturn)) vmkit_vmenter (struct dcb *dcb); 27 void __attribute__ ((noreturn)) vmkit_vmexec (struct dcb *dcb, lvaddr_t entry);
|
H A D | svm_vmkit.h | 30 void __attribute__ ((noreturn)) svm_vmkit_vmenter (struct dcb *dcb);
|
H A D | misc.h | 21 void maybe_reload_ldt(struct dcb *dcb, bool force_reload);
|
/barrelfish-2018-10-04/kernel/arch/armv7/ |
H A D | dispatch.c | 20 * \brief Switch context to 'dcb'. 22 * Switch to the dispatcher pointed to by 'dcb'. Sets 'dcb_current'. 24 * \param dcb Pointer to dispatcher to which to switch context. 27 context_switch(struct dcb *dcb) { argument 29 get_dispatcher_shared_generic(dcb->disp); 31 assert(dcb != NULL); 32 assert(dcb->vspace != 0); 35 if (!dcb->is_vm_guest) { 36 assert(dcb [all...] |
/barrelfish-2018-10-04/kernel/arch/armv8/ |
H A D | dispatch.c | 20 * \brief Switch context to 'dcb'. 22 * Switch to the dispatcher pointed to by 'dcb'. Sets 'dcb_current'. 24 * \param dcb Pointer to dispatcher to which to switch context. 27 context_switch(struct dcb *dcb) { argument 29 get_dispatcher_shared_generic(dcb->disp); 31 assert(dcb != NULL); 32 assert(dcb->vspace != 0); 35 if (!dcb->is_vm_guest) { 36 assert(dcb [all...] |
/barrelfish-2018-10-04/kernel/ |
H A D | schedule_rr.c | 26 struct dcb *schedule(void) 43 void make_runnable(struct dcb *dcb) argument 46 if(dcb->prev == NULL || dcb->next == NULL) { 47 assert(dcb->prev == NULL && dcb->next == NULL); 51 kcb_current->ring_current = dcb; 52 dcb->next = dcb; 72 scheduler_remove(struct dcb *dcb) argument 108 scheduler_yield(struct dcb *dcb) argument [all...] |
H A D | wakeup.c | 23 void wakeup_set_queue_head(struct dcb *h) 27 // we changed the first dcb in the wakeup queue, which means 33 static inline void set_queue_head(struct dcb *h) 38 void wakeup_remove(struct dcb *dcb) argument 40 if (dcb->wakeup_time != 0) { 41 if (dcb->wakeup_prev == NULL) { 42 assert(kcb_current->wakeup_queue_head == dcb); 43 set_queue_head(dcb->wakeup_next); 45 assert(dcb 59 wakeup_set(struct dcb *dcb, systime_t waketime) argument [all...] |
H A D | schedule_rbed.c | 77 struct dcb *queue_tail = NULL; 80 static struct dcb *lastdisp = NULL; 83 * \brief Returns whether dcb is in scheduling queue. 84 * \param dcb Pointer to DCB to check. 87 static inline bool in_queue(struct dcb *dcb) argument 89 return dcb->next != NULL || kcb_current->queue_tail == dcb; 92 static inline unsigned int u_target(struct dcb *dcb) argument 97 u_actual_srt(struct dcb *dcb) argument 106 deadline(struct dcb *dcb) argument 111 queue_insert(struct dcb *dcb) argument 167 queue_remove(struct dcb *dcb) argument 231 do_resource_allocation(struct dcb *dcb) argument 278 set_best_effort_wcet(struct dcb *dcb) argument 410 struct dcb *dcb = todisp; local 426 schedule_now(struct dcb *dcb) argument 435 make_runnable(struct dcb *dcb) argument 503 scheduler_remove(struct dcb *dcb) argument 543 scheduler_yield(struct dcb *dcb) argument [all...] |
H A D | dispatch.c | 53 struct dcb *dcb_current = NULL; 60 void __attribute__ ((noreturn)) dispatch(struct dcb *dcb) argument 64 if (dcb == NULL) { 70 if (dcb_current != dcb) { 75 (uint32_t)(lvaddr_t)dcb & 0xFFFFFFFF); 78 context_switch(dcb); 79 dcb_current = dcb; 82 assert(dcb != NULL); 84 dispatcher_handle_t handle = dcb [all...] |
H A D | sys_debug.c | 84 struct dcb *my_dcb = (struct dcb *) data; 114 struct dcb *dcb = dispatcher->cap.u.dispatcher.dcb; local 115 dispatcher_handle_t handle = dcb->disp; 119 if (my_dcb == dcb) { 155 debug_print_cababilities(struct dcb *dispatcher) {
|
H A D | syscall.c | 54 struct dcb *dcb = to->u.dispatcher.dcb; local 55 assert(dcb != dcb_current); 61 assert(dcb->is_vm_guest); 65 if (!dcb->is_vm_guest || vptr != 0x0 || dptr != 0x0 || odptr != 0x0) { 70 dcb->disabled = 1; 71 make_runnable(dcb); 76 assert(!dcb->is_vm_guest); 97 err = caps_copy_to_cte(&dcb 196 struct dcb *dcb = to->u.dispatcher.dcb; local [all...] |
/barrelfish-2018-10-04/tools/schedsim/ |
H A D | simulator.c | 55 struct dcb { struct 60 struct dcb *next; ///< Next DCB in schedule 75 struct dcb *queue_head, *queue_tail; 104 static struct dcb *dcb_current = NULL; 114 static struct dcb *sched, **allptrs; 116 static void init_dcb(struct dcb *dcb, int id) argument 118 dcb->disp = (uintptr_t)&dcb->dsg; 119 dcb 193 struct dcb *dcb = malloc(sizeof(struct dcb)); local 212 struct dcb *dcb = malloc(sizeof(struct dcb)); local 224 struct dcb *dcb = malloc(sizeof(struct dcb)); local [all...] |
/barrelfish-2018-10-04/kernel/arch/arm/ |
H A D | gdb_arch.c | 40 struct dcb; 41 extern void __attribute__ ((noreturn)) vmkit_vmenter (struct dcb *dcb); 42 void vmkit_vmenter(struct dcb *dcb) { dbg_break(); for(;;); } argument
|
/barrelfish-2018-10-04/kernel/include/arch/armv7/ |
H A D | startup_arch.h | 36 struct dcb *spawn_bsp_init(const char *name); 38 struct dcb *spawn_app_init(struct arm_core_data *core_data, const char *name);
|
/barrelfish-2018-10-04/kernel/include/arch/armv8/ |
H A D | startup_arch.h | 38 struct dcb *spawn_bsp_init(const char *name); 40 struct dcb *spawn_app_init(struct armv8_core_data *core_data, const char *name);
|
/barrelfish-2018-10-04/usr/arrakismon/ |
H A D | ps.h | 34 struct capref rootcn_cap, dcb; member in struct:ps_entry
|