Changeset 2f23341 in mainline for kernel/arch/ia64/src
- Timestamp:
- 2011-05-19T20:04:09Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 326bf65
- Parents:
- 2a922c8
- Location:
- kernel/arch/ia64/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/src/ia64.c
r2a922c8 r2f23341 249 249 rsc.mode = 3; /* eager mode */ 250 250 251 /* 252 * Switch to userspace. 253 * 254 * When calculating stack addresses, mind the stack split between the 255 * memory stack and the RSE stack. Each occuppies STACK_SIZE / 2 bytes. 256 */ 251 257 switch_to_userspace((uintptr_t) kernel_uarg->uspace_entry, 252 ((uintptr_t) kernel_uarg->uspace_stack) + STACK_SIZE -258 ((uintptr_t) kernel_uarg->uspace_stack) + STACK_SIZE / 2 - 253 259 ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT), 254 ((uintptr_t) kernel_uarg->uspace_stack) + STACK_SIZE ,260 ((uintptr_t) kernel_uarg->uspace_stack) + STACK_SIZE / 2, 255 261 (uintptr_t) kernel_uarg->uspace_uarg, psr.value, rsc.value); 256 262 -
kernel/arch/ia64/src/proc/scheduler.c
r2a922c8 r2f23341 79 79 * Record address of kernel stack to bank 0 r23. 80 80 * These values will be found there after switch from userspace. 81 * 82 * Mind the 1:1 split of the entire STACK_SIZE long region between the 83 * memory stack and the RSE stack. 81 84 */ 82 85 asm volatile ( … … 86 89 "bsw.1\n" 87 90 : 88 : "r" (&THREAD->kstack[STACK_SIZE ]),89 "r" (&THREAD->kstack[STACK_SIZE - SP_DELTA])91 : "r" (&THREAD->kstack[STACK_SIZE / 2]), 92 "r" (&THREAD->kstack[STACK_SIZE / 2 - SP_DELTA]) 90 93 ); 91 94 }
Note:
See TracChangeset
for help on using the changeset viewer.