diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2009-11-17 04:01:34 -0500 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2009-11-17 04:01:34 -0500 |
commit | bb9074ff58fe745e4f244f76209241909c82ec9c (patch) | |
tree | cf6be00ab88b1e315f6b74a896a370440f677599 /arch/arm/kernel | |
parent | 4739a9748e1bd7459f22f7e94e7d85710ca83954 (diff) | |
parent | 156171c71a0dc4bce12b4408bb1591f8fe32dc1a (diff) |
Merge commit 'v2.6.32-rc7'
Resolve the conflict between v2.6.32-rc7 where dn_def_dev_handler
gets a small bug fix and the sysctl tree where I am removing all
sysctl strategy routines.
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/entry-armv.S | 7 | ||||
-rw-r--r-- | arch/arm/kernel/head-common.S | 2 | ||||
-rw-r--r-- | arch/arm/kernel/smp_scu.c | 4 | ||||
-rw-r--r-- | arch/arm/kernel/traps.c | 4 |
4 files changed, 11 insertions, 6 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index 0022b4d57f8b..d2903e3bc861 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <mach/entry-macro.S> | 21 | #include <mach/entry-macro.S> |
22 | #include <asm/thread_notify.h> | 22 | #include <asm/thread_notify.h> |
23 | #include <asm/unwind.h> | 23 | #include <asm/unwind.h> |
24 | #include <asm/unistd.h> | ||
24 | 25 | ||
25 | #include "entry-header.S" | 26 | #include "entry-header.S" |
26 | 27 | ||
@@ -908,10 +909,10 @@ __kuser_cmpxchg: @ 0xffff0fc0 | |||
908 | * A special ghost syscall is used for that (see traps.c). | 909 | * A special ghost syscall is used for that (see traps.c). |
909 | */ | 910 | */ |
910 | stmfd sp!, {r7, lr} | 911 | stmfd sp!, {r7, lr} |
911 | mov r7, #0xff00 @ 0xfff0 into r7 for EABI | 912 | ldr r7, =1f @ it's 20 bits |
912 | orr r7, r7, #0xf0 | 913 | swi __ARM_NR_cmpxchg |
913 | swi #0x9ffff0 | ||
914 | ldmfd sp!, {r7, pc} | 914 | ldmfd sp!, {r7, pc} |
915 | 1: .word __ARM_NR_cmpxchg | ||
915 | 916 | ||
916 | #elif __LINUX_ARM_ARCH__ < 6 | 917 | #elif __LINUX_ARM_ARCH__ < 6 |
917 | 918 | ||
diff --git a/arch/arm/kernel/head-common.S b/arch/arm/kernel/head-common.S index 885a7214418d..b9505aa267c0 100644 --- a/arch/arm/kernel/head-common.S +++ b/arch/arm/kernel/head-common.S | |||
@@ -97,7 +97,7 @@ __error_a: | |||
97 | bl printhex8 | 97 | bl printhex8 |
98 | adr r0, str_a2 | 98 | adr r0, str_a2 |
99 | bl printascii | 99 | bl printascii |
100 | adr r3, 3f | 100 | adr r3, 4f |
101 | ldmia r3, {r4, r5, r6} @ get machine desc list | 101 | ldmia r3, {r4, r5, r6} @ get machine desc list |
102 | sub r4, r3, r4 @ get offset between virt&phys | 102 | sub r4, r3, r4 @ get offset between virt&phys |
103 | add r5, r5, r4 @ convert virt addresses to | 103 | add r5, r5, r4 @ convert virt addresses to |
diff --git a/arch/arm/kernel/smp_scu.c b/arch/arm/kernel/smp_scu.c index d3831f616ee9..9ab4149bd983 100644 --- a/arch/arm/kernel/smp_scu.c +++ b/arch/arm/kernel/smp_scu.c | |||
@@ -37,6 +37,10 @@ void __init scu_enable(void __iomem *scu_base) | |||
37 | u32 scu_ctrl; | 37 | u32 scu_ctrl; |
38 | 38 | ||
39 | scu_ctrl = __raw_readl(scu_base + SCU_CTRL); | 39 | scu_ctrl = __raw_readl(scu_base + SCU_CTRL); |
40 | /* already enabled? */ | ||
41 | if (scu_ctrl & 1) | ||
42 | return; | ||
43 | |||
40 | scu_ctrl |= 1; | 44 | scu_ctrl |= 1; |
41 | __raw_writel(scu_ctrl, scu_base + SCU_CTRL); | 45 | __raw_writel(scu_ctrl, scu_base + SCU_CTRL); |
42 | 46 | ||
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 95718a6b50a6..3f361a783f43 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c | |||
@@ -528,7 +528,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs) | |||
528 | * __kuser_cmpxchg code in entry-armv.S should be aware of its | 528 | * __kuser_cmpxchg code in entry-armv.S should be aware of its |
529 | * existence. Don't ever use this from user code. | 529 | * existence. Don't ever use this from user code. |
530 | */ | 530 | */ |
531 | case 0xfff0: | 531 | case NR(cmpxchg): |
532 | for (;;) { | 532 | for (;;) { |
533 | extern void do_DataAbort(unsigned long addr, unsigned int fsr, | 533 | extern void do_DataAbort(unsigned long addr, unsigned int fsr, |
534 | struct pt_regs *regs); | 534 | struct pt_regs *regs); |
@@ -573,7 +573,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs) | |||
573 | if not implemented, rather than raising SIGILL. This | 573 | if not implemented, rather than raising SIGILL. This |
574 | way the calling program can gracefully determine whether | 574 | way the calling program can gracefully determine whether |
575 | a feature is supported. */ | 575 | a feature is supported. */ |
576 | if (no <= 0x7ff) | 576 | if ((no & 0xffff) <= 0x7ff) |
577 | return -ENOSYS; | 577 | return -ENOSYS; |
578 | break; | 578 | break; |
579 | } | 579 | } |