Index: 2.6-8xx/drivers/char/blocker.c
===================================================================
--- 2.6-8xx.orig/drivers/char/blocker.c	2005-06-16 13:45:08.000000000 -0300
+++ 2.6-8xx/drivers/char/blocker.c	2005-06-16 13:46:46.000000000 -0300
@@ -17,6 +17,8 @@
 	u64 tsc;
 #ifdef ARCHARM
 	tsc = *oscr;
+#elif defined(CONFIG_PPC)
+	tsc = sched_clock();
 #else
 	__asm__ __volatile__("rdtsc" : "=A" (tsc));
 #endif
Index: 2.6-8xx/kernel/latency.c
===================================================================
--- 2.6-8xx.orig/kernel/latency.c	2005-06-16 13:45:08.000000000 -0300
+++ 2.6-8xx/kernel/latency.c	2005-06-16 13:46:46.000000000 -0300
@@ -22,6 +22,7 @@
 #include <linux/rtc.h>
 #include <asm/uaccess.h>
 #include <asm/unistd.h>
+#include <asm/time.h>
 
 #ifdef CONFIG_PPC
 #include <asm/time.h>
Index: 2.6-8xx/arch/ppc/kernel/ppc_ksyms.c
===================================================================
--- 2.6-8xx.orig/arch/ppc/kernel/ppc_ksyms.c	2005-06-16 13:45:08.000000000 -0300
+++ 2.6-8xx/arch/ppc/kernel/ppc_ksyms.c	2005-06-16 14:33:33.000000000 -0300
@@ -277,14 +277,14 @@
 
 EXPORT_SYMBOL(__delay);
 #ifndef INLINE_IRQS
-EXPORT_SYMBOL(local_irq_enable);
-EXPORT_SYMBOL(local_irq_enable_end);
-EXPORT_SYMBOL(local_irq_disable);
-EXPORT_SYMBOL(local_irq_disable_end);
-EXPORT_SYMBOL(local_save_flags_ptr);
-EXPORT_SYMBOL(local_save_flags_ptr_end);
-EXPORT_SYMBOL(local_irq_restore);
-EXPORT_SYMBOL(local_irq_restore_end);
+EXPORT_SYMBOL(__raw_local_irq_enable);
+EXPORT_SYMBOL(__raw_local_irq_enable_end);
+EXPORT_SYMBOL(__raw_local_irq_disable);
+EXPORT_SYMBOL(__raw_local_irq_disable_end);
+EXPORT_SYMBOL(__raw_local_save_flags_ptr);
+EXPORT_SYMBOL(__raw_local_save_flags_ptr_end);
+EXPORT_SYMBOL(__raw_local_irq_restore);
+EXPORT_SYMBOL(__raw_local_irq_restore_end);
 #endif
 EXPORT_SYMBOL(timer_interrupt);
 EXPORT_SYMBOL(irq_desc);
Index: 2.6-8xx/arch/ppc/kernel/process.c
===================================================================
--- 2.6-8xx.orig/arch/ppc/kernel/process.c	2005-06-16 12:27:28.000000000 -0300
+++ 2.6-8xx/arch/ppc/kernel/process.c	2005-06-16 14:11:16.000000000 -0300
@@ -53,7 +53,7 @@
 struct task_struct *last_task_used_spe = NULL;
 
 static struct fs_struct init_fs = INIT_FS;
-static struct files_struct init_files = INIT_FILES;
+static struct files_struct init_files = 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);
Index: 2.6-8xx/include/asm-ppc/thread_info.h
===================================================================
--- 2.6-8xx.orig/include/asm-ppc/thread_info.h	2005-06-16 12:29:07.000000000 -0300
+++ 2.6-8xx/include/asm-ppc/thread_info.h	2005-06-16 13:51:56.000000000 -0300
@@ -77,12 +77,15 @@
 #define TIF_POLLING_NRFLAG	4	/* true if poll_idle() is polling
 					   TIF_NEED_RESCHED */
 #define TIF_MEMDIE		5
+#define TIF_NEED_RESCHED_DELAYED 6	/* reschedule on return to userspace */
+
 /* as above, but as bit values */
 #define _TIF_SYSCALL_TRACE	(1<<TIF_SYSCALL_TRACE)
 #define _TIF_NOTIFY_RESUME	(1<<TIF_NOTIFY_RESUME)
 #define _TIF_SIGPENDING		(1<<TIF_SIGPENDING)
 #define _TIF_NEED_RESCHED	(1<<TIF_NEED_RESCHED)
 #define _TIF_POLLING_NRFLAG	(1<<TIF_POLLING_NRFLAG)
+#define _TIF_NEED_RESCHED_DELAYED (1<<TIF_NEED_RESCHED_DELAYED)
 
 /*
  * Non racy (local) flags bit numbers
