diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2009-03-13 17:44:51 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-03-13 17:44:51 -0400 |
commit | 97fb44eb6bc01f4ffed4300e475aa15e44877375 (patch) | |
tree | 481ed6efd0babe7185cae04f2fd295426b36411d /arch/arm/kernel | |
parent | e4707dd3e9d0cb57597b6568a5e51fea5d6fca41 (diff) | |
parent | 148854c65ea8046b045672fd49f4333aefaa3ab5 (diff) |
Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel
Conflicts:
arch/arm/mach-at91/gpio.c
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/elf.c | 4 | ||||
-rw-r--r-- | arch/arm/kernel/machine_kexec.c | 4 | ||||
-rw-r--r-- | arch/arm/kernel/setup.c | 13 |
3 files changed, 11 insertions, 10 deletions
diff --git a/arch/arm/kernel/elf.c b/arch/arm/kernel/elf.c index 84849098c8e8..d4a0da1e48f4 100644 --- a/arch/arm/kernel/elf.c +++ b/arch/arm/kernel/elf.c | |||
@@ -74,9 +74,9 @@ EXPORT_SYMBOL(elf_set_personality); | |||
74 | */ | 74 | */ |
75 | int arm_elf_read_implies_exec(const struct elf32_hdr *x, int executable_stack) | 75 | int arm_elf_read_implies_exec(const struct elf32_hdr *x, int executable_stack) |
76 | { | 76 | { |
77 | if (executable_stack != EXSTACK_ENABLE_X) | 77 | if (executable_stack != EXSTACK_DISABLE_X) |
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 | return 0; | 81 | return 0; |
82 | } | 82 | } |
diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c index 440dc62cdc3a..598ca61e7bca 100644 --- a/arch/arm/kernel/machine_kexec.c +++ b/arch/arm/kernel/machine_kexec.c | |||
@@ -13,8 +13,8 @@ | |||
13 | #include <asm/cacheflush.h> | 13 | #include <asm/cacheflush.h> |
14 | #include <asm/mach-types.h> | 14 | #include <asm/mach-types.h> |
15 | 15 | ||
16 | const extern unsigned char relocate_new_kernel[]; | 16 | extern const unsigned char relocate_new_kernel[]; |
17 | const extern unsigned int relocate_new_kernel_size; | 17 | extern const unsigned int relocate_new_kernel_size; |
18 | 18 | ||
19 | extern void setup_mm_for_reboot(char mode); | 19 | extern void setup_mm_for_reboot(char mode); |
20 | 20 | ||
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 8d21427bb679..bc5e4128f9f3 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c | |||
@@ -234,12 +234,13 @@ static void __init cacheid_init(void) | |||
234 | unsigned int cachetype = read_cpuid_cachetype(); | 234 | unsigned int cachetype = read_cpuid_cachetype(); |
235 | unsigned int arch = cpu_architecture(); | 235 | unsigned int arch = cpu_architecture(); |
236 | 236 | ||
237 | if (arch >= CPU_ARCH_ARMv7) { | 237 | if (arch >= CPU_ARCH_ARMv6) { |
238 | cacheid = CACHEID_VIPT_NONALIASING; | 238 | if ((cachetype & (7 << 29)) == 4 << 29) { |
239 | if ((cachetype & (3 << 14)) == 1 << 14) | 239 | /* ARMv7 register format */ |
240 | cacheid |= CACHEID_ASID_TAGGED; | 240 | cacheid = CACHEID_VIPT_NONALIASING; |
241 | } else if (arch >= CPU_ARCH_ARMv6) { | 241 | if ((cachetype & (3 << 14)) == 1 << 14) |
242 | if (cachetype & (1 << 23)) | 242 | cacheid |= CACHEID_ASID_TAGGED; |
243 | } else if (cachetype & (1 << 23)) | ||
243 | cacheid = CACHEID_VIPT_ALIASING; | 244 | cacheid = CACHEID_VIPT_ALIASING; |
244 | else | 245 | else |
245 | cacheid = CACHEID_VIPT_NONALIASING; | 246 | cacheid = CACHEID_VIPT_NONALIASING; |