[PATCH -rt 2/2] arm update

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 - Fixed arm mcount/arm_return_addr so they aren't under OABI_COMPAT ifdefs .
 - adds a new NR_syscalls macro, converts the old one into __NR_syscalls for
   calculating the table padding .
 - removes old semaphore __MUTEX_INITIALIZER()
 - depends blocker on X86 
 - updates clockfw_lock to a raw_spinlock_t


Looks like arm hasn't been compiled in a while .. Needs an updated for 
generic irqs too. There's still some struct semaphore usage , shouldn't 
they be either compat_semaphore or mutex types now ?

Signed-Off-By: Daniel Walker <[email protected]>

Index: linux-2.6.16/include/linux/plist.h
===================================================================
--- linux-2.6.16.orig/include/linux/plist.h
+++ linux-2.6.16/include/linux/plist.h
@@ -73,6 +73,7 @@
 #ifndef _LINUX_PLIST_H_
 #define _LINUX_PLIST_H_
 
+#include <linux/kernel.h>
 #include <linux/list.h>
 #include <linux/spinlock_types.h>
 
Index: linux-2.6.16/include/asm-arm/semaphore.h
===================================================================
--- linux-2.6.16.orig/include/asm-arm/semaphore.h
+++ linux-2.6.16/include/asm-arm/semaphore.h
@@ -19,7 +19,6 @@
  */
 #ifndef CONFIG_PREEMPT_RT
 # define semaphore compat_semaphore
-#define __MUTEX_INITIALIZER(name) __COMPAT_MUTEX_INITIALIZER(name)
 #endif
 
 #include <asm/atomic.h>
Index: linux-2.6.16/drivers/char/Kconfig
===================================================================
--- linux-2.6.16.orig/drivers/char/Kconfig
+++ linux-2.6.16/drivers/char/Kconfig
@@ -730,6 +730,7 @@ config RTC_HISTOGRAM
 
 config BLOCKER
 	tristate "Priority Inheritance Debugging (Blocker) Device Support"
+	depends on X86
 	default y
 	---help---
 	  If you say Y here then a device will be created that the userspace
Index: linux-2.6.16/include/asm-arm/arch/clock.h
===================================================================
--- linux-2.6.16.orig/include/asm-arm/arch/clock.h
+++ linux-2.6.16/include/asm-arm/arch/clock.h
@@ -48,7 +48,7 @@ struct clk_functions {
 
 extern unsigned int mpurate;
 extern struct list_head clocks;
-extern spinlock_t clockfw_lock;
+extern raw_spinlock_t clockfw_lock;
 
 extern int clk_init(struct clk_functions * custom_clocks);
 extern int clk_register(struct clk *clk);
Index: linux-2.6.16/arch/arm/kernel/calls.S
===================================================================
--- linux-2.6.16.orig/arch/arm/kernel/calls.S
+++ linux-2.6.16/arch/arm/kernel/calls.S
@@ -332,7 +332,7 @@
 /* 320 */	CALL(sys_get_mempolicy)
 		CALL(sys_set_mempolicy)
 #ifndef syscalls_counted
-.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
+.equ syscalls_padding, ((__NR_syscalls + 3) & ~3) - __NR_syscalls
 #define syscalls_counted
 #endif
 .rept syscalls_padding
Index: linux-2.6.16/arch/arm/kernel/entry-common.S
===================================================================
--- linux-2.6.16.orig/arch/arm/kernel/entry-common.S
+++ linux-2.6.16/arch/arm/kernel/entry-common.S
@@ -90,8 +90,8 @@ ENTRY(ret_from_fork)
 	b	ret_slow_syscall
 	
 
-	.equ NR_syscalls,0
-#define CALL(x) .equ NR_syscalls,NR_syscalls+1
+	.equ __NR_syscalls,0			@ Used to determine syscall table padding.
+#define CALL(x) .equ __NR_syscalls,__NR_syscalls+1
 #include "calls.S"
 #undef CALL
 #define CALL(x) .long x
@@ -205,7 +205,7 @@ ENTRY(vector_swi)
 	tst	ip, #_TIF_SYSCALL_TRACE		@ are we tracing syscalls?
 	bne	__sys_trace
 
-	cmp	scno, #NR_syscalls		@ check upper syscall limit
+	cmp	scno, #__NR_syscalls		@ check upper syscall limit
 	adr	lr, ret_fast_syscall		@ return address
 	ldrcc	pc, [tbl, scno, lsl #2]		@ call sys_* routine
 
@@ -229,7 +229,7 @@ __sys_trace:
 	adr	lr, __sys_trace_return		@ return address
 	mov	scno, r0			@ syscall number (possibly new)
 	add	r1, sp, #S_R0 + S_OFF		@ pointer to regs
-	cmp	scno, #NR_syscalls		@ check upper syscall limit
+	cmp	scno, #__NR_syscalls		@ check upper syscall limit
 	ldmccia	r1, {r0 - r3}			@ have to reload r0 - r3
 	ldrcc	pc, [tbl, scno, lsl #2]		@ call sys_* routine
 	b	2b
@@ -276,7 +276,7 @@ ENTRY(sys_call_table)
 sys_syscall:
 		eor	scno, r0, #__NR_OABI_SYSCALL_BASE
 		cmp	scno, #__NR_syscall - __NR_SYSCALL_BASE
-		cmpne	scno, #NR_syscalls	@ check range
+		cmpne	scno, #__NR_syscalls	@ check range
 		stmloia	sp, {r5, r6}		@ shuffle args
 		movlo	r0, r1
 		movlo	r1, r2
@@ -391,6 +391,7 @@ ENTRY(sys_oabi_call_table)
 #include "calls.S"
 #undef ABI
 #undef OBSOLETE
+#endif
 
 #ifdef CONFIG_FRAME_POINTER
 
@@ -499,5 +500,3 @@ arm_return_addr:
 
 #endif
 
-#endif
-
Index: linux-2.6.16/include/asm-arm/unistd.h
===================================================================
--- linux-2.6.16.orig/include/asm-arm/unistd.h
+++ linux-2.6.16/include/asm-arm/unistd.h
@@ -361,6 +361,9 @@
 #define __NR_get_mempolicy		(__NR_SYSCALL_BASE+320)
 #define __NR_set_mempolicy		(__NR_SYSCALL_BASE+321)
 
+// FIXME: check this number ...
+#define NR_syscalls			322
+
 /*
  * The following SWIs are ARM private.
  */
@@ -534,9 +537,6 @@ type name(type1 arg1, type2 arg2, type3 
 #define __ARCH_WANT_SYS_SOCKETCALL
 #endif
 
-// FIXME: check this number ...
-#define NR_syscalls	328
-
 #endif
 
 #ifdef __KERNEL_SYSCALLS__
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux