Commit aeffbd1b authored by Paul Mackerras's avatar Paul Mackerras

PPC32: Make switch_to return the previous task in the `last' argument

parent 5a983302
...@@ -197,10 +197,12 @@ dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpregs) ...@@ -197,10 +197,12 @@ dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpregs)
return 1; return 1;
} }
void __switch_to(struct task_struct *prev, struct task_struct *new) struct task_struct *__switch_to(struct task_struct *prev,
struct task_struct *new)
{ {
struct thread_struct *new_thread, *old_thread; struct thread_struct *new_thread, *old_thread;
unsigned long s; unsigned long s;
struct task_struct *last;
local_irq_save(s); local_irq_save(s);
#if CHECK_STACK #if CHECK_STACK
...@@ -244,8 +246,9 @@ void __switch_to(struct task_struct *prev, struct task_struct *new) ...@@ -244,8 +246,9 @@ void __switch_to(struct task_struct *prev, struct task_struct *new)
new->thread.regs->msr |= MSR_VEC; new->thread.regs->msr |= MSR_VEC;
new_thread = &new->thread; new_thread = &new->thread;
old_thread = &current->thread; old_thread = &current->thread;
_switch(old_thread, new_thread); last = _switch(old_thread, new_thread);
local_irq_restore(s); local_irq_restore(s);
return last;
} }
void show_regs(struct pt_regs * regs) void show_regs(struct pt_regs * regs)
......
...@@ -86,8 +86,9 @@ struct device_node; ...@@ -86,8 +86,9 @@ struct device_node;
extern void note_scsi_host(struct device_node *, void *); extern void note_scsi_host(struct device_node *, void *);
struct task_struct; struct task_struct;
extern void __switch_to(struct task_struct *, struct task_struct *); extern struct task_struct *__switch_to(struct task_struct *,
#define switch_to(prev, next, last) __switch_to((prev), (next)) struct task_struct *);
#define switch_to(prev, next, last) ((last) = __switch_to((prev), (next)))
struct thread_struct; struct thread_struct;
extern struct task_struct *_switch(struct thread_struct *prev, extern struct task_struct *_switch(struct thread_struct *prev,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment