Rev 1187 | Rev 1702 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1187 | Rev 1675 | ||
---|---|---|---|
Line 51... | Line 51... | ||
51 | if ((__address) THREAD->kstack < base || (__address) THREAD->kstack > base + (1<<(KERNEL_PAGE_WIDTH))) { |
51 | if ((__address) THREAD->kstack < base || (__address) THREAD->kstack > base + (1<<(KERNEL_PAGE_WIDTH))) { |
52 | /* |
52 | /* |
53 | * Kernel stack of this thread is not mapped by DTR[TR_KERNEL]. |
53 | * Kernel stack of this thread is not mapped by DTR[TR_KERNEL]. |
54 | * Use DTR[TR_KSTACK1] and DTR[TR_KSTACK2] to map it. |
54 | * Use DTR[TR_KSTACK1] and DTR[TR_KSTACK2] to map it. |
55 | */ |
55 | */ |
- | 56 | ||
- | 57 | /* purge DTR[TR_STACK1] and DTR[TR_STACK2] */ |
|
- | 58 | dtr_purge((__address) THREAD->kstack, PAGE_WIDTH+1); |
|
- | 59 | ||
- | 60 | /* insert DTR[TR_STACK1] and DTR[TR_STACK2] */ |
|
56 | dtlb_kernel_mapping_insert((__address) THREAD->kstack, KA2PA(THREAD->kstack), true, DTR_KSTACK1); |
61 | dtlb_kernel_mapping_insert((__address) THREAD->kstack, KA2PA(THREAD->kstack), true, DTR_KSTACK1); |
57 | dtlb_kernel_mapping_insert((__address) THREAD->kstack + PAGE_SIZE, KA2PA(THREAD->kstack) + FRAME_SIZE, true, DTR_KSTACK2); |
62 | dtlb_kernel_mapping_insert((__address) THREAD->kstack + PAGE_SIZE, KA2PA(THREAD->kstack) + FRAME_SIZE, true, DTR_KSTACK2); |
58 | } |
63 | } |
59 | 64 | ||
60 | /* |
65 | /* |