diff options
Diffstat (limited to 'arch/m68k')
-rw-r--r-- | arch/m68k/Kconfig | 8 | ||||
-rw-r--r-- | arch/m68k/amiga/chipram.c | 3 | ||||
-rw-r--r-- | arch/m68k/atari/hades-pci.c | 3 | ||||
-rw-r--r-- | arch/m68k/atari/stdma.c | 2 | ||||
-rw-r--r-- | arch/m68k/kernel/sun3-head.S | 10 | ||||
-rw-r--r-- | arch/m68k/kernel/vmlinux-std.lds | 8 | ||||
-rw-r--r-- | arch/m68k/kernel/vmlinux-sun3.lds | 10 | ||||
-rw-r--r-- | arch/m68k/lib/checksum.c | 13 | ||||
-rw-r--r-- | arch/m68k/mm/fault.c | 2 | ||||
-rw-r--r-- | arch/m68k/mm/memory.c | 4 | ||||
-rw-r--r-- | arch/m68k/mm/sun3mmu.c | 7 |
11 files changed, 28 insertions, 42 deletions
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 7bc14461a6ac..70a577c89c7c 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig | |||
@@ -17,6 +17,14 @@ config RWSEM_GENERIC_SPINLOCK | |||
17 | config RWSEM_XCHGADD_ALGORITHM | 17 | config RWSEM_XCHGADD_ALGORITHM |
18 | bool | 18 | bool |
19 | 19 | ||
20 | config ARCH_HAS_ILOG2_U32 | ||
21 | bool | ||
22 | default n | ||
23 | |||
24 | config ARCH_HAS_ILOG2_U64 | ||
25 | bool | ||
26 | default n | ||
27 | |||
20 | config GENERIC_HWEIGHT | 28 | config GENERIC_HWEIGHT |
21 | bool | 29 | bool |
22 | default y | 30 | default y |
diff --git a/arch/m68k/amiga/chipram.c b/arch/m68k/amiga/chipram.c index de1304c91112..fa015d801617 100644 --- a/arch/m68k/amiga/chipram.c +++ b/arch/m68k/amiga/chipram.c | |||
@@ -52,10 +52,9 @@ void *amiga_chip_alloc(unsigned long size, const char *name) | |||
52 | #ifdef DEBUG | 52 | #ifdef DEBUG |
53 | printk("amiga_chip_alloc: allocate %ld bytes\n", size); | 53 | printk("amiga_chip_alloc: allocate %ld bytes\n", size); |
54 | #endif | 54 | #endif |
55 | res = kmalloc(sizeof(struct resource), GFP_KERNEL); | 55 | res = kzalloc(sizeof(struct resource), GFP_KERNEL); |
56 | if (!res) | 56 | if (!res) |
57 | return NULL; | 57 | return NULL; |
58 | memset(res, 0, sizeof(struct resource)); | ||
59 | res->name = name; | 58 | res->name = name; |
60 | 59 | ||
61 | if (allocate_resource(&chipram_res, res, size, 0, UINT_MAX, PAGE_SIZE, NULL, NULL) < 0) { | 60 | if (allocate_resource(&chipram_res, res, size, 0, UINT_MAX, PAGE_SIZE, NULL, NULL) < 0) { |
diff --git a/arch/m68k/atari/hades-pci.c b/arch/m68k/atari/hades-pci.c index 6ca57b6564da..bee2b1443e36 100644 --- a/arch/m68k/atari/hades-pci.c +++ b/arch/m68k/atari/hades-pci.c | |||
@@ -375,10 +375,9 @@ struct pci_bus_info * __init init_hades_pci(void) | |||
375 | * Allocate memory for bus info structure. | 375 | * Allocate memory for bus info structure. |
376 | */ | 376 | */ |
377 | 377 | ||
378 | bus = kmalloc(sizeof(struct pci_bus_info), GFP_KERNEL); | 378 | bus = kzalloc(sizeof(struct pci_bus_info), GFP_KERNEL); |
379 | if (!bus) | 379 | if (!bus) |
380 | return NULL; | 380 | return NULL; |
381 | memset(bus, 0, sizeof(struct pci_bus_info)); | ||
382 | 381 | ||
383 | /* | 382 | /* |
384 | * Claim resources. The m68k has no separate I/O space, both | 383 | * Claim resources. The m68k has no separate I/O space, both |
diff --git a/arch/m68k/atari/stdma.c b/arch/m68k/atari/stdma.c index d64b5804e980..d01deb46ebbc 100644 --- a/arch/m68k/atari/stdma.c +++ b/arch/m68k/atari/stdma.c | |||
@@ -174,7 +174,7 @@ int stdma_islocked(void) | |||
174 | void __init stdma_init(void) | 174 | void __init stdma_init(void) |
175 | { | 175 | { |
176 | stdma_isr = NULL; | 176 | stdma_isr = NULL; |
177 | request_irq(IRQ_MFP_FDC, stdma_int, IRQ_TYPE_SLOW, | 177 | request_irq(IRQ_MFP_FDC, stdma_int, IRQ_TYPE_SLOW | SA_SHIRQ, |
178 | "ST-DMA: floppy/ACSI/IDE/Falcon-SCSI", stdma_int); | 178 | "ST-DMA: floppy/ACSI/IDE/Falcon-SCSI", stdma_int); |
179 | } | 179 | } |
180 | 180 | ||
diff --git a/arch/m68k/kernel/sun3-head.S b/arch/m68k/kernel/sun3-head.S index bffd69a4a1ab..4b5f050204e8 100644 --- a/arch/m68k/kernel/sun3-head.S +++ b/arch/m68k/kernel/sun3-head.S | |||
@@ -67,16 +67,6 @@ ENTRY(_start) | |||
67 | 1: lea init_task,%curptr | get initial thread... | 67 | 1: lea init_task,%curptr | get initial thread... |
68 | lea init_thread_union+THREAD_SIZE,%sp | ...and its stack. | 68 | lea init_thread_union+THREAD_SIZE,%sp | ...and its stack. |
69 | 69 | ||
70 | /* copy bootinfo records from the loader to _end */ | ||
71 | lea _end, %a1 | ||
72 | lea BI_START, %a0 | ||
73 | /* number of longs to copy */ | ||
74 | movel %a0@, %d0 | ||
75 | 1: addl #4, %a0 | ||
76 | movel %a0@, %a1@ | ||
77 | addl #4, %a1 | ||
78 | dbf %d0, 1b | ||
79 | |||
80 | /* Point MSP at an invalid page to trap if it's used. --m */ | 70 | /* Point MSP at an invalid page to trap if it's used. --m */ |
81 | movl #(PAGESIZE),%d0 | 71 | movl #(PAGESIZE),%d0 |
82 | movc %d0,%msp | 72 | movc %d0,%msp |
diff --git a/arch/m68k/kernel/vmlinux-std.lds b/arch/m68k/kernel/vmlinux-std.lds index 69d1d3d30c78..d2794452b195 100644 --- a/arch/m68k/kernel/vmlinux-std.lds +++ b/arch/m68k/kernel/vmlinux-std.lds | |||
@@ -54,13 +54,7 @@ SECTIONS | |||
54 | __setup_end = .; | 54 | __setup_end = .; |
55 | __initcall_start = .; | 55 | __initcall_start = .; |
56 | .initcall.init : { | 56 | .initcall.init : { |
57 | *(.initcall1.init) | 57 | INITCALLS |
58 | *(.initcall2.init) | ||
59 | *(.initcall3.init) | ||
60 | *(.initcall4.init) | ||
61 | *(.initcall5.init) | ||
62 | *(.initcall6.init) | ||
63 | *(.initcall7.init) | ||
64 | } | 58 | } |
65 | __initcall_end = .; | 59 | __initcall_end = .; |
66 | __con_initcall_start = .; | 60 | __con_initcall_start = .; |
diff --git a/arch/m68k/kernel/vmlinux-sun3.lds b/arch/m68k/kernel/vmlinux-sun3.lds index 65cc39c24185..8c7eccbfc982 100644 --- a/arch/m68k/kernel/vmlinux-sun3.lds +++ b/arch/m68k/kernel/vmlinux-sun3.lds | |||
@@ -8,7 +8,7 @@ ENTRY(_start) | |||
8 | jiffies = jiffies_64 + 4; | 8 | jiffies = jiffies_64 + 4; |
9 | SECTIONS | 9 | SECTIONS |
10 | { | 10 | { |
11 | . = 0xE004000; | 11 | . = 0xE002000; |
12 | _text = .; /* Text and read-only data */ | 12 | _text = .; /* Text and read-only data */ |
13 | .text : { | 13 | .text : { |
14 | *(.head) | 14 | *(.head) |
@@ -48,13 +48,7 @@ __init_begin = .; | |||
48 | __setup_end = .; | 48 | __setup_end = .; |
49 | __initcall_start = .; | 49 | __initcall_start = .; |
50 | .initcall.init : { | 50 | .initcall.init : { |
51 | *(.initcall1.init) | 51 | INITCALLS |
52 | *(.initcall2.init) | ||
53 | *(.initcall3.init) | ||
54 | *(.initcall4.init) | ||
55 | *(.initcall5.init) | ||
56 | *(.initcall6.init) | ||
57 | *(.initcall7.init) | ||
58 | } | 52 | } |
59 | __initcall_end = .; | 53 | __initcall_end = .; |
60 | __con_initcall_start = .; | 54 | __con_initcall_start = .; |
diff --git a/arch/m68k/lib/checksum.c b/arch/m68k/lib/checksum.c index cb13c6e3ccae..aed3be29e06b 100644 --- a/arch/m68k/lib/checksum.c +++ b/arch/m68k/lib/checksum.c | |||
@@ -39,8 +39,7 @@ | |||
39 | * computes a partial checksum, e.g. for TCP/UDP fragments | 39 | * computes a partial checksum, e.g. for TCP/UDP fragments |
40 | */ | 40 | */ |
41 | 41 | ||
42 | unsigned int | 42 | __wsum csum_partial(const void *buff, int len, __wsum sum) |
43 | csum_partial (const unsigned char *buff, int len, unsigned int sum) | ||
44 | { | 43 | { |
45 | unsigned long tmp1, tmp2; | 44 | unsigned long tmp1, tmp2; |
46 | /* | 45 | /* |
@@ -133,9 +132,9 @@ EXPORT_SYMBOL(csum_partial); | |||
133 | * copy from user space while checksumming, with exception handling. | 132 | * copy from user space while checksumming, with exception handling. |
134 | */ | 133 | */ |
135 | 134 | ||
136 | unsigned int | 135 | __wsum |
137 | csum_partial_copy_from_user(const unsigned char __user *src, unsigned char *dst, | 136 | csum_partial_copy_from_user(const void __user *src, void *dst, |
138 | int len, int sum, int *csum_err) | 137 | int len, __wsum sum, int *csum_err) |
139 | { | 138 | { |
140 | /* | 139 | /* |
141 | * GCC doesn't like more than 10 operands for the asm | 140 | * GCC doesn't like more than 10 operands for the asm |
@@ -325,8 +324,8 @@ csum_partial_copy_from_user(const unsigned char __user *src, unsigned char *dst, | |||
325 | * copy from kernel space while checksumming, otherwise like csum_partial | 324 | * copy from kernel space while checksumming, otherwise like csum_partial |
326 | */ | 325 | */ |
327 | 326 | ||
328 | unsigned int | 327 | __wsum |
329 | csum_partial_copy_nocheck(const unsigned char *src, unsigned char *dst, int len, int sum) | 328 | csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum) |
330 | { | 329 | { |
331 | unsigned long tmp1, tmp2; | 330 | unsigned long tmp1, tmp2; |
332 | __asm__("movel %2,%4\n\t" | 331 | __asm__("movel %2,%4\n\t" |
diff --git a/arch/m68k/mm/fault.c b/arch/m68k/mm/fault.c index 911f2ce3f53e..2adbeb16e1b8 100644 --- a/arch/m68k/mm/fault.c +++ b/arch/m68k/mm/fault.c | |||
@@ -99,7 +99,7 @@ int do_page_fault(struct pt_regs *regs, unsigned long address, | |||
99 | * If we're in an interrupt or have no user | 99 | * If we're in an interrupt or have no user |
100 | * context, we must not take the fault.. | 100 | * context, we must not take the fault.. |
101 | */ | 101 | */ |
102 | if (in_interrupt() || !mm) | 102 | if (in_atomic() || !mm) |
103 | goto no_context; | 103 | goto no_context; |
104 | 104 | ||
105 | down_read(&mm->mmap_sem); | 105 | down_read(&mm->mmap_sem); |
diff --git a/arch/m68k/mm/memory.c b/arch/m68k/mm/memory.c index 0f88812822b1..13c0b4ad01eb 100644 --- a/arch/m68k/mm/memory.c +++ b/arch/m68k/mm/memory.c | |||
@@ -299,7 +299,7 @@ void cache_clear (unsigned long paddr, int len) | |||
299 | mach_l2_flush(0); | 299 | mach_l2_flush(0); |
300 | #endif | 300 | #endif |
301 | } | 301 | } |
302 | EXPORT_SYMBOL(cache_clear); /* probably can be unexported */ | 302 | EXPORT_SYMBOL(cache_clear); |
303 | 303 | ||
304 | 304 | ||
305 | /* | 305 | /* |
@@ -352,7 +352,7 @@ void cache_push (unsigned long paddr, int len) | |||
352 | mach_l2_flush(1); | 352 | mach_l2_flush(1); |
353 | #endif | 353 | #endif |
354 | } | 354 | } |
355 | EXPORT_SYMBOL(cache_push); /* probably can be unexported */ | 355 | EXPORT_SYMBOL(cache_push); |
356 | 356 | ||
357 | #ifndef CONFIG_SINGLE_MEMORY_CHUNK | 357 | #ifndef CONFIG_SINGLE_MEMORY_CHUNK |
358 | int mm_end_of_chunk (unsigned long addr, int len) | 358 | int mm_end_of_chunk (unsigned long addr, int len) |
diff --git a/arch/m68k/mm/sun3mmu.c b/arch/m68k/mm/sun3mmu.c index ac6640ade0b1..6a6513aa1ce8 100644 --- a/arch/m68k/mm/sun3mmu.c +++ b/arch/m68k/mm/sun3mmu.c | |||
@@ -49,7 +49,6 @@ void __init paging_init(void) | |||
49 | unsigned long zones_size[MAX_NR_ZONES] = { 0, }; | 49 | unsigned long zones_size[MAX_NR_ZONES] = { 0, }; |
50 | unsigned long size; | 50 | unsigned long size; |
51 | 51 | ||
52 | |||
53 | #ifdef TEST_VERIFY_AREA | 52 | #ifdef TEST_VERIFY_AREA |
54 | wp_works_ok = 0; | 53 | wp_works_ok = 0; |
55 | #endif | 54 | #endif |
@@ -94,7 +93,11 @@ void __init paging_init(void) | |||
94 | /* memory sizing is a hack stolen from motorola.c.. hope it works for us */ | 93 | /* memory sizing is a hack stolen from motorola.c.. hope it works for us */ |
95 | zones_size[ZONE_DMA] = ((unsigned long)high_memory - PAGE_OFFSET) >> PAGE_SHIFT; | 94 | zones_size[ZONE_DMA] = ((unsigned long)high_memory - PAGE_OFFSET) >> PAGE_SHIFT; |
96 | 95 | ||
97 | free_area_init(zones_size); | 96 | /* I really wish I knew why the following change made things better... -- Sam */ |
97 | /* free_area_init(zones_size); */ | ||
98 | free_area_init_node(0, NODE_DATA(0), zones_size, | ||
99 | (__pa(PAGE_OFFSET) >> PAGE_SHIFT) + 1, NULL); | ||
100 | |||
98 | 101 | ||
99 | } | 102 | } |
100 | 103 | ||