Changes in kernel/arch/mips32/src/mips32.c [b169619:3fcea34] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/mips32/src/mips32.c
rb169619 r3fcea34 163 163 } 164 164 165 void userspace(uspace_arg_t *kernel_uarg) 165 uintptr_t arch_get_initial_sp(uintptr_t stack_base, uintptr_t stack_size) 166 { 167 return stack_base + stack_size; 168 } 169 170 void userspace(uintptr_t pc, uintptr_t sp) 166 171 { 167 172 /* EXL = 1, UM = 1, IE = 1 */ 168 173 cp0_status_write(cp0_status_read() | (cp0_status_exl_exception_bit | 169 174 cp0_status_um_bit | cp0_status_ie_enabled_bit)); 170 cp0_epc_write(kernel_uarg->uspace_entry); 171 userspace_asm(kernel_uarg->uspace_stack + 172 kernel_uarg->uspace_stack_size, 173 kernel_uarg->uspace_uarg, 174 kernel_uarg->uspace_entry); 175 cp0_epc_write(pc); 176 userspace_asm(sp, pc); 175 177 176 178 while (true)
Note:
See TracChangeset
for help on using the changeset viewer.