Rev 75 | Rev 81 | 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) |