All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frank Rowand <frank.rowand@am.sony.com>
To: linux-kernel@vger.kernel.org
Cc: mingo@redhat.com, tglx@linutronix.de
Subject: [PATCH 3/4] RT: remove finish_arch_switch
Date: Tue, 15 Jan 2008 14:20:46 -0800	[thread overview]
Message-ID: <1200435646.4092.18.camel@bx740> (raw)

From: Frank Rowand <frank.rowand@am.sony.com>

This is probably just a temporary workaround for one procssor - the MIPS
community will most likely want to architect a solution to this issue.

Make of preempt kernel barfs in kernel/sched.c ifdef finish_arch_switch.
Remove the finish_arch_switch() for boards with TX49xx MIPS processor.

Signed-off-by: Frank Rowand <frank.rowand@am.sony.com>
---
 include/asm-mips/mach-tx49xx/cpu-feature-overrides.h |    7 	7 +	0 -	0 !
 include/asm-mips/system.h                            |    3 	3 +	0 -	0 !
 2 files changed, 10 insertions(+)

Index: linux-2.6.24-rc7/include/asm-mips/mach-tx49xx/cpu-feature-overrides.h
===================================================================
--- linux-2.6.24-rc7.orig/include/asm-mips/mach-tx49xx/cpu-feature-overrides.h
+++ linux-2.6.24-rc7/include/asm-mips/mach-tx49xx/cpu-feature-overrides.h
@@ -1,6 +1,13 @@
 #ifndef __ASM_MACH_TX49XX_CPU_FEATURE_OVERRIDES_H
 #define __ASM_MACH_TX49XX_CPU_FEATURE_OVERRIDES_H
 
+/* finish_arch_switch_empty is defined if we know finish_arch_switch() will
+ * be empty, based on the lack of features defined in this file.  This is
+ * needed because config preempt will barf in kernel/sched.c ifdef
+ * finish_arch_switch
+ */
+#define finish_arch_switch_empty
+
 #define cpu_has_llsc	1
 #define cpu_has_64bits	1
 #define cpu_has_inclusive_pcaches	0
Index: linux-2.6.24-rc7/include/asm-mips/system.h
===================================================================
--- linux-2.6.24-rc7.orig/include/asm-mips/system.h
+++ linux-2.6.24-rc7/include/asm-mips/system.h
@@ -70,6 +70,8 @@ do {									\
 	(last) = resume(prev, next, task_thread_info(next));		\
 } while (0)
 
+/* preempt kernel barfs in kernel/sched.c ifdef finish_arch_switch */
+#ifndef finish_arch_switch_empty
 #define finish_arch_switch(prev)					\
 do {									\
 	if (cpu_has_dsp)						\
@@ -77,6 +79,7 @@ do {									\
 	if (cpu_has_userlocal)						\
 		write_c0_userlocal(current_thread_info()->tp_value);	\
 } while (0)
+#endif
 
 static inline unsigned long __xchg_u32(volatile int * m, unsigned int val)
 {




             reply	other threads:[~2008-01-15 22:22 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-15 22:20 Frank Rowand [this message]
2008-01-16  2:14 ` [PATCH 3/4] RT: remove finish_arch_switch Steven Rostedt
2008-01-16  2:17   ` Rowand, Frank

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1200435646.4092.18.camel@bx740 \
    --to=frank.rowand@am.sony.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.