diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-02-25 17:07:25 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-02-25 17:07:25 -0500 |
commit | 186f93ea1f274f4cde4a356401c1786c818ff881 (patch) | |
tree | de28f076c823d5423a5b4780f0d37554c242c982 /arch/arm/kernel | |
parent | 3560adf62075829393743667ff338dd8fd26a5c2 (diff) | |
parent | 4e6d488af37980d224cbf298224db6173673f362 (diff) |
Merge branch 'tmpreg' into devel
Conflicts:
arch/arm/Kconfig
arch/arm/mach-ux500/include/mach/debug-macro.S
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/debug.S | 30 | ||||
-rw-r--r-- | arch/arm/kernel/elf.c | 9 |
2 files changed, 25 insertions, 14 deletions
diff --git a/arch/arm/kernel/debug.S b/arch/arm/kernel/debug.S index b121b6053cce..a38b4879441d 100644 --- a/arch/arm/kernel/debug.S +++ b/arch/arm/kernel/debug.S | |||
@@ -24,7 +24,7 @@ | |||
24 | 24 | ||
25 | #if defined(CONFIG_CPU_V6) | 25 | #if defined(CONFIG_CPU_V6) |
26 | 26 | ||
27 | .macro addruart, rx | 27 | .macro addruart, rx, tmp |
28 | .endm | 28 | .endm |
29 | 29 | ||
30 | .macro senduart, rd, rx | 30 | .macro senduart, rd, rx |
@@ -49,9 +49,29 @@ | |||
49 | 1002: | 49 | 1002: |
50 | .endm | 50 | .endm |
51 | 51 | ||
52 | #elif defined(CONFIG_CPU_V7) | ||
53 | |||
54 | .macro addruart, rx, tmp | ||
55 | .endm | ||
56 | |||
57 | .macro senduart, rd, rx | ||
58 | mcr p14, 0, \rd, c0, c5, 0 | ||
59 | .endm | ||
60 | |||
61 | .macro busyuart, rd, rx | ||
62 | busy: mrc p14, 0, pc, c0, c1, 0 | ||
63 | bcs busy | ||
64 | .endm | ||
65 | |||
66 | .macro waituart, rd, rx | ||
67 | wait: mrc p14, 0, pc, c0, c1, 0 | ||
68 | bcs wait | ||
69 | |||
70 | .endm | ||
71 | |||
52 | #elif defined(CONFIG_CPU_XSCALE) | 72 | #elif defined(CONFIG_CPU_XSCALE) |
53 | 73 | ||
54 | .macro addruart, rx | 74 | .macro addruart, rx, tmp |
55 | .endm | 75 | .endm |
56 | 76 | ||
57 | .macro senduart, rd, rx | 77 | .macro senduart, rd, rx |
@@ -78,7 +98,7 @@ | |||
78 | 98 | ||
79 | #else | 99 | #else |
80 | 100 | ||
81 | .macro addruart, rx | 101 | .macro addruart, rx, tmp |
82 | .endm | 102 | .endm |
83 | 103 | ||
84 | .macro senduart, rd, rx | 104 | .macro senduart, rd, rx |
@@ -144,7 +164,7 @@ ENDPROC(printhex2) | |||
144 | .ltorg | 164 | .ltorg |
145 | 165 | ||
146 | ENTRY(printascii) | 166 | ENTRY(printascii) |
147 | addruart r3 | 167 | addruart r3, r1 |
148 | b 2f | 168 | b 2f |
149 | 1: waituart r2, r3 | 169 | 1: waituart r2, r3 |
150 | senduart r1, r3 | 170 | senduart r1, r3 |
@@ -160,7 +180,7 @@ ENTRY(printascii) | |||
160 | ENDPROC(printascii) | 180 | ENDPROC(printascii) |
161 | 181 | ||
162 | ENTRY(printch) | 182 | ENTRY(printch) |
163 | addruart r3 | 183 | addruart r3, r1 |
164 | mov r1, r0 | 184 | mov r1, r0 |
165 | mov r0, #0 | 185 | mov r0, #0 |
166 | b 1b | 186 | b 1b |
diff --git a/arch/arm/kernel/elf.c b/arch/arm/kernel/elf.c index 950391f194c4..d4a0da1e48f4 100644 --- a/arch/arm/kernel/elf.c +++ b/arch/arm/kernel/elf.c | |||
@@ -78,15 +78,6 @@ int arm_elf_read_implies_exec(const struct elf32_hdr *x, int executable_stack) | |||
78 | return 1; | 78 | return 1; |
79 | if (cpu_architecture() < CPU_ARCH_ARMv6) | 79 | if (cpu_architecture() < CPU_ARCH_ARMv6) |
80 | return 1; | 80 | return 1; |
81 | #if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT) | ||
82 | /* | ||
83 | * If we have support for OABI programs, we can never allow NX | ||
84 | * support - our signal syscall restart mechanism relies upon | ||
85 | * being able to execute code placed on the user stack. | ||
86 | */ | ||
87 | return 1; | ||
88 | #else | ||
89 | return 0; | 81 | return 0; |
90 | #endif | ||
91 | } | 82 | } |
92 | EXPORT_SYMBOL(arm_elf_read_implies_exec); | 83 | EXPORT_SYMBOL(arm_elf_read_implies_exec); |