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 | /* |