Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c6c9eace authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt
Browse files

powerpc/booke: Don't set DABR on 64-bit BookE, use DAC1 instead



Also remove a duplicate setting of it in the context switch path
on BookE.

Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent e51ee31e
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -284,14 +284,13 @@ int set_dabr(unsigned long dabr)
		return ppc_md.set_dabr(dabr);

	/* XXX should we have a CPU_FTR_HAS_DABR ? */
#if defined(CONFIG_PPC64) || defined(CONFIG_6xx)
	mtspr(SPRN_DABR, dabr);
#endif

#if defined(CONFIG_BOOKE)
	mtspr(SPRN_DAC1, dabr);
#elif defined(CONFIG_PPC_BOOK3S)
	mtspr(SPRN_DABR, dabr);
#endif


	return 0;
}

@@ -372,15 +371,16 @@ struct task_struct *__switch_to(struct task_struct *prev,

#endif /* CONFIG_SMP */

	if (unlikely(__get_cpu_var(current_dabr) != new->thread.dabr))
		set_dabr(new->thread.dabr);

#if defined(CONFIG_BOOKE)
	/* If new thread DAC (HW breakpoint) is the same then leave it */
	if (new->thread.dabr)
		set_dabr(new->thread.dabr);
#else
	if (unlikely(__get_cpu_var(current_dabr) != new->thread.dabr))
		set_dabr(new->thread.dabr);
#endif


	new_thread = &new->thread;
	old_thread = &current->thread;