diff options
author | Sam Creasey <sammy@sammy.net> | 2006-12-09 04:34:38 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-09 12:41:18 -0500 |
commit | a3a79bd7c75f0055df16540c7e9dbe270060ebe8 (patch) | |
tree | 6c115200e1c607a6f19007ae0953be67171ad39a | |
parent | 8e8858e932a81d827e194abf82faf32d02396f55 (diff) |
[PATCH] Sun3: General updates
General compile fixes for 2.6.16 for sun3, and some updates to make the new
bootloader work correctly. Tested on 3/50, 3/60, 3/80.
Signed-off-by: Sam Creasey <sammy@sammy.net>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | arch/m68k/kernel/sun3-head.S | 10 | ||||
-rw-r--r-- | arch/m68k/kernel/vmlinux-sun3.lds | 2 | ||||
-rw-r--r-- | arch/m68k/mm/sun3mmu.c | 7 | ||||
-rw-r--r-- | include/asm-m68k/sun3-head.h | 1 | ||||
-rw-r--r-- | include/asm-m68k/sun3ints.h | 1 |
5 files changed, 7 insertions, 14 deletions
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-sun3.lds b/arch/m68k/kernel/vmlinux-sun3.lds index 2550b4ae2732..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) |
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 | ||
diff --git a/include/asm-m68k/sun3-head.h b/include/asm-m68k/sun3-head.h index f799d95bad53..e74f384e269f 100644 --- a/include/asm-m68k/sun3-head.h +++ b/include/asm-m68k/sun3-head.h | |||
@@ -4,7 +4,6 @@ | |||
4 | 4 | ||
5 | #define KERNBASE 0xE000000 /* First address the kernel will eventually be */ | 5 | #define KERNBASE 0xE000000 /* First address the kernel will eventually be */ |
6 | #define LOAD_ADDR 0x4000 /* prom jumps to us here unless this is elf /boot */ | 6 | #define LOAD_ADDR 0x4000 /* prom jumps to us here unless this is elf /boot */ |
7 | #define BI_START (KERNBASE + 0x3000) /* beginning of the bootinfo records */ | ||
8 | #define FC_CONTROL 3 | 7 | #define FC_CONTROL 3 |
9 | #define FC_SUPERD 5 | 8 | #define FC_SUPERD 5 |
10 | #define FC_CPU 7 | 9 | #define FC_CPU 7 |
diff --git a/include/asm-m68k/sun3ints.h b/include/asm-m68k/sun3ints.h index de91fa071b99..309d6e6a1374 100644 --- a/include/asm-m68k/sun3ints.h +++ b/include/asm-m68k/sun3ints.h | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <asm/intersil.h> | 16 | #include <asm/intersil.h> |
17 | #include <asm/oplib.h> | 17 | #include <asm/oplib.h> |
18 | #include <asm/traps.h> | 18 | #include <asm/traps.h> |
19 | #include <asm/irq.h> | ||
19 | 20 | ||
20 | #define SUN3_INT_VECS 192 | 21 | #define SUN3_INT_VECS 192 |
21 | 22 | ||