Changes in kernel/arch/arm64/src/arm64.c [84176f3:db17889] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm64/src/arm64.c
r84176f3 rdb17889 156 156 157 157 /* Set program entry. */ 158 ELR_EL1_write( (uint64_t)kernel_uarg->uspace_entry);158 ELR_EL1_write(kernel_uarg->uspace_entry); 159 159 160 160 /* Set user stack. */ 161 SP_EL0_write( ((uint64_t)kernel_uarg->uspace_stack +162 kernel_uarg->uspace_stack_size) );161 SP_EL0_write(kernel_uarg->uspace_stack + 162 kernel_uarg->uspace_stack_size); 163 163 164 164 /* Clear Thread ID register. */ … … 167 167 asm volatile ( 168 168 /* 169 * Clear all general-purpose registers, except x0 that holds an 170 * argument for the user space. 169 * Reset the kernel stack to its base value. 170 * 171 * Clear all general-purpose registers, 172 * except x0 that holds an argument for 173 * the user space. 171 174 */ 175 "mov sp, %[kstack]\n" 172 176 "mov x0, %[uspace_uarg]\n" 173 177 "mov x1, #0\n" … … 202 206 "mov x30, #0\n" 203 207 "eret\n" 204 :: [uspace_uarg] "r" (kernel_uarg->uspace_uarg) 208 :: [uspace_uarg] "r" (kernel_uarg->uspace_uarg), 209 [kstack] "r" (((uint64_t) (THREAD->kstack)) + 210 MEM_STACK_SIZE - SP_DELTA) 205 211 ); 206 212
Note:
See TracChangeset
for help on using the changeset viewer.