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)


Reply via email to