Changeset cd373bb in mainline for arch/ia64/src/proc/scheduler.c
- Timestamp:
- 2006-03-07T11:04:40Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b994a60
- Parents:
- e1c68e0c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia64/src/proc/scheduler.c
re1c68e0c rcd373bb 32 32 #include <arch/register.h> 33 33 #include <arch/context.h> 34 #include <arch/stack.h> 34 35 #include <arch/mm/tlb.h> 35 36 #include <config.h> 36 37 #include <align.h> 37 38 38 /** Record kernel stack address in bank 0 r23 and make sure itis mapped in DTR. */39 /** Prepare kernel stack pointers in bank 0 r22 and r23 and make sure the stack is mapped in DTR. */ 39 40 void before_thread_runs_arch(void) 40 41 { … … 52 53 53 54 /* 54 * Record address of kernel stack to bank 0 r23 55 * where it will be found after switch from userspace. 55 * Record address of kernel backing store to bank 0 r22. 56 * Record address of kernel stack to bank 0 r23. 57 * These values will be found there after switch from userspace. 56 58 */ 57 59 __asm__ volatile ( 58 60 "bsw.0\n" 59 "mov r23 = %0\n" 61 "mov r22 = %0\n" 62 "mov r23 = %1\n" 60 63 "bsw.1\n" 61 : : "r" (&THREAD->kstack[THREAD_STACK_SIZE - SP_DELTA])); 64 : 65 : "r" (((__address) THREAD->kstack) + ALIGN_UP(sizeof(the_t), REGISTER_STACK_ALIGNMENT)), 66 "r" (&THREAD->kstack[THREAD_STACK_SIZE - SP_DELTA])); 62 67 } 63 68
Note:
See TracChangeset
for help on using the changeset viewer.