patch-2.4.18 linux/arch/ppc/kernel/entry.S
Next file: linux/arch/ppc/kernel/feature.c
Previous file: linux/arch/ppc/kernel/cputable.c
Back to the patch index
Back to the overall index
- Lines: 32
- Date:
Mon Feb 4 18:47:24 2002
- Orig file:
linux.orig/arch/ppc/kernel/entry.S
- Orig date:
Mon Feb 18 20:18:39 2002
diff -Naur -X /home/marcelo/lib/dontdiff linux.orig/arch/ppc/kernel/entry.S linux/arch/ppc/kernel/entry.S
@@ -1,5 +1,5 @@
/*
- * BK Id: SCCS/s.entry.S 1.24 11/23/01 16:38:29 paulus
+ * BK Id: SCCS/s.entry.S 1.26 01/25/02 15:15:24 benh
*/
/*
* PowerPC version
@@ -338,13 +338,24 @@
REST_4GPRS(3, r1)
REST_2GPRS(7, r1)
+#ifndef CONFIG_SMP
/* We have to "dummy" load from the context save area in case
* these instructions cause an MMU fault. If this happens
* after we load SRR0/SRR1, our return context is hosed. -- Dan
+ *
+ * This workaround is not enough, we must also make sure the
+ * actual code for this routine is in the TLB or BAT mapped.
+ * For 6xx/Power3, we know the code is in a BAT, so this should
+ * be enough in UP. In SMP, I limit lowmem to the amount of
+ * RAM that can be BAT mapped. Other CPUs may need additional
+ * tweaks, especially if used SMP or if the code for this routine
+ * crosses page boundaries. The TLB pin down for 4xx should help
+ * for example. --BenH.
*/
lwz r0,GPR0(r1)
lwz r0,GPR2(r1)
lwz r0,GPR1(r1)
+#endif /* ndef CONFIG_SMP */
/* We re-use r3,r4 here (the load above was to cause the MMU
* fault if necessary). Using r3,r4 removes the need to "dummy"
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)