Subversion Repositories HelenOS-historic

Rev

Rev 75 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 75 Rev 76
Line 39... Line 39...
39
#include <list.h>
39
#include <list.h>
40
#include <panic.h>
40
#include <panic.h>
41
#include <typedefs.h>
41
#include <typedefs.h>
42
#include <mm/page.h>
42
#include <mm/page.h>
43
#include <synch/spinlock.h>
43
#include <synch/spinlock.h>
-
 
44
#include <arch/faddr.h>
44
 
45
 
45
#ifdef __SMP__
46
#ifdef __SMP__
46
#include <arch/smp/atomic.h>
47
#include <arch/smp/atomic.h>
47
#endif /* __SMP__ */
48
#endif /* __SMP__ */
48
 
49
 
Line 230... Line 231...
230
     * Therefore the scheduler() function continues in
231
     * Therefore the scheduler() function continues in
231
     * scheduler_separated_stack().
232
     * scheduler_separated_stack().
232
     */
233
     */
233
    context_save(&CPU->saved_context);
234
    context_save(&CPU->saved_context);
234
    CPU->saved_context.sp = (__address) &CPU->stack[CPU_STACK_SIZE-8];
235
    CPU->saved_context.sp = (__address) &CPU->stack[CPU_STACK_SIZE-8];
235
    CPU->saved_context.pc = (__address) scheduler_separated_stack;
236
    CPU->saved_context.pc = FADDR(scheduler_separated_stack);
236
    context_restore(&CPU->saved_context);
237
    context_restore(&CPU->saved_context);
237
    /* not reached */
238
    /* not reached */
238
}
239
}
239
 
240
 
240
void scheduler_separated_stack(void)
241
void scheduler_separated_stack(void)