* [PATCH] Fix compilation of 2.6.16-rt13 real-time preemption patch on PowerPC
@ 2006-04-07 18:58 Walter L. Wimer III
2006-04-08 13:50 ` Ingo Molnar
0 siblings, 1 reply; 2+ messages in thread
From: Walter L. Wimer III @ 2006-04-07 18:58 UTC (permalink / raw)
To: linux-kernel; +Cc: Ingo Molnar, Gleixner, Thomas
The following patch corrects errors encountered when compiling the
2.6.16-rt13 real-time preemption patch on the PowerPC architecture:
* The INIT_FS and INIT_FILES macro definitions changed, but
corresponding changes to the calls were missed on PowerPC.
* The new TIF_NEED_RESCHED_DELAYED definition caused an overflow
of a 16-bit immediate load field in several PowerPC
assembly-language instructions (e.g. in entry.S). This patch
changes the definition of TIF_NEED_RESCHED_DELAYED from the
value 16 to the value 13 (which appears to have been previously
unused). (All bits from 0 to 15 are now in use on PPC, so if
any new thread_info flags are needed, we'll have to actually fix
the PPC assembly code to deal with the resulting 32-bit
quantity.)
* The file include/asm-powerpc/irqflags.h was missing completely
on PowerPC. For now, I've supplied a stub file. There is
currently no support for CONFIG_DEBUG_TRACE_IRQFLAGS.
Thanks go to Thomas Gleixner for his comments/suggestions on this patch.
I've successfully built and test-booted this on an AMCC440EP "Bamboo" board.
Signed-off-by: Walt Wimer <walt.wimer@timesys.com>
diff -Naur linux-2.6.16-rt13-orig/arch/powerpc/kernel/init_task.c linux-2.6.16-rt13-fixd/arch/powerpc/kernel/init_task.c
--- linux-2.6.16-rt13-orig/arch/powerpc/kernel/init_task.c 2006-04-07 13:26:49.000000000 -0400
+++ linux-2.6.16-rt13-fixd/arch/powerpc/kernel/init_task.c 2006-03-20 00:53:29.000000000 -0500
@@ -3,12 +3,12 @@
#include <linux/sched.h>
#include <linux/init.h>
#include <linux/init_task.h>
-#include <linux/fs_struct.h>
+#include <linux/fs.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h>
-static struct fs_struct init_fs = INIT_FS(init_fs);
-static struct files_struct init_files = INIT_FILES(init_files);
+static struct fs_struct init_fs = INIT_FS;
+static struct files_struct init_files = INIT_FILES;
static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
struct mm_struct init_mm = INIT_MM(init_mm);
diff -Naur linux-2.6.16-rt13-orig/include/asm-powerpc/thread_info.h linux-2.6.16-rt13-fixd/include/asm-powerpc/thread_info.h
--- linux-2.6.16-rt13-orig/include/asm-powerpc/thread_info.h 2006-04-07 13:26:55.000000000 -0400
+++ linux-2.6.16-rt13-fixd/include/asm-powerpc/thread_info.h 2006-04-07 12:44:05.000000000 -0400
@@ -119,9 +119,9 @@
#define TIF_MEMDIE 10
#define TIF_SECCOMP 11 /* secure computing */
#define TIF_RESTOREALL 12 /* Restore all regs (implies NOERROR) */
+#define TIF_NEED_RESCHED_DELAYED 13 /* reschedule on return to userspace */
#define TIF_NOERROR 14 /* Force successful syscall return */
#define TIF_RESTORE_SIGMASK 15 /* Restore signal mask in do_signal */
-#define TIF_NEED_RESCHED_DELAYED 16 /* reschedule on return to userspace */
/* as above, but as bit values */
#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE)
diff -Naur linux-2.6.16-rt13-orig/include/asm-powerpc/irqflags.h linux-2.6.16-rt13-fixd/include/asm-powerpc/irqflags.h
--- linux-2.6.16-rt13-orig/include/asm-powerpc/irqflags.h 1969-12-31 19:00:00.000000000 -0500
+++ linux-2.6.16-rt13-fixd/include/asm-powerpc/irqflags.h 2006-04-07 12:39:01.000000000 -0400
@@ -0,0 +1,33 @@
+/*
+ * include/asm-powerpc/irqflags.h
+ *
+ * IRQ flags handling
+ *
+ * This file gets included from lowlevel asm headers too, to provide
+ * wrapped versions of the local_irq_*() APIs, based on the
+ * raw_local_irq_*() macros from the lowlevel headers.
+ */
+#ifndef _ASM_IRQFLAGS_H
+#define _ASM_IRQFLAGS_H
+
+/*
+ * Get definitions for raw_local_save_flags(x), etc.
+ */
+#include <asm-powerpc/hw_irq.h>
+
+/*
+ * Do the CPU's IRQ-state tracing from assembly code. We call a
+ * C function, so save all the C-clobbered registers:
+ */
+#ifdef CONFIG_DEBUG_TRACE_IRQFLAGS
+
+#error No support on PowerPC yet for CONFIG_DEBUG_TRACE_IRQFLAGS
+
+#else
+# define TRACE_IRQS_ON
+# define TRACE_IRQS_OFF
+# define TRACE_IRQS_ON_STR
+# define TRACE_IRQS_OFF_STR
+#endif
+
+#endif
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] Fix compilation of 2.6.16-rt13 real-time preemption patch on PowerPC
2006-04-07 18:58 [PATCH] Fix compilation of 2.6.16-rt13 real-time preemption patch on PowerPC Walter L. Wimer III
@ 2006-04-08 13:50 ` Ingo Molnar
0 siblings, 0 replies; 2+ messages in thread
From: Ingo Molnar @ 2006-04-08 13:50 UTC (permalink / raw)
To: Walter L. Wimer III; +Cc: linux-kernel, Gleixner, Thomas
* Walter L. Wimer III <walt.wimer@timesys.com> wrote:
> The following patch corrects errors encountered when compiling the
> 2.6.16-rt13 real-time preemption patch on the PowerPC architecture:
>
> * The INIT_FS and INIT_FILES macro definitions changed, but
> corresponding changes to the calls were missed on PowerPC.
>
> * The new TIF_NEED_RESCHED_DELAYED definition caused an overflow
> of a 16-bit immediate load field in several PowerPC
> assembly-language instructions (e.g. in entry.S). This patch
> changes the definition of TIF_NEED_RESCHED_DELAYED from the
> value 16 to the value 13 (which appears to have been previously
> unused). (All bits from 0 to 15 are now in use on PPC, so if
> any new thread_info flags are needed, we'll have to actually fix
> the PPC assembly code to deal with the resulting 32-bit
> quantity.)
>
> * The file include/asm-powerpc/irqflags.h was missing completely
> on PowerPC. For now, I've supplied a stub file. There is
> currently no support for CONFIG_DEBUG_TRACE_IRQFLAGS.
>
> Thanks go to Thomas Gleixner for his comments/suggestions on this
> patch.
>
> I've successfully built and test-booted this on an AMCC440EP "Bamboo"
> board.
thanks, applied.
Ingo
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-04-08 13:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-07 18:58 [PATCH] Fix compilation of 2.6.16-rt13 real-time preemption patch on PowerPC Walter L. Wimer III
2006-04-08 13:50 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).