Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/mips32/src/mips32.c

    r3fcea34 rb169619  
    163163}
    164164
    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)
     165void userspace(uspace_arg_t *kernel_uarg)
    171166{
    172167        /* EXL = 1, UM = 1, IE = 1 */
    173168        cp0_status_write(cp0_status_read() | (cp0_status_exl_exception_bit |
    174169            cp0_status_um_bit | cp0_status_ie_enabled_bit));
    175         cp0_epc_write(pc);
    176         userspace_asm(sp, pc);
     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);
    177175
    178176        while (true)
Note: See TracChangeset for help on using the changeset viewer.