Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/proc/thread.c

    r38ff925 rc0699467  
    173173#endif /* CONFIG_FPU */
    174174       
    175         /*
    176          * Allocate the kernel stack from the low-memory to prevent an infinite
    177          * nesting of TLB-misses when accessing the stack from the part of the
    178          * TLB-miss handler written in C.
    179          *
    180          * Note that low-memory is safe to be used for the stack as it will be
    181          * covered by the kernel identity mapping, which guarantees not to
    182          * nest TLB-misses infinitely (either via some hardware mechanism or
    183          * by the construciton of the assembly-language part of the TLB-miss
    184          * handler).
    185          *
    186          * This restriction can be lifted once each architecture provides
    187          * a similar guarantee, for example by locking the kernel stack
    188          * in the TLB whenever it is allocated from the high-memory and the
    189          * thread is being scheduled to run.
    190          */
    191         kmflags |= FRAME_LOWMEM;
    192         kmflags &= ~FRAME_HIGHMEM;
    193 
    194175        thread->kstack = (uint8_t *) frame_alloc(STACK_FRAMES, FRAME_KA | kmflags);
    195176        if (!thread->kstack) {
Note: See TracChangeset for help on using the changeset viewer.