patch-2.4.1 linux/arch/sh/mm/cache.c

Next file: linux/arch/sparc/config.in
Previous file: linux/arch/sh/lib/delay.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0/linux/arch/sh/mm/cache.c linux/arch/sh/mm/cache.c
@@ -244,6 +244,22 @@
 }
 
 /*
+ * Write back the D-cache and purge the I-cache for signal trampoline. 
+ */
+void flush_cache_sigtramp(unsigned long addr)
+{
+	unsigned long v, index;
+
+	v = addr & ~(L1_CACHE_BYTES-1);
+	asm volatile("ocbwb	%0"
+		     : /* no output */
+		     : "m" (__m(v)));
+
+	index = CACHE_IC_ADDRESS_ARRAY| (v&CACHE_IC_ENTRY_MASK);
+	ctrl_outl(0, index);	/* Clear out Valid-bit */
+}
+
+/*
  * Invalidate the I-cache of the page (don't need to write back D-cache).
  *
  * Called from kernel/ptrace.c, mm/memory.c after flush_page_to_ram is called.

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