Changeset 666773c in mainline for kernel/arch/ia64/src/proc/scheduler.c
- Timestamp:
- 2008-12-31T15:33:29Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9805cde
- Parents:
- d8c0dc5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/src/proc/scheduler.c
rd8c0dc5 r666773c 48 48 } 49 49 50 /** Prepare kernel stack pointers in bank 0 r22 and r23 and make sure the stack is mapped in DTR. */ 50 /** Prepare kernel stack pointers in bank 0 r22 and r23 and make sure the stack 51 * is mapped in DTR. 52 */ 51 53 void before_thread_runs_arch(void) 52 54 { 53 55 uintptr_t base; 54 56 55 base = ALIGN_DOWN(config.base, 1 <<KERNEL_PAGE_WIDTH);57 base = ALIGN_DOWN(config.base, 1 << KERNEL_PAGE_WIDTH); 56 58 57 if ((uintptr_t) THREAD->kstack < base || (uintptr_t) THREAD->kstack > base + (1<<(KERNEL_PAGE_WIDTH))) { 59 if ((uintptr_t) THREAD->kstack < base || 60 (uintptr_t) THREAD->kstack > base + (1 << (KERNEL_PAGE_WIDTH))) { 58 61 /* 59 62 * Kernel stack of this thread is not mapped by DTR[TR_KERNEL]. … … 65 68 66 69 /* insert DTR[TR_STACK1] and DTR[TR_STACK2] */ 67 dtlb_kernel_mapping_insert((uintptr_t) THREAD->kstack, KA2PA(THREAD->kstack), true, DTR_KSTACK1); 68 dtlb_kernel_mapping_insert((uintptr_t) THREAD->kstack + PAGE_SIZE, KA2PA(THREAD->kstack) + FRAME_SIZE, true, DTR_KSTACK2); 70 dtlb_kernel_mapping_insert((uintptr_t) THREAD->kstack, 71 KA2PA(THREAD->kstack), true, DTR_KSTACK1); 72 dtlb_kernel_mapping_insert((uintptr_t) THREAD->kstack + 73 PAGE_SIZE, KA2PA(THREAD->kstack) + FRAME_SIZE, true, 74 DTR_KSTACK2); 69 75 } 70 76
Note:
See TracChangeset
for help on using the changeset viewer.