Searched refs:tcb (Results 1 - 25 of 98) sorted by relevance

1234

/seL4-test-master/kernel/src/model/
H A Dsmp.c9 #include <object/tcb.h>
13 void migrateTCB(tcb_t *tcb, word_t new_core) argument
16 tcbDebugRemove(tcb);
18 Arch_migrateTCB(tcb);
19 tcb->tcbAffinity = new_core;
21 tcbDebugAppend(tcb);
/seL4-test-master/kernel/include/arch/riscv/arch/kernel/
H A Dthread.h12 void Arch_switchToThread(tcb_t *tcb);
14 void Arch_configureIdleThread(tcb_t *tcb);
15 void Arch_activateIdleThread(tcb_t *tcb);
/seL4-test-master/kernel/include/arch/arm/arch/kernel/
H A Dthread.h12 void Arch_switchToThread(tcb_t *tcb);
14 void Arch_configureIdleThread(tcb_t *tcb);
15 void Arch_activateIdleThread(tcb_t *tcb);
/seL4-test-master/kernel/include/object/
H A Dreply.h13 /* Unlink a reply from its tcb */
14 static inline void reply_unlink(reply_t *reply, tcb_t *tcb) argument
16 /* check the tcb and reply are linked correctly */
17 assert(reply->replyTCB == tcb);
18 assert(thread_state_get_replyObject(tcb->tcbState) == REPLY_REF(reply));
20 thread_state_ptr_set_replyObject(&tcb->tcbState, REPLY_REF(0));
22 setThreadState(tcb, ThreadState_Inactive);
28 void reply_pop(reply_t *reply, tcb_t *tcb);
30 void reply_remove(reply_t *reply, tcb_t *tcb);
31 /* Remove a specific tcb, an
[all...]
H A Dnotification.h16 void completeSignal(notification_t *ntfnPtr, tcb_t *tcb);
18 void unbindNotification(tcb_t *tcb);
19 void bindNotification(tcb_t *tcb, notification_t *ntfnPtr);
23 static inline void maybeReturnSchedContext(notification_t *ntfnPtr, tcb_t *tcb) argument
27 if (sc == tcb->tcbSchedContext) {
28 tcb->tcbSchedContext = NULL;
32 if (tcb == NODE_STATE(ksCurThread)) {
H A Dtcb.h17 /* Maximum length of the tcb name, including null terminator */
44 void tcbSchedEnqueue(tcb_t *tcb);
45 void tcbSchedAppend(tcb_t *tcb);
46 void tcbSchedDequeue(tcb_t *tcb);
49 void tcbDebugAppend(tcb_t *tcb);
50 void tcbDebugRemove(tcb_t *tcb);
53 void tcbReleaseRemove(tcb_t *tcb);
54 void tcbReleaseEnqueue(tcb_t *tcb);
59 void remoteQueueUpdate(tcb_t *tcb);
60 void remoteTCBStall(tcb_t *tcb);
82 tcbEPAppend(tcb_t *tcb, tcb_queue_t queue) argument
[all...]
/seL4-test-master/kernel/src/arch/riscv/kernel/
H A Dthread.c18 void Arch_switchToThread(tcb_t *tcb) argument
20 setVMRoot(tcb);
23 BOOT_CODE void Arch_configureIdleThread(tcb_t *tcb) argument
25 setRegister(tcb, NextIP, (word_t)idleThreadStart);
28 setRegister(tcb, SSTATUS, (word_t) SSTATUS_SPP | SSTATUS_SPIE);
31 if (NODE_STATE_ON_CORE(ksIdleThread, i) == tcb) {
32 setRegister(tcb, SP, (word_t)kernel_stack_alloc + (i + 1) * BIT(CONFIG_KERNEL_STACK_BITS));
37 setRegister(tcb, SP, (word_t)kernel_stack_alloc + BIT(CONFIG_KERNEL_STACK_BITS));
43 tcb_t *tcb = NODE_STATE(ksIdleThread); local
46 setVMRoot(tcb);
49 Arch_activateIdleThread(tcb_t *tcb) argument
[all...]
/seL4-test-master/projects/seL4_libs/libsel4debug/include/sel4debug/
H A Dregister_dump.h17 void sel4debug_dump_registers(seL4_CPtr tcb);
18 void sel4debug_dump_registers_prefix(seL4_CPtr tcb, char *prefix);
/seL4-test-master/kernel/src/arch/arm/32/kernel/
H A Dthread.c15 void Arch_switchToThread(tcb_t *tcb) argument
18 vcpu_switch(tcb->tcbArch.tcbVCPU);
21 setVMRoot(tcb);
25 BOOT_CODE void Arch_configureIdleThread(tcb_t *tcb) argument
27 setRegister(tcb, CPSR, CPSR_IDLETHREAD);
28 setRegister(tcb, NextIP, (word_t)idleThreadStart);
41 void Arch_activateIdleThread(tcb_t *tcb) argument
/seL4-test-master/kernel/src/arch/arm/64/kernel/
H A Dthread.c14 void Arch_switchToThread(tcb_t *tcb) argument
17 vcpu_switch(tcb->tcbArch.tcbVCPU);
19 setVMRoot(tcb);
22 BOOT_CODE void Arch_configureIdleThread(tcb_t *tcb) argument
24 setRegister(tcb, SPSR_EL1, PSTATE_IDLETHREAD);
25 setRegister(tcb, ELR_EL1, (word_t)idleThreadStart);
36 void Arch_activateIdleThread(tcb_t *tcb) argument
/seL4-test-master/kernel/src/arch/x86/32/kernel/
H A Dthread.c14 void Arch_switchToThread(tcb_t *tcb) argument
17 setVMRoot(tcb);
27 BOOT_CODE void Arch_configureIdleThread(tcb_t *tcb) argument
29 setRegister(tcb, FLAGS, FLAGS_USER_DEFAULT);
30 setRegister(tcb, NextIP, (word_t)idleThreadStart);
31 setRegister(tcb, CS, SEL_CS_0);
32 setRegister(tcb, SS, SEL_DS_0);
33 setRegister(tcb, FS_BASE, 0);
34 setRegister(tcb, GS_BASE, 0);
43 void Arch_activateIdleThread(tcb_t *tcb) argument
[all...]
/seL4-test-master/kernel/src/arch/x86/64/kernel/
H A Dthread.c14 void Arch_switchToThread(tcb_t *tcb) argument
17 setVMRoot(tcb);
21 : [value] "r"(&tcb->tcbArch.tcbContext.registers[Error + 1]),
33 BOOT_CODE void Arch_configureIdleThread(tcb_t *tcb) argument
35 setRegister(tcb, FLAGS, FLAGS_USER_DEFAULT);
36 setRegister(tcb, NextIP, (uint64_t)idleThreadStart);
37 setRegister(tcb, CS, SEL_CS_0);
38 setRegister(tcb, SS, SEL_DS_0);
44 setRegister(tcb, RSP, 0);
49 tcb_t *tcb local
60 Arch_activateIdleThread(tcb_t *tcb) argument
[all...]
/seL4-test-master/kernel/include/arch/x86/arch/kernel/
H A Dthread.h11 void Arch_switchToThread(tcb_t *tcb);
13 void Arch_configureIdleThread(tcb_t *tcb);
14 void Arch_activateIdleThread(tcb_t *tcb);
H A Dtraps.h15 tcb_t *tcb = NODE_STATE(ksCurThread); local
16 x86_save_fsgs_base(tcb, SMP_TERNARY(getCurrentCPUIndex(), 0));
23 tcb_t *tcb = NODE_STATE(ksCurThread); local
24 x86_load_fsgs_base(tcb, SMP_TERNARY(getCurrentCPUIndex(), 0));
/seL4-test-master/projects/seL4_libs/libsel4debug/src/
H A Dregister_dump.c20 void sel4debug_dump_registers(seL4_CPtr tcb) argument
22 sel4debug_dump_registers_prefix(tcb, "");
25 void sel4debug_dump_registers_prefix(seL4_CPtr tcb, char *prefix) argument
31 error = seL4_TCB_ReadRegisters(tcb, false, 0, num_regs, &context);
33 ZF_LOGE("Failed to read registers for tcb 0x%lx, error %d", (long) tcb, error);
/seL4-test-master/kernel/include/machine/
H A Dcapdl.h16 bool_t root_or_idle_tcb(tcb_t *tcb);
19 void obj_tcb_print_cnodes(cap_t cnode, tcb_t *tcb);
25 void obj_tcb_print_attrs(tcb_t *tcb);
28 void obj_ut_print_attrs(cte_t *slot, tcb_t *tcb);
30 void obj_tcb_print_slots(tcb_t *tcb);
31 void obj_cnode_print_slots(tcb_t *tcb);
40 void print_ipc_buffer_slot(tcb_t *tcb);
44 void obj_vtable_print_slots(tcb_t *tcb);
45 word_t get_tcb_sp(tcb_t *tcb);
48 void obj_tcb_print_vtable(tcb_t *tcb);
[all...]
/seL4-test-master/kernel/src/benchmark/
H A Dbenchmark_utilisation.c17 tcb_t *tcb = NULL; local
30 tcb = TCB_PTR(cap_thread_cap_get_capTCBPtr(lu_ret.cap));
33 buffer[BENCHMARK_TCB_UTILISATION] = tcb->benchmark.utilisation; /* Requested thread utilisation */
34 buffer[BENCHMARK_TCB_NUMBER_SCHEDULES] = tcb->benchmark.number_schedules; /* Number of times scheduled */
35 buffer[BENCHMARK_TCB_KERNEL_UTILISATION] = tcb->benchmark.kernel_utilisation; /* Utilisation spent in kernel */
36 buffer[BENCHMARK_TCB_NUMBER_KERNEL_ENTRIES] = tcb->benchmark.number_kernel_entries; /* Number of kernel entries */
43 tcb->tcbAffinity)->benchmark.utilisation; /* Idle thread utilisation of CPU the TCB is running on */
70 void benchmark_track_reset_utilisation(tcb_t *tcb) argument
72 tcb->benchmark.utilisation = 0;
73 tcb
[all...]
/seL4-test-master/kernel/src/object/
H A Dnotification.c12 #include <object/tcb.h>
42 static inline void maybeDonateSchedContext(tcb_t *tcb, notification_t *ntfnPtr) argument
44 if (tcb->tcbSchedContext == NULL) {
47 schedContext_donate(sc, tcb);
64 #define MCS_DO_IF_SC(tcb, ntfnPtr, _block) \
65 maybeDonateSchedContext(tcb, ntfnPtr); \
66 if (isSchedulable(tcb)) { \
70 #define MCS_DO_IF_SC(tcb, ntfnPtr, _block) \
80 tcb_t *tcb = (tcb_t *)notification_ptr_get_ntfnBoundTCB(ntfnPtr); local
82 if (tcb) {
252 completeSignal(notification_t *ntfnPtr, tcb_t *tcb) argument
284 unbindNotification(tcb_t *tcb) argument
294 bindNotification(tcb_t *tcb, notification_t *ntfnPtr) argument
[all...]
H A Dreply.c20 /* tcb caller should not be in a existing call stack */
54 void reply_pop(reply_t *reply, tcb_t *tcb) argument
58 assert(thread_state_get_replyObject(tcb->tcbState) == REPLY_REF(reply));
59 assert(reply->replyTCB == tcb);
61 /* unlink tcb and reply */
62 reply_unlink(reply, tcb);
71 if (tcb->tcbSchedContext == NULL) {
76 schedContext_donate(SC_PTR(next_ptr), tcb); local
91 void reply_remove(reply_t *reply, tcb_t *tcb) argument
93 assert(reply->replyTCB == tcb);
108 reply_unlink(REPLY_PTR(reply), tcb); local
122 reply_remove_tcb(tcb_t *tcb) argument
[all...]
H A Dtcb.c20 #include <object/tcb.h>
82 void tcbSchedEnqueue(tcb_t *tcb) argument
85 assert(isSchedulable(tcb));
86 assert(refill_sufficient(tcb->tcbSchedContext, 0));
89 if (!thread_state_get_tcbQueued(tcb->tcbState)) {
95 dom = tcb->tcbDomain;
96 prio = tcb->tcbPriority;
98 queue = NODE_STATE_ON_CORE(ksReadyQueues[idx], tcb->tcbAffinity);
101 queue.end = tcb;
102 addToBitmap(SMP_TERNARY(tcb
117 tcbSchedAppend(tcb_t *tcb) argument
152 tcbSchedDequeue(tcb_t *tcb) argument
187 tcbDebugAppend(tcb_t *tcb) argument
202 tcbDebugRemove(tcb_t *tcb) argument
226 tcbEPAppend(tcb_t *tcb, tcb_queue_t queue) argument
242 tcbEPDequeue(tcb_t *tcb, tcb_queue_t queue) argument
260 tcbReleaseRemove(tcb_t *tcb) argument
281 tcbReleaseEnqueue(tcb_t *tcb) argument
442 remoteQueueUpdate(tcb_t *tcb) argument
464 remoteTCBStall(tcb_t *tcb) argument
497 tcb_t *tcb; local
542 tcb_t *tcb; local
560 invokeSetBreakpoint(tcb_t *tcb, uint16_t bp_num, word_t vaddr, word_t type, word_t size, word_t rw) argument
573 tcb_t *tcb; local
686 invokeGetBreakpoint(word_t *buffer, tcb_t *tcb, uint16_t bp_num) argument
701 tcb_t *tcb; local
718 invokeUnsetBreakpoint(tcb_t *tcb, uint16_t bp_num) argument
728 tcb_t *tcb; local
1316 tcb_t *tcb = TCB_PTR(cap_thread_cap_get_capTCBPtr(cap)); local
1595 tcb_t *tcb; local
1642 tcb_t *tcb; local
2027 invokeTCB_NotificationControl(tcb_t *tcb, notification_t *ntfnPtr) argument
2039 setThreadName(tcb_t *tcb, const char *name) argument
[all...]
/seL4-test-master/kernel/include/arch/x86/arch/object/
H A Dtcb.h15 void Arch_leaveVMAsyncTransfer(tcb_t *tcb);
/seL4-test-master/kernel/src/machine/
H A Dcapdl.c68 /* Return true if the tcb is for rootserver or idle thread */
69 bool_t root_or_idle_tcb(tcb_t *tcb) argument
71 return (strings_equal(TCB_PTR_DEBUG_PTR(tcb)->tcbName, "rootserver")
72 || strings_equal(TCB_PTR_DEBUG_PTR(tcb)->tcbName, "idle_thread"));
79 void obj_tcb_print_attrs(tcb_t *tcb) argument
82 (long unsigned int)tcb->tcbIPCBuffer,
83 (long unsigned int)getRestartPC(tcb),
84 (long unsigned int)get_tcb_sp(tcb),
85 (long unsigned int)tcb->tcbPriority,
86 (long unsigned int)tcb
134 obj_ut_print_attrs(cte_t *slot, tcb_t *tcb) argument
167 obj_tcb_print_cnodes(cap_t cnode, tcb_t *tcb) argument
227 obj_tcb_print_slots(tcb_t *tcb) argument
289 obj_cnode_print_slots(tcb_t *tcb) argument
[all...]
/seL4-test-master/kernel/include/api/
H A Ddebug.h78 static inline void debug_printTCB(tcb_t *tcb) argument
80 printf("%40s\t", TCB_PTR_DEBUG_PTR(tcb)->tcbName);
82 switch (thread_state_get_tsType(tcb->tcbState)) {
116 word_t core = SMP_TERNARY(tcb->tcbAffinity, 0);
117 printf("%15s\t%p\t%20lu\t%lu", state, (void *) getRestartPC(tcb), tcb->tcbPriority, core);
119 printf("\t%lu", (word_t) thread_state_get_tcbInReleaseQueue(tcb->tcbState));
/seL4-test-master/projects/sel4_projects_libs/libsel4vm/src/arch/arm/
H A Dguest_arm_context.c22 seL4_CPtr tcb = vm_get_vcpu_tcb(vcpu); local
23 int err = seL4_TCB_WriteRegisters(tcb, false, 0, sizeof(context) / sizeof(context.pc), &context);
34 seL4_CPtr tcb = vm_get_vcpu_tcb(vcpu); local
43 int err = seL4_TCB_ReadRegisters(tcb, false, 0, sizeof(regs) / sizeof(regs.pc), &regs);
49 err = seL4_TCB_WriteRegisters(tcb, false, 0, sizeof(regs) / sizeof(regs.pc), &regs);
68 seL4_CPtr tcb = vm_get_vcpu_tcb(vcpu); local
69 int err = seL4_TCB_ReadRegisters(tcb, false, 0, sizeof(regs) / sizeof(regs.pc), &regs);
89 seL4_CPtr tcb = vm_get_vcpu_tcb(vcpu); local
90 int err = seL4_TCB_ReadRegisters(tcb, false, 0, sizeof(regs) / sizeof(regs.pc), &regs);
H A Dboot.c91 err = vka_alloc_tcb(vm->vka, &vcpu->tcb.tcb);
93 err = seL4_TCB_Configure(vcpu->tcb.tcb.cptr, dst.capPtr,
97 err = seL4_TCB_SetSchedParams(vcpu->tcb.tcb.cptr, simple_get_tcb(vm->simple), vcpu->tcb.priority,
98 vcpu->tcb.priority);
100 err = seL4_ARM_VCPU_SetTCB(vcpu->vcpu.cptr, vcpu->tcb.tcb
[all...]

Completed in 143 milliseconds

1234