aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k/kernel')
-rw-r--r--arch/m68k/kernel/Makefile2
-rw-r--r--arch/m68k/kernel/setup.c9
-rw-r--r--arch/m68k/kernel/vmlinux-std.lds3
-rw-r--r--arch/m68k/kernel/vmlinux-sun3.lds7
4 files changed, 15 insertions, 6 deletions
diff --git a/arch/m68k/kernel/Makefile b/arch/m68k/kernel/Makefile
index 7a62a718143b..3a7f62225504 100644
--- a/arch/m68k/kernel/Makefile
+++ b/arch/m68k/kernel/Makefile
@@ -16,5 +16,3 @@ devres-y = ../../../kernel/irq/devres.o
16 16
17obj-$(CONFIG_PCI) += bios32.o 17obj-$(CONFIG_PCI) += bios32.o
18obj-y$(CONFIG_MMU_SUN3) += dma.o # no, it's not a typo 18obj-y$(CONFIG_MMU_SUN3) += dma.o # no, it's not a typo
19
20EXTRA_AFLAGS := -traditional
diff --git a/arch/m68k/kernel/setup.c b/arch/m68k/kernel/setup.c
index a9fb83a8c180..ea1e44da19b9 100644
--- a/arch/m68k/kernel/setup.c
+++ b/arch/m68k/kernel/setup.c
@@ -26,6 +26,7 @@
26 26
27#include <asm/bootinfo.h> 27#include <asm/bootinfo.h>
28#include <asm/setup.h> 28#include <asm/setup.h>
29#include <asm/fpu.h>
29#include <asm/irq.h> 30#include <asm/irq.h>
30#include <asm/io.h> 31#include <asm/io.h>
31#include <asm/machdep.h> 32#include <asm/machdep.h>
@@ -40,6 +41,11 @@
40#include <asm/dvma.h> 41#include <asm/dvma.h>
41#endif 42#endif
42 43
44#if !FPSTATESIZE || !NR_IRQS
45#warning No CPU/platform type selected, your kernel will not work!
46#warning Are you building an allnoconfig kernel?
47#endif
48
43unsigned long m68k_machtype; 49unsigned long m68k_machtype;
44EXPORT_SYMBOL(m68k_machtype); 50EXPORT_SYMBOL(m68k_machtype);
45unsigned long m68k_cputype; 51unsigned long m68k_cputype;
@@ -116,6 +122,7 @@ extern int bvme6000_parse_bootinfo(const struct bi_record *);
116extern int mvme16x_parse_bootinfo(const struct bi_record *); 122extern int mvme16x_parse_bootinfo(const struct bi_record *);
117extern int mvme147_parse_bootinfo(const struct bi_record *); 123extern int mvme147_parse_bootinfo(const struct bi_record *);
118extern int hp300_parse_bootinfo(const struct bi_record *); 124extern int hp300_parse_bootinfo(const struct bi_record *);
125extern int apollo_parse_bootinfo(const struct bi_record *);
119 126
120extern void config_amiga(void); 127extern void config_amiga(void);
121extern void config_atari(void); 128extern void config_atari(void);
@@ -183,6 +190,8 @@ static void __init m68k_parse_bootinfo(const struct bi_record *record)
183 unknown = mvme147_parse_bootinfo(record); 190 unknown = mvme147_parse_bootinfo(record);
184 else if (MACH_IS_HP300) 191 else if (MACH_IS_HP300)
185 unknown = hp300_parse_bootinfo(record); 192 unknown = hp300_parse_bootinfo(record);
193 else if (MACH_IS_APOLLO)
194 unknown = apollo_parse_bootinfo(record);
186 else 195 else
187 unknown = 1; 196 unknown = 1;
188 } 197 }
diff --git a/arch/m68k/kernel/vmlinux-std.lds b/arch/m68k/kernel/vmlinux-std.lds
index 7537cc5e6159..99b0784c0552 100644
--- a/arch/m68k/kernel/vmlinux-std.lds
+++ b/arch/m68k/kernel/vmlinux-std.lds
@@ -1,6 +1,7 @@
1/* ld script to make m68k Linux kernel */ 1/* ld script to make m68k Linux kernel */
2 2
3#include <asm-generic/vmlinux.lds.h> 3#include <asm-generic/vmlinux.lds.h>
4#include <asm/page.h>
4 5
5OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k") 6OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
6OUTPUT_ARCH(m68k) 7OUTPUT_ARCH(m68k)
@@ -41,7 +42,7 @@ SECTIONS
41 _edata = .; /* End of data section */ 42 _edata = .; /* End of data section */
42 43
43 /* will be freed after init */ 44 /* will be freed after init */
44 . = ALIGN(4096); /* Init code and data */ 45 . = ALIGN(PAGE_SIZE); /* Init code and data */
45 __init_begin = .; 46 __init_begin = .;
46 .init.text : { 47 .init.text : {
47 _sinittext = .; 48 _sinittext = .;
diff --git a/arch/m68k/kernel/vmlinux-sun3.lds b/arch/m68k/kernel/vmlinux-sun3.lds
index cdc313e7c299..8a4919e4d36a 100644
--- a/arch/m68k/kernel/vmlinux-sun3.lds
+++ b/arch/m68k/kernel/vmlinux-sun3.lds
@@ -1,6 +1,7 @@
1/* ld script to make m68k Linux kernel */ 1/* ld script to make m68k Linux kernel */
2 2
3#include <asm-generic/vmlinux.lds.h> 3#include <asm-generic/vmlinux.lds.h>
4#include <asm/page.h>
4 5
5OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k") 6OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
6OUTPUT_ARCH(m68k) 7OUTPUT_ARCH(m68k)
@@ -34,7 +35,7 @@ SECTIONS
34 _edata = .; 35 _edata = .;
35 36
36 /* will be freed after init */ 37 /* will be freed after init */
37 . = ALIGN(8192); /* Init code and data */ 38 . = ALIGN(PAGE_SIZE); /* Init code and data */
38__init_begin = .; 39__init_begin = .;
39 .init.text : { 40 .init.text : {
40 _sinittext = .; 41 _sinittext = .;
@@ -61,12 +62,12 @@ __init_begin = .;
61 } 62 }
62 SECURITY_INIT 63 SECURITY_INIT
63#ifdef CONFIG_BLK_DEV_INITRD 64#ifdef CONFIG_BLK_DEV_INITRD
64 . = ALIGN(8192); 65 . = ALIGN(PAGE_SIZE);
65 __initramfs_start = .; 66 __initramfs_start = .;
66 .init.ramfs : { *(.init.ramfs) } 67 .init.ramfs : { *(.init.ramfs) }
67 __initramfs_end = .; 68 __initramfs_end = .;
68#endif 69#endif
69 . = ALIGN(8192); 70 . = ALIGN(PAGE_SIZE);
70 __init_end = .; 71 __init_end = .;
71 .data.init.task : { *(.data.init_task) } 72 .data.init.task : { *(.data.init_task) }
72 73