mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
use broken-out patches for the coldfire to make it easier to follow differences against the bsp
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16547 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
42
target/linux/coldfire/patches/053-mcfv4e_brcache_inval.patch
Normal file
42
target/linux/coldfire/patches/053-mcfv4e_brcache_inval.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
From eba69831e8f35174e2e15e373a66f40dc0be8929 Mon Sep 17 00:00:00 2001
|
||||
From: Kurt Mahan <kmahan@freescale.com>
|
||||
Date: Wed, 14 May 2008 12:23:12 -0600
|
||||
Subject: [PATCH] Force branch-cache invalidate on task switch.
|
||||
|
||||
When finishing a task switch make sure the branch cache
|
||||
gets invalidated to ensure no stale entries exist for
|
||||
the next user space.
|
||||
|
||||
LTIBName: mcfv4e-brcache-inval
|
||||
Signed-off-by: Kurt Mahan <kmahan@freescale.com>
|
||||
---
|
||||
include/asm-m68k/system.h | 15 +++++++++++++++
|
||||
1 files changed, 15 insertions(+), 0 deletions(-)
|
||||
|
||||
--- a/include/asm-m68k/system.h
|
||||
+++ b/include/asm-m68k/system.h
|
||||
@@ -5,9 +5,24 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <asm/segment.h>
|
||||
#include <asm/entry.h>
|
||||
+#include <asm/cfcache.h>
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
+#ifdef CONFIG_COLDFIRE
|
||||
+#define FLUSH_BC (0x00040000)
|
||||
+
|
||||
+#define finish_arch_switch(prev) do { \
|
||||
+ unsigned long tmpreg; \
|
||||
+ asm volatile ( "move.l %2,%0\n" \
|
||||
+ "orl %1,%0\n" \
|
||||
+ "movec %0,%%cacr" \
|
||||
+ : "=&d" (tmpreg) \
|
||||
+ : "id" (FLUSH_BC), "m" (shadow_cacr)); \
|
||||
+ } while(0)
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* switch_to(n) should switch tasks to task ptr, first checking that
|
||||
* ptr isn't the current task, in which case it does nothing. This
|
||||
Reference in New Issue
Block a user