FYI Edson had to patch this in to get BDI to work on 85xx with 2.6.14.
--- /home/edson/linux-2.6.14/Makefile 2005-10-27 17:02:08.000000000 -0700 +++ Makefile 2005-11-02 10:32:00.000000000 -0800 @@ -524,7 +524,7 @@ endif ifdef CONFIG_DEBUG_INFO -CFLAGS += -g +CFLAGS += -g -ggdb endif include $(srctree)/arch/$(ARCH)/Makefile --- /home/edson/linux-2.6.14/arch/ppc/kernel/head_fsl_booke.S 2005-10-27 17:02:08.000000000 -0700 +++ arch/ppc/kernel/head_fsl_booke.S 2005-11-02 19:59:21.000000000 -0800 @@ -187,6 +187,10 @@ xori r6,r4,1 slwi r6,r6,5 /* setup new context with other address space */ +#if defined(CONFIG_BDI_SWITCH) + mfmsr r9 + rlwimi r6,r9,0,22,22 /* preserve MSR[DE] */ +#endif bl 1f /* Find our address */ 1: mflr r9 rlwimi r7,r9,0,20,31 @@ -238,6 +242,10 @@ /* 7. Jump to KERNELBASE mapping */ lis r7,MSR_KERNEL at h ori r7,r7,MSR_KERNEL at l +#if defined(CONFIG_BDI_SWITCH) + mfmsr r9 + rlwimi r7,r9,0,22,22 /* preserve MSR[DE] */ +#endif bl 1f /* Find our address */ 1: mflr r9 rlwimi r6,r9,0,20,31 @@ -371,6 +379,10 @@ ori r4,r4,start_kernel at l lis r3,MSR_KERNEL at h ori r3,r3,MSR_KERNEL at l +#if defined(CONFIG_BDI_SWITCH) + mfmsr r5 + rlwimi r3,r5,0,22,22 /* preserve MSR[DE] */ +#endif mtspr SPRN_SRR0,r4 mtspr SPRN_SRR1,r3 rfi /* change context and jump to start_kernel */ --- /home/edson/linux-2.6.14/arch/ppc/kernel/process.c 2005-10-27 17:02:08.000000000 -0700 +++ arch/ppc/kernel/process.c 2005-11-02 19:33:12.000000000 -0800 @@ -473,6 +473,10 @@ regs->nip = nip; regs->gpr[1] = sp; regs->msr = MSR_USER; +#if (defined(CONFIG_BOOKE) && defined(CONFIG_BDI_SWITCH)) + /* propagate the debug enable bit for BDI support */ + regs->msr |= (mfmsr() & MSR_DE); +#endif if (last_task_used_math == current) last_task_used_math = NULL; if (last_task_used_altivec == current)