diff options
Diffstat (limited to 'arch/m68knommu/platform')
-rw-r--r-- | arch/m68knommu/platform/68328/Makefile | 1 | ||||
-rw-r--r-- | arch/m68knommu/platform/68328/ints.c | 20 | ||||
-rw-r--r-- | arch/m68knommu/platform/68328/romvec.S | 37 | ||||
-rw-r--r-- | arch/m68knommu/platform/68360/config.c | 14 | ||||
-rw-r--r-- | arch/m68knommu/platform/68360/ints.c | 1 | ||||
-rw-r--r-- | arch/m68knommu/platform/68EZ328/config.c | 14 | ||||
-rw-r--r-- | arch/m68knommu/platform/68VZ328/config.c | 14 |
7 files changed, 61 insertions, 40 deletions
diff --git a/arch/m68knommu/platform/68328/Makefile b/arch/m68knommu/platform/68328/Makefile index 1b3b719e4479..5e5435552d56 100644 --- a/arch/m68knommu/platform/68328/Makefile +++ b/arch/m68knommu/platform/68328/Makefile | |||
@@ -8,6 +8,7 @@ head-$(CONFIG_DRAGEN2) = head-de2.o | |||
8 | 8 | ||
9 | obj-y += entry.o ints.o timers.o | 9 | obj-y += entry.o ints.o timers.o |
10 | obj-$(CONFIG_M68328) += config.o | 10 | obj-$(CONFIG_M68328) += config.o |
11 | obj-$(CONFIG_ROM) += romvec.o | ||
11 | 12 | ||
12 | extra-y := head.o | 13 | extra-y := head.o |
13 | extra-$(CONFIG_M68328) += bootlogo.rh head.o | 14 | extra-$(CONFIG_M68328) += bootlogo.rh head.o |
diff --git a/arch/m68knommu/platform/68328/ints.c b/arch/m68knommu/platform/68328/ints.c index 7437217813d2..2dda7339aae5 100644 --- a/arch/m68knommu/platform/68328/ints.c +++ b/arch/m68knommu/platform/68328/ints.c | |||
@@ -18,6 +18,7 @@ | |||
18 | 18 | ||
19 | #include <asm/system.h> | 19 | #include <asm/system.h> |
20 | #include <asm/irq.h> | 20 | #include <asm/irq.h> |
21 | #include <asm/irqnode.h> | ||
21 | #include <asm/traps.h> | 22 | #include <asm/traps.h> |
22 | #include <asm/io.h> | 23 | #include <asm/io.h> |
23 | #include <asm/machdep.h> | 24 | #include <asm/machdep.h> |
@@ -82,25 +83,6 @@ unsigned int local_irq_count[NR_CPUS]; | |||
82 | /* irq node variables for the 32 (potential) on chip sources */ | 83 | /* irq node variables for the 32 (potential) on chip sources */ |
83 | static irq_node_t int_irq_list[NR_IRQS]; | 84 | static irq_node_t int_irq_list[NR_IRQS]; |
84 | 85 | ||
85 | #if !defined(CONFIG_DRAGEN2) | ||
86 | asm (".global _start, __ramend/n/t" | ||
87 | ".section .romvec/n" | ||
88 | "e_vectors:\n\t" | ||
89 | ".long __ramend-4, _start, buserr, trap, trap, trap, trap, trap\n\t" | ||
90 | ".long trap, trap, trap, trap, trap, trap, trap, trap\n\t" | ||
91 | ".long trap, trap, trap, trap, trap, trap, trap, trap\n\t" | ||
92 | ".long trap, trap, trap, trap\n\t" | ||
93 | ".long trap, trap, trap, trap\n\t" | ||
94 | /*.long inthandler, inthandler, inthandler, inthandler | ||
95 | .long inthandler4, inthandler, inthandler, inthandler */ | ||
96 | /* TRAP #0-15 */ | ||
97 | ".long system_call, trap, trap, trap, trap, trap, trap, trap\n\t" | ||
98 | ".long trap, trap, trap, trap, trap, trap, trap, trap\n\t" | ||
99 | ".long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n\t" | ||
100 | ".text\n" | ||
101 | "ignore: rte"); | ||
102 | #endif | ||
103 | |||
104 | /* | 86 | /* |
105 | * This function should be called during kernel startup to initialize | 87 | * This function should be called during kernel startup to initialize |
106 | * the IRQ handling routines. | 88 | * the IRQ handling routines. |
diff --git a/arch/m68knommu/platform/68328/romvec.S b/arch/m68knommu/platform/68328/romvec.S new file mode 100644 index 000000000000..3e7fe1e14913 --- /dev/null +++ b/arch/m68knommu/platform/68328/romvec.S | |||
@@ -0,0 +1,37 @@ | |||
1 | /* | ||
2 | * linux/arch/m68knommu/platform/68328/romvec.S | ||
3 | * | ||
4 | * 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 | ||
6 | * for more details. | ||
7 | * | ||
8 | * Copyright 1996 Roman Zippel | ||
9 | * Copyright 1999 D. Jeff Dionne <jeff@rt-control.com> | ||
10 | * Copyright 2006 Greg Ungerer <gerg@snapgear.com> | ||
11 | */ | ||
12 | |||
13 | #include <linux/config.h> | ||
14 | |||
15 | .global _start | ||
16 | .global _buserr | ||
17 | .global trap | ||
18 | .global system_call | ||
19 | |||
20 | .section .romvec | ||
21 | |||
22 | e_vectors: | ||
23 | .long CONFIG_RAMBASE+CONFIG_RAMSIZE-4, _start, buserr, trap | ||
24 | .long trap, trap, trap, trap | ||
25 | .long trap, trap, trap, trap | ||
26 | .long trap, trap, trap, trap | ||
27 | .long trap, trap, trap, trap | ||
28 | .long trap, trap, trap, trap | ||
29 | .long trap, trap, trap, trap | ||
30 | .long trap, trap, trap, trap | ||
31 | /* TRAP #0-15 */ | ||
32 | .long system_call, trap, trap, trap | ||
33 | .long trap, trap, trap, trap | ||
34 | .long trap, trap, trap, trap | ||
35 | .long trap, trap, trap, trap | ||
36 | .long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 | ||
37 | |||
diff --git a/arch/m68knommu/platform/68360/config.c b/arch/m68knommu/platform/68360/config.c index 3db244625f0f..69c670dfd62b 100644 --- a/arch/m68knommu/platform/68360/config.c +++ b/arch/m68knommu/platform/68360/config.c | |||
@@ -141,13 +141,13 @@ int BSP_set_clock_mmss (unsigned long nowtime) | |||
141 | void BSP_reset (void) | 141 | void BSP_reset (void) |
142 | { | 142 | { |
143 | local_irq_disable(); | 143 | local_irq_disable(); |
144 | asm volatile (" | 144 | asm volatile ( |
145 | moveal #_start, %a0; | 145 | "moveal #_start, %a0;\n" |
146 | moveb #0, 0xFFFFF300; | 146 | "moveb #0, 0xFFFFF300;\n" |
147 | moveal 0(%a0), %sp; | 147 | "moveal 0(%a0), %sp;\n" |
148 | moveal 4(%a0), %a0; | 148 | "moveal 4(%a0), %a0;\n" |
149 | jmp (%a0); | 149 | "jmp (%a0);\n" |
150 | "); | 150 | ); |
151 | } | 151 | } |
152 | 152 | ||
153 | unsigned char *scc1_hwaddr; | 153 | unsigned char *scc1_hwaddr; |
diff --git a/arch/m68knommu/platform/68360/ints.c b/arch/m68knommu/platform/68360/ints.c index ba184db1651b..0245fc4a4781 100644 --- a/arch/m68knommu/platform/68360/ints.c +++ b/arch/m68knommu/platform/68360/ints.c | |||
@@ -20,6 +20,7 @@ | |||
20 | 20 | ||
21 | #include <asm/system.h> | 21 | #include <asm/system.h> |
22 | #include <asm/irq.h> | 22 | #include <asm/irq.h> |
23 | #include <asm/irqnode.h> | ||
23 | #include <asm/traps.h> | 24 | #include <asm/traps.h> |
24 | #include <asm/io.h> | 25 | #include <asm/io.h> |
25 | #include <asm/machdep.h> | 26 | #include <asm/machdep.h> |
diff --git a/arch/m68knommu/platform/68EZ328/config.c b/arch/m68knommu/platform/68EZ328/config.c index d8d56e5de310..15a14a67c2bf 100644 --- a/arch/m68knommu/platform/68EZ328/config.c +++ b/arch/m68knommu/platform/68EZ328/config.c | |||
@@ -42,13 +42,13 @@ void m68328_timer_gettod(int *year, int *mon, int *day, int *hour, int *min, int | |||
42 | void m68ez328_reset(void) | 42 | void m68ez328_reset(void) |
43 | { | 43 | { |
44 | local_irq_disable(); | 44 | local_irq_disable(); |
45 | asm volatile (" | 45 | asm volatile ( |
46 | moveal #0x10c00000, %a0; | 46 | "moveal #0x10c00000, %a0;\n" |
47 | moveb #0, 0xFFFFF300; | 47 | "moveb #0, 0xFFFFF300;\n" |
48 | moveal 0(%a0), %sp; | 48 | "moveal 0(%a0), %sp;\n" |
49 | moveal 4(%a0), %a0; | 49 | "moveal 4(%a0), %a0;\n" |
50 | jmp (%a0); | 50 | "jmp (%a0);\n" |
51 | "); | 51 | ); |
52 | } | 52 | } |
53 | 53 | ||
54 | /***************************************************************************/ | 54 | /***************************************************************************/ |
diff --git a/arch/m68knommu/platform/68VZ328/config.c b/arch/m68knommu/platform/68VZ328/config.c index d926524cdf82..4058de5c8fa2 100644 --- a/arch/m68knommu/platform/68VZ328/config.c +++ b/arch/m68knommu/platform/68VZ328/config.c | |||
@@ -141,13 +141,13 @@ static void init_hardware(char *command, int size) | |||
141 | static void m68vz328_reset(void) | 141 | static void m68vz328_reset(void) |
142 | { | 142 | { |
143 | local_irq_disable(); | 143 | local_irq_disable(); |
144 | asm volatile (" | 144 | asm volatile ( |
145 | moveal #0x10c00000, %a0; | 145 | "moveal #0x10c00000, %a0;\n\t" |
146 | moveb #0, 0xFFFFF300; | 146 | "moveb #0, 0xFFFFF300;\n\t" |
147 | moveal 0(%a0), %sp; | 147 | "moveal 0(%a0), %sp;\n\t" |
148 | moveal 4(%a0), %a0; | 148 | "moveal 4(%a0), %a0;\n\t" |
149 | jmp (%a0); | 149 | "jmp (%a0);\n" |
150 | "); | 150 | ); |
151 | } | 151 | } |
152 | 152 | ||
153 | unsigned char *cs8900a_hwaddr; | 153 | unsigned char *cs8900a_hwaddr; |