Changes in kernel/arch/arm32/src/userspace.c [dfd735a1:e762b43] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/src/userspace.c
rdfd735a1 re762b43 35 35 36 36 #include <userspace.h> 37 #include <arch/ras.h>38 37 39 38 /** Struct for holding all general purpose registers. … … 75 74 ustate.r1 = 0; 76 75 77 /* pass the RAS page address in %r2 */78 ustate.r2 = (uintptr_t) ras_page;79 80 76 /* clear other registers */ 81 ustate.r 3 = ustate.r4 = ustate.r5 = ustate.r6 = ustate.r7=82 ustate.r 8 = 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; 84 80 85 81 /* set user stack */ … … 97 93 "mov sp, %[ustate]\n" 98 94 "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" 102 96 "ldmfd sp!, {pc}^\n" 103 97 :: [ustate] "r" (&ustate), [user_mode] "r" (user_mode)
Note:
See TracChangeset
for help on using the changeset viewer.