Changeset b6d4566 in mainline for arch/ia64/include/context.h


Ignore:
Timestamp:
2006-03-27T16:56:51Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ff75d34
Parents:
50fe620
Message:

CPU stacks must have two frames on ia64.
Make sure both thread stack frames are mapped in before_thread_runs_arch().
Take STACK_FRAMES into account during kernel memory layout initialization in main_bsp().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia64/include/context.h

    r50fe620 rb6d4566  
    3737
    3838/*
    39  * context_save() and context_restore() are both leaf procedures.
     39 * context_save_arch() and context_restore_arch() are both leaf procedures.
    4040 * No need to allocate scratch area.
    4141 *
     
    4848#endif
    4949
    50 /*RSE stack should begin under bottom of stack @ kernel*/
    51 #define context_set(c, _pc, stack, size)                                                                \
    52         (c)->pc = (__address) _pc;                                                                      \
    53         (c)->bsp = ((__address) stack) + ALIGN_UP((size), STACK_ALIGNMENT) ;    \
    54         (c)->ar_pfs &= PFM_MASK;                                                                        \
    55         (c)->sp = ((__address) stack) + ALIGN_UP((size), STACK_ALIGNMENT) - SP_DELTA;
     50/* RSE stack starts at the bottom of memory stack. */
     51#define context_set(c, _pc, stack, size)                                                                \
     52        do {                                                                                            \
     53                (c)->pc = (__address) _pc;                                                              \
     54                (c)->bsp = ((__address) stack) + ALIGN_UP((size), REGISTER_STACK_ALIGNMENT);            \
     55                (c)->ar_pfs &= PFM_MASK;                                                                \
     56                (c)->sp = ((__address) stack) + ALIGN_UP((size), STACK_ALIGNMENT) - SP_DELTA;           \
     57        } while (0);
    5658
    5759/*
     
    123125};
    124126
    125 
    126 
    127127#endif
Note: See TracChangeset for help on using the changeset viewer.