Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/src/userspace.c

    rdfd735a1 re762b43  
    3535
    3636#include <userspace.h>
    37 #include <arch/ras.h>
    3837
    3938/** Struct for holding all general purpose registers.
     
    7574        ustate.r1 = 0;
    7675
    77         /* pass the RAS page address in %r2 */
    78         ustate.r2 = (uintptr_t) ras_page;
    79 
    8076        /* clear other registers */
    81         ustate.r3  = ustate.r4  = ustate.r5 = ustate.r6 = ustate.r7 =
    82             ustate.r8 = ustate.r9 = ustate.r10 = ustate.r11 = ustate.r12 =
    83             ustate.lr = 0;
     77        ustate.r2 = ustate.r3  = ustate.r4  = ustate.r5 =
     78            ustate.r6  = ustate.r7  = ustate.r8  = ustate.r9 = ustate.r10 =
     79            ustate.r11 = ustate.r12 = ustate.lr = 0;
    8480
    8581        /* set user stack */
     
    9793                "mov sp, %[ustate]\n"
    9894                "msr spsr_c, %[user_mode]\n"
    99                 "ldmfd sp, {r0-r12, sp, lr}^\n"
    100                 "nop\n"         /* Cannot access sp immediately after ldm(2) */
    101                 "add sp, sp, #(15*4)\n"
     95                "ldmfd sp!, {r0-r12, sp, lr}^\n"
    10296                "ldmfd sp!, {pc}^\n"
    10397                :: [ustate] "r" (&ustate), [user_mode] "r" (user_mode)
Note: See TracChangeset for help on using the changeset viewer.