Commit a132ebcb authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc: Fix another bug in move of altivec code to vector.S
  powerpc: Fix booke user_disable_single_step()
parents 80770884 0115cb54
...@@ -736,15 +736,16 @@ void user_disable_single_step(struct task_struct *task) ...@@ -736,15 +736,16 @@ void user_disable_single_step(struct task_struct *task)
{ {
struct pt_regs *regs = task->thread.regs; struct pt_regs *regs = task->thread.regs;
#if defined(CONFIG_BOOKE)
/* If DAC then do not single step, skip */
if (task->thread.dabr)
return;
#endif
if (regs != NULL) { if (regs != NULL) {
#if defined(CONFIG_40x) || defined(CONFIG_BOOKE) #if defined(CONFIG_BOOKE)
/* If DAC don't clear DBCRO_IDM or MSR_DE */
if (task->thread.dabr)
task->thread.dbcr0 &= ~(DBCR0_IC | DBCR0_BT);
else {
task->thread.dbcr0 &= ~(DBCR0_IC | DBCR0_BT | DBCR0_IDM);
regs->msr &= ~MSR_DE;
}
#elif defined(CONFIG_40x)
task->thread.dbcr0 &= ~(DBCR0_IC | DBCR0_BT | DBCR0_IDM); task->thread.dbcr0 &= ~(DBCR0_IC | DBCR0_BT | DBCR0_IDM);
regs->msr &= ~MSR_DE; regs->msr &= ~MSR_DE;
#else #else
......
...@@ -80,10 +80,10 @@ _GLOBAL(load_up_altivec) ...@@ -80,10 +80,10 @@ _GLOBAL(load_up_altivec)
mtvscr vr0 mtvscr vr0
REST_32VRS(0,r4,r5) REST_32VRS(0,r4,r5)
#ifndef CONFIG_SMP #ifndef CONFIG_SMP
/* Update last_task_used_math to 'current' */ /* Update last_task_used_altivec to 'current' */
subi r4,r5,THREAD /* Back to 'current' */ subi r4,r5,THREAD /* Back to 'current' */
fromreal(r4) fromreal(r4)
PPC_STL r4,ADDROFF(last_task_used_math)(r3) PPC_STL r4,ADDROFF(last_task_used_altivec)(r3)
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
/* restore registers and return */ /* restore registers and return */
blr blr
...@@ -172,7 +172,7 @@ _GLOBAL(load_up_vsx) ...@@ -172,7 +172,7 @@ _GLOBAL(load_up_vsx)
oris r12,r12,MSR_VSX@h oris r12,r12,MSR_VSX@h
std r12,_MSR(r1) std r12,_MSR(r1)
#ifndef CONFIG_SMP #ifndef CONFIG_SMP
/* Update last_task_used_math to 'current' */ /* Update last_task_used_vsx to 'current' */
ld r4,PACACURRENT(r13) ld r4,PACACURRENT(r13)
std r4,0(r3) std r4,0(r3)
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
......
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