patch-2.3.30 linux/arch/arm/mm/mm-armv.c

Next file: linux/arch/arm/mm/proc-arm2,3.S
Previous file: linux/arch/arm/mm/init.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.29/linux/arch/arm/mm/mm-armv.c linux/arch/arm/mm/mm-armv.c
@@ -25,6 +25,29 @@
 extern pte_t *get_bad_pte_table(void);
 
 /*
+ * These are useful for identifing cache coherency
+ * problems by allowing the cache or the cache and
+ * writebuffer to be turned off.  (Note: the write
+ * buffer should not be on and the cache off).
+ */
+static int __init nocache_setup(char *__unused)
+{
+	cr_alignment &= ~4;
+	cr_no_alignment &= ~4;
+	set_cr(cr_alignment);
+}
+
+static int __init nowrite_setup(char *__unused)
+{
+	cr_alignment &= ~(8|4);
+	cr_no_alignment &= ~(8|4);
+	set_cr(cr_alignment);
+}
+
+__setup("nocache", nocache_setup);
+__setup("nowb", nowrite_setup);
+
+/*
  * need to get a 16k page for level 1
  */
 pgd_t *get_pgd_slow(void)
@@ -353,7 +376,7 @@
 {
 	unsigned int start_pfn, end_pfn = -1;
 	struct page *pg = NULL;
-	unsigned int sz, i;
+	unsigned int i;
 
 	for (i = 0; i < meminfo.nr_banks; i++) {
 		if (meminfo.bank[i].size == 0)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)