/seL4-test-master/projects/sel4test/apps/sel4test-tests/src/tests/ |
H A D | regressions.c | 77 seL4_UserContext context = { 0 }; local 89 context.pc = (seL4_Word)&test_registers; 90 context.sp = 13; 91 context.r0 = 15; 92 context.r1 = 1; 93 context.r2 = 2; 94 context.r3 = 3; 95 context.r4 = 4; 96 context.r5 = 5; 97 context 383 seL4_UserContext context; local [all...] |
/seL4-test-master/kernel/src/arch/x86/machine/ |
H A D | registerset.c | 10 void Arch_initContext(user_context_t *context) argument 12 Mode_initContext(context); 13 context->registers[FS_BASE] = 0; 14 context->registers[GS_BASE] = 0; 15 context->registers[Error] = 0; 16 context->registers[FaultIP] = 0; 17 context->registers[NextIP] = 0; /* overwritten by setNextPC() later on */ 18 context->registers[CS] = SEL_CS_3; 19 context->registers[FLAGS] = FLAGS_USER_DEFAULT; 20 context [all...] |
H A D | fpu.c | 16 void Arch_initFpuContext(user_context_t *context) argument 18 context->fpuState = x86KSnullFpuState;
|
/seL4-test-master/projects/seL4_libs/libsel4utils/src/arch/riscv/ |
H A D | arch.c | 18 int sel4utils_arch_init_context(void *entry_point, void *stack_top, seL4_UserContext *context) argument 20 context->pc = (seL4_Word) entry_point; 21 context->sp = (seL4_Word) stack_top; 30 bool local_stack, void *stack_top, seL4_UserContext *context, 35 context->a0 = (seL4_Word) arg0; 36 context->a1 = (seL4_Word) arg1; 37 context->a2 = (seL4_Word) arg2; 38 context->gp = (seL4_Word) __global_pointer$; 40 return sel4utils_arch_init_context(entry_point, stack_top, context); 29 sel4utils_arch_init_context_with_args(void *entry_point, void *arg0, void *arg1, void *arg2, bool local_stack, void *stack_top, seL4_UserContext *context, vka_t *vka, vspace_t *local_vspace, vspace_t *remote_vspace) argument
|
/seL4-test-master/projects/seL4_libs/libsel4utils/src/sel4_arch/x86_64/ |
H A D | arch.c | 21 int sel4utils_arch_init_context(void *entry_point, void *stack_top, seL4_UserContext *context) argument 23 context->rsp = (seL4_Word) stack_top; 26 context->rdx = 0; 27 context->rip = (seL4_Word) entry_point; 33 bool local_stack, void *stack_top, seL4_UserContext *context, 46 sel4utils_arch_init_context(entry_point, (void *)stack_top_after_call, context); 47 context->rdi = (seL4_Word) arg0; 48 context->rsi = (seL4_Word) arg1; 52 context->rdx = (seL4_Word) arg2; 31 sel4utils_arch_init_context_with_args(sel4utils_thread_entry_fn entry_point, void *arg0, void *arg1, void *arg2, bool local_stack, void *stack_top, seL4_UserContext *context, vka_t *vka, vspace_t *local_vspace, vspace_t *remote_vspace) argument
|
/seL4-test-master/kernel/src/arch/x86/64/machine/ |
H A D | registerset.c | 37 void Mode_initContext(user_context_t *context) argument 39 context->registers[RAX] = 0; 40 context->registers[RBX] = 0; 41 context->registers[RCX] = 0; 42 context->registers[RDX] = 0; 43 context->registers[RSI] = 0; 44 context->registers[RDI] = 0; 45 context->registers[RBP] = 0; 46 context->registers[R8] = 0; 47 context [all...] |
/seL4-test-master/projects/seL4_libs/libsel4utils/src/sel4_arch/aarch32/ |
H A D | arch.c | 21 int sel4utils_arch_init_context(void *entry_point, void *stack_top, seL4_UserContext *context) argument 23 context->pc = (seL4_Word) entry_point; 24 context->sp = (seL4_Word) stack_top; 35 seL4_UserContext *context, 39 context->r0 = (seL4_Word) arg0; 40 context->r1 = (seL4_Word) arg1; 41 context->r2 = (seL4_Word) arg2; 43 return sel4utils_arch_init_context(entry_point, stack_top, context); 32 sel4utils_arch_init_context_with_args(sel4utils_thread_entry_fn entry_point, void *arg0, void *arg1, void *arg2, bool local_stack, void *stack_top, seL4_UserContext *context, vka_t *vka, vspace_t *local_vspace, vspace_t *remote_vspace) argument
|
/seL4-test-master/projects/seL4_libs/libsel4utils/src/sel4_arch/aarch64/ |
H A D | arch.c | 22 int sel4utils_arch_init_context(void *entry_point, void *stack_top, seL4_UserContext *context) argument 24 context->pc = (seL4_Word) entry_point; 25 context->sp = (seL4_Word) stack_top; 36 seL4_UserContext *context, 40 context->x0 = (seL4_Word) arg0; 41 context->x1 = (seL4_Word) arg1; 42 context->x2 = (seL4_Word) arg2; 44 return sel4utils_arch_init_context(entry_point, stack_top, context); 33 sel4utils_arch_init_context_with_args(sel4utils_thread_entry_fn entry_point, void *arg0, void *arg1, void *arg2, bool local_stack, void *stack_top, seL4_UserContext *context, vka_t *vka, vspace_t *local_vspace, vspace_t *remote_vspace) argument
|
/seL4-test-master/projects/seL4_libs/libsel4utils/src/sel4_arch/arm_hyp/ |
H A D | arch.c | 21 int sel4utils_arch_init_context(void *entry_point, void *stack_top, seL4_UserContext *context) argument 23 context->pc = (seL4_Word) entry_point; 24 context->sp = (seL4_Word) stack_top; 35 seL4_UserContext *context, 39 context->r0 = (seL4_Word) arg0; 40 context->r1 = (seL4_Word) arg1; 41 context->r2 = (seL4_Word) arg2; 43 return sel4utils_arch_init_context(entry_point, stack_top, context); 32 sel4utils_arch_init_context_with_args(sel4utils_thread_entry_fn entry_point, void *arg0, void *arg1, void *arg2, bool local_stack, void *stack_top, seL4_UserContext *context, vka_t *vka, vspace_t *local_vspace, vspace_t *remote_vspace) argument
|
/seL4-test-master/kernel/src/arch/x86/32/machine/ |
H A D | registerset.c | 42 void Mode_initContext(user_context_t *context) argument 44 context->registers[EAX] = 0; 45 context->registers[EBX] = 0; 46 context->registers[ECX] = 0; 47 context->registers[EDX] = 0; 48 context->registers[ESI] = 0; 49 context->registers[EDI] = 0; 50 context->registers[EBP] = 0; 51 context->registers[ESP] = 0;
|
/seL4-test-master/projects/seL4_libs/libsel4debug/src/ |
H A D | register_dump.c | 27 seL4_UserContext context; local 29 const int num_regs = sizeof(context) / sizeof(seL4_Word); 31 error = seL4_TCB_ReadRegisters(tcb, false, 0, num_regs, &context); 39 printf("%s%s\t:0x%lx\n", prefix, register_names[i], (long) ((seL4_Word * )&context)[i]);
|
/seL4-test-master/projects/seL4_libs/libsel4utils/include/sel4utils/ |
H A D | helpers.h | 34 * Initialize a threads user context for a specific architecture 41 int sel4utils_arch_init_context(void *entry_point, void *stack_top, seL4_UserContext *context); 44 * Legacy function to initialise a threads user context for a specific architecture, and put 67 bool local_stack, void *stack_top, seL4_UserContext *context, 74 void *stack_top, seL4_UserContext *context) 76 return sel4utils_arch_init_context_with_args(entry_point, arg0, arg1, arg2, true, stack_top, context, NULL, NULL, NULL); 72 sel4utils_arch_init_local_context(sel4utils_thread_entry_fn entry_point, void *arg0, void *arg1, void *arg2, void *stack_top, seL4_UserContext *context) argument
|
/seL4-test-master/projects/seL4_libs/libsel4utils/src/sel4_arch/ia32/ |
H A D | arch.c | 21 int sel4utils_arch_init_context(void *entry_point, void *stack_top, seL4_UserContext *context) argument 23 context->esp = (seL4_Word) stack_top; 26 context->edx = 0; 27 context->eip = (seL4_Word) entry_point; 33 bool local_stack, void *stack_top, seL4_UserContext *context, 80 return sel4utils_arch_init_context(entry_point, stack_top, context); 32 sel4utils_arch_init_context_with_args(sel4utils_thread_entry_fn entry_point, void *arg0, void *arg1, void *arg2, bool local_stack, void *stack_top, seL4_UserContext *context, vka_t *vka, vspace_t *local_vspace, vspace_t *remote_vspace) argument
|
/seL4-test-master/projects/sel4_projects_libs/libsel4vm/arch_include/x86/sel4vm/arch/ |
H A D | guest_x86_context.h | 11 * The libsel4vm x86 context interface provides a set of useful getters and setters on x86 vcpu thread contexts. 30 * @function vm_set_thread_context(vcpu, context) 33 * @param {seL4_VCPUContext} context seL4_VCPUContext applied to VCPU Registers 36 int vm_set_thread_context(vm_vcpu_t *vcpu, seL4_VCPUContext context); 49 * @function vm_get_thread_context(vcpu, context) 50 * Get a VCPU's thread context 52 * @param {seL4_VCPUContext *} context Pointer to user supplied seL4_VCPUContext to populate with VCPU's current context 55 int vm_get_thread_context(vm_vcpu_t *vcpu, seL4_VCPUContext *context);
|
/seL4-test-master/projects/sel4_projects_libs/libsel4vm/src/arch/arm/ |
H A D | guest_arm_context.c | 14 int vm_set_thread_context(vm_vcpu_t *vcpu, seL4_UserContext context) argument 17 /* If we are in a fault set its context directly as this will be 19 fault_set_ctx(vcpu->vcpu_arch.fault, &context); 23 int err = seL4_TCB_WriteRegisters(tcb, false, 0, sizeof(context) / sizeof(context.pc), &context); 25 ZF_LOGE("Failed to set thread context: Unable to write TCB registers"); 36 /* If we are in a fault use and modify its cached context */ 45 ZF_LOGE("Failed to set thread context reg: Unable to read TCB registers"); 51 ZF_LOGE("Failed to set thread context registe 58 vm_get_thread_context(vm_vcpu_t *vcpu, seL4_UserContext *context) argument [all...] |
/seL4-test-master/projects/sel4_projects_libs/libsel4vm/src/arch/x86/ |
H A D | guest_x86_context.c | 15 int vm_set_thread_context(vm_vcpu_t *vcpu, seL4_VCPUContext context) argument 17 MACHINE_STATE_DIRTY(vcpu->vcpu_arch.guest_state->machine.context); 18 vcpu->vcpu_arch.guest_state->machine.context = context; 24 MACHINE_STATE_DIRTY(vcpu->vcpu_arch.guest_state->machine.context); 25 (&vcpu->vcpu_arch.guest_state->machine.context.eax)[reg] = value; 29 int vm_get_thread_context(vm_vcpu_t *vcpu, seL4_VCPUContext *context) argument 31 if (IS_MACHINE_STATE_UNKNOWN(vcpu->vcpu_arch.guest_state->machine.context)) { 32 ZF_LOGE("Failed to get thread context: Context is unsynchronised. The VCPU hasn't exited?"); 35 *context 181 seL4_VCPUContext context; local [all...] |
H A D | vm.c | 110 seL4_VCPUContext context; local 111 context.eax = msg[SEL4_VMENTER_FAULT_EAX]; 112 context.ebx = msg[SEL4_VMENTER_FAULT_EBX]; 113 context.ecx = msg[SEL4_VMENTER_FAULT_ECX]; 114 context.edx = msg[SEL4_VMENTER_FAULT_EDX]; 115 context.esi = msg[SEL4_VMENTER_FAULT_ESI]; 116 context.edi = msg[SEL4_VMENTER_FAULT_EDI]; 117 context.ebp = msg[SEL4_VMENTER_FAULT_EBP]; 118 MACHINE_STATE_READ(vcpu->vcpu_arch.guest_state->machine.context, context); [all...] |
/seL4-test-master/projects/sel4_projects_libs/libsel4vm/arch_include/arm/sel4vm/arch/ |
H A D | guest_arm_context.h | 14 * The libsel4vm ARM context interface provides a set of useful getters and setters on ARM vcpu thread contexts. 20 * @function vm_set_thread_context(vcpu, context) 21 * Set a VCPU's thread registers given a TCB user context 23 * @param {seL4_UserContext} context seL4_UserContext applied to VCPU's TCB 26 int vm_set_thread_context(vm_vcpu_t *vcpu, seL4_UserContext context); 39 * @function vm_get_thread_context(vcpu, context) 40 * Get a VCPU's TCB user context 42 * @param {seL4_UserContext} context Pointer to user supplied seL4_UserContext to populate with VCPU's TCB user context 45 int vm_get_thread_context(vm_vcpu_t *vcpu, seL4_UserContext *context); [all...] |
/seL4-test-master/kernel/include/arch/x86/arch/machine/ |
H A D | registerset.h | 20 /* X86 Debug register context */ 30 * cleared. This enables an optimization: when a thread is being context- 32 * if so, we pop the whole register context. 56 /* X86 FPU context. */ 62 /* X86 user-code context */ 67 /* stored pointer to kernel stack used when kernel run in current TCB context. */ 76 void Mode_initContext(user_context_t *context); 77 void Arch_initContext(user_context_t *context); 80 /* Ensure FPU state is aligned within user context. */
|
/seL4-test-master/kernel/include/arch/arm/arch/32/mode/machine/ |
H A D | debug.h | 31 typedef void (*break_handler_t)(user_context_t *context); 33 void software_breakpoint(uint32_t va, user_context_t *context) VISIBLE; 34 void breakpoint_multiplexer(uint32_t va, user_context_t *context) VISIBLE; 50 typedef void (*catch_handler_t)(user_context_t *context, vector_t vector);
|
H A D | registerset.h | 35 /* Offsets within the user context, these need to match the order in 62 * saved thread context. The values are determined 204 /* We don't use context comparisons. */ 222 /* ARM user-code context: size = 72 bytes 245 void Arch_initBreakpointContext(user_context_t *context); 248 static inline void Arch_initContext(user_context_t *context) argument 250 context->registers[CPSR] = CPSR_USER; 252 Arch_initBreakpointContext(context);
|
/seL4-test-master/kernel/manual/parts/ |
H A D | io.tex | 191 SMMU translation context bank (CB). A translation context bank can perform 197 with the same context bank and it is possible to share address translation 198 tables between a context bank and software MMU address space if the stage and type 212 fixed number of context banks, up to a maximum of 128. Context banks can 217 context banks, bind context banks to page translation structures, implement 223 All the StreamIDs and context banks are accessible via capabilities. Control 225 context bank in a system. The kernel tracks the allocation of StreamIDs and 226 context bank [all...] |
/seL4-test-master/projects/sel4_projects_libs/libsel4vmmplatsupport/src/arch/x86/ |
H A D | guest_boot_init.c | 268 seL4_VCPUContext context; local 269 err = vm_get_thread_context(vcpu, &context); 273 context.eax = 0; 274 context.ebx = 0; 275 context.ecx = 0; 276 context.edx = 0; 277 context.esi = (unsigned int)guest_boot_info_addr; 278 err = vm_set_thread_context(vcpu, context); 280 ZF_LOGE("Failed to init guest state: Unable to set inital thread context");
|
/seL4-test-master/projects/musllibc/src/thread/ |
H A D | synccall.c | 19 static void (*callback)(void *), *context; variable 40 callback(context); 73 context = ctx;
|
/seL4-test-master/kernel/include/arch/riscv/arch/machine/ |
H A D | registerset.h | 119 static inline void Arch_initContext(user_context_t *context) argument 122 context->registers[SSTATUS] = SSTATUS_SPIE;
|