|
@@ -486,28 +486,6 @@ struct task_struct *__switch_to(struct task_struct *prev,
|
|
|
new_thread = &new->thread;
|
|
|
old_thread = ¤t->thread;
|
|
|
|
|
|
-#if defined(CONFIG_PPC_BOOK3E_64)
|
|
|
- /* XXX Current Book3E code doesn't deal with kernel side DBCR0,
|
|
|
- * we always hold the user values, so we set it now.
|
|
|
- *
|
|
|
- * However, we ensure the kernel MSR:DE is appropriately cleared too
|
|
|
- * to avoid spurrious single step exceptions in the kernel.
|
|
|
- *
|
|
|
- * This will have to change to merge with the ppc32 code at some point,
|
|
|
- * but I don't like much what ppc32 is doing today so there's some
|
|
|
- * thinking needed there
|
|
|
- */
|
|
|
- if ((new_thread->dbcr0 | old_thread->dbcr0) & DBCR0_IDM) {
|
|
|
- u32 dbcr0;
|
|
|
-
|
|
|
- mtmsr(mfmsr() & ~MSR_DE);
|
|
|
- isync();
|
|
|
- dbcr0 = mfspr(SPRN_DBCR0);
|
|
|
- dbcr0 = (dbcr0 & DBCR0_EDM) | new_thread->dbcr0;
|
|
|
- mtspr(SPRN_DBCR0, dbcr0);
|
|
|
- }
|
|
|
-#endif /* CONFIG_PPC64_BOOK3E */
|
|
|
-
|
|
|
#ifdef CONFIG_PPC64
|
|
|
/*
|
|
|
* Collect processor utilization data per process
|