diff options
Diffstat (limited to 'arch/arm26')
-rw-r--r-- | arch/arm26/Kconfig | 4 | ||||
-rw-r--r-- | arch/arm26/Makefile | 7 | ||||
-rw-r--r-- | arch/arm26/boot/Makefile | 5 | ||||
-rw-r--r-- | arch/arm26/kernel/armksyms.c | 2 | ||||
-rw-r--r-- | arch/arm26/kernel/traps.c | 12 | ||||
-rw-r--r-- | arch/arm26/mm/init.c | 9 |
6 files changed, 21 insertions, 18 deletions
diff --git a/arch/arm26/Kconfig b/arch/arm26/Kconfig index dee23d87fc5a..cf4ebf4c274d 100644 --- a/arch/arm26/Kconfig +++ b/arch/arm26/Kconfig | |||
@@ -41,6 +41,10 @@ config RWSEM_GENERIC_SPINLOCK | |||
41 | config RWSEM_XCHGADD_ALGORITHM | 41 | config RWSEM_XCHGADD_ALGORITHM |
42 | bool | 42 | bool |
43 | 43 | ||
44 | config GENERIC_HWEIGHT | ||
45 | bool | ||
46 | default y | ||
47 | |||
44 | config GENERIC_CALIBRATE_DELAY | 48 | config GENERIC_CALIBRATE_DELAY |
45 | bool | 49 | bool |
46 | default y | 50 | default y |
diff --git a/arch/arm26/Makefile b/arch/arm26/Makefile index 844a9e46886e..fe91eda98a94 100644 --- a/arch/arm26/Makefile +++ b/arch/arm26/Makefile | |||
@@ -1,6 +1,9 @@ | |||
1 | # | 1 | # |
2 | # arch/arm26/Makefile | 2 | # arch/arm26/Makefile |
3 | # | 3 | # |
4 | # This file is included by the global makefile so that you can add your own | ||
5 | # architecture-specific flags and dependencies. | ||
6 | # | ||
4 | # This file is subject to the terms and conditions of the GNU General Public | 7 | # This file is subject to the terms and conditions of the GNU General Public |
5 | # License. See the file "COPYING" in the main directory of this archive | 8 | # License. See the file "COPYING" in the main directory of this archive |
6 | # for more details. | 9 | # for more details. |
@@ -49,9 +52,9 @@ all: zImage | |||
49 | 52 | ||
50 | boot := arch/arm26/boot | 53 | boot := arch/arm26/boot |
51 | 54 | ||
52 | .PHONY: maketools FORCE | 55 | PHONY += maketools FORCE |
53 | maketools: FORCE | 56 | maketools: FORCE |
54 | 57 | ||
55 | 58 | ||
56 | # Convert bzImage to zImage | 59 | # Convert bzImage to zImage |
57 | bzImage: vmlinux | 60 | bzImage: vmlinux |
diff --git a/arch/arm26/boot/Makefile b/arch/arm26/boot/Makefile index b5c2277654d4..68acb7b0d47f 100644 --- a/arch/arm26/boot/Makefile +++ b/arch/arm26/boot/Makefile | |||
@@ -1,6 +1,9 @@ | |||
1 | # | 1 | # |
2 | # arch/arm26/boot/Makefile | 2 | # arch/arm26/boot/Makefile |
3 | # | 3 | # |
4 | # This file is included by the global makefile so that you can add your own | ||
5 | # architecture-specific flags and dependencies. | ||
6 | # | ||
4 | # This file is subject to the terms and conditions of the GNU General Public | 7 | # This file is subject to the terms and conditions of the GNU General Public |
5 | # License. See the file "COPYING" in the main directory of this archive | 8 | # License. See the file "COPYING" in the main directory of this archive |
6 | # for more details. | 9 | # for more details. |
@@ -60,7 +63,7 @@ $(obj)/xipImage: vmlinux FORCE | |||
60 | @echo ' Kernel: $@ is ready' | 63 | @echo ' Kernel: $@ is ready' |
61 | endif | 64 | endif |
62 | 65 | ||
63 | .PHONY: initrd | 66 | PHONY += initrd |
64 | initrd: | 67 | initrd: |
65 | @test "$(INITRD_PHYS)" != "" || \ | 68 | @test "$(INITRD_PHYS)" != "" || \ |
66 | (echo This machine does not support INITRD; exit -1) | 69 | (echo This machine does not support INITRD; exit -1) |
diff --git a/arch/arm26/kernel/armksyms.c b/arch/arm26/kernel/armksyms.c index 811a6376c624..a6a1b3373444 100644 --- a/arch/arm26/kernel/armksyms.c +++ b/arch/arm26/kernel/armksyms.c | |||
@@ -212,8 +212,6 @@ EXPORT_SYMBOL(sys_open); | |||
212 | EXPORT_SYMBOL(sys_exit); | 212 | EXPORT_SYMBOL(sys_exit); |
213 | EXPORT_SYMBOL(sys_wait4); | 213 | EXPORT_SYMBOL(sys_wait4); |
214 | 214 | ||
215 | EXPORT_SYMBOL(get_wchan); | ||
216 | |||
217 | #ifdef CONFIG_PREEMPT | 215 | #ifdef CONFIG_PREEMPT |
218 | EXPORT_SYMBOL(kernel_flag); | 216 | EXPORT_SYMBOL(kernel_flag); |
219 | #endif | 217 | #endif |
diff --git a/arch/arm26/kernel/traps.c b/arch/arm26/kernel/traps.c index 5847ea5d7747..a79de041b50e 100644 --- a/arch/arm26/kernel/traps.c +++ b/arch/arm26/kernel/traps.c | |||
@@ -34,7 +34,7 @@ | |||
34 | #include <asm/system.h> | 34 | #include <asm/system.h> |
35 | #include <asm/uaccess.h> | 35 | #include <asm/uaccess.h> |
36 | #include <asm/unistd.h> | 36 | #include <asm/unistd.h> |
37 | #include <asm/semaphore.h> | 37 | #include <linux/mutex.h> |
38 | 38 | ||
39 | #include "ptrace.h" | 39 | #include "ptrace.h" |
40 | 40 | ||
@@ -207,19 +207,19 @@ void die_if_kernel(const char *str, struct pt_regs *regs, int err) | |||
207 | die(str, regs, err); | 207 | die(str, regs, err); |
208 | } | 208 | } |
209 | 209 | ||
210 | static DECLARE_MUTEX(undef_sem); | 210 | static DEFINE_MUTEX(undef_mutex); |
211 | static int (*undef_hook)(struct pt_regs *); | 211 | static int (*undef_hook)(struct pt_regs *); |
212 | 212 | ||
213 | int request_undef_hook(int (*fn)(struct pt_regs *)) | 213 | int request_undef_hook(int (*fn)(struct pt_regs *)) |
214 | { | 214 | { |
215 | int ret = -EBUSY; | 215 | int ret = -EBUSY; |
216 | 216 | ||
217 | down(&undef_sem); | 217 | mutex_lock(&undef_mutex); |
218 | if (undef_hook == NULL) { | 218 | if (undef_hook == NULL) { |
219 | undef_hook = fn; | 219 | undef_hook = fn; |
220 | ret = 0; | 220 | ret = 0; |
221 | } | 221 | } |
222 | up(&undef_sem); | 222 | mutex_unlock(&undef_mutex); |
223 | 223 | ||
224 | return ret; | 224 | return ret; |
225 | } | 225 | } |
@@ -228,12 +228,12 @@ int release_undef_hook(int (*fn)(struct pt_regs *)) | |||
228 | { | 228 | { |
229 | int ret = -EINVAL; | 229 | int ret = -EINVAL; |
230 | 230 | ||
231 | down(&undef_sem); | 231 | mutex_lock(&undef_mutex); |
232 | if (undef_hook == fn) { | 232 | if (undef_hook == fn) { |
233 | undef_hook = NULL; | 233 | undef_hook = NULL; |
234 | ret = 0; | 234 | ret = 0; |
235 | } | 235 | } |
236 | up(&undef_sem); | 236 | mutex_unlock(&undef_mutex); |
237 | 237 | ||
238 | return ret; | 238 | return ret; |
239 | } | 239 | } |
diff --git a/arch/arm26/mm/init.c b/arch/arm26/mm/init.c index 1f09a9d0fb83..7da8a5205678 100644 --- a/arch/arm26/mm/init.c +++ b/arch/arm26/mm/init.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/initrd.h> | 23 | #include <linux/initrd.h> |
24 | #include <linux/bootmem.h> | 24 | #include <linux/bootmem.h> |
25 | #include <linux/blkdev.h> | 25 | #include <linux/blkdev.h> |
26 | #include <linux/pfn.h> | ||
26 | 27 | ||
27 | #include <asm/segment.h> | 28 | #include <asm/segment.h> |
28 | #include <asm/mach-types.h> | 29 | #include <asm/mach-types.h> |
@@ -101,12 +102,6 @@ struct node_info { | |||
101 | int bootmap_pages; | 102 | int bootmap_pages; |
102 | }; | 103 | }; |
103 | 104 | ||
104 | #define PFN_DOWN(x) ((x) >> PAGE_SHIFT) | ||
105 | #define PFN_UP(x) (PAGE_ALIGN(x) >> PAGE_SHIFT) | ||
106 | #define PFN_SIZE(x) ((x) >> PAGE_SHIFT) | ||
107 | #define PFN_RANGE(s,e) PFN_SIZE(PAGE_ALIGN((unsigned long)(e)) - \ | ||
108 | (((unsigned long)(s)) & PAGE_MASK)) | ||
109 | |||
110 | /* | 105 | /* |
111 | * FIXME: We really want to avoid allocating the bootmap bitmap | 106 | * FIXME: We really want to avoid allocating the bootmap bitmap |
112 | * over the top of the initrd. Hopefully, this is located towards | 107 | * over the top of the initrd. Hopefully, this is located towards |
@@ -324,7 +319,7 @@ static inline void free_area(unsigned long addr, unsigned long end, char *s) | |||
324 | for (; addr < end; addr += PAGE_SIZE) { | 319 | for (; addr < end; addr += PAGE_SIZE) { |
325 | struct page *page = virt_to_page(addr); | 320 | struct page *page = virt_to_page(addr); |
326 | ClearPageReserved(page); | 321 | ClearPageReserved(page); |
327 | set_page_count(page, 1); | 322 | init_page_count(page); |
328 | free_page(addr); | 323 | free_page(addr); |
329 | totalram_pages++; | 324 | totalram_pages++; |
330 | } | 325 | } |