diff options
author | Sam Creasey <sammy@sammy.net> | 2006-12-09 10:34:38 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-09 09:41:18 -0800 |
commit | a3a79bd7c75f0055df16540c7e9dbe270060ebe8 (patch) | |
tree | 6c115200e1c607a6f19007ae0953be67171ad39a | |
parent | 8e8858e932a81d827e194abf82faf32d02396f55 (diff) | |
download | op-kernel-dev-a3a79bd7c75f0055df16540c7e9dbe270060ebe8.zip op-kernel-dev-a3a79bd7c75f0055df16540c7e9dbe270060ebe8.tar.gz |
[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 bffd69a..4b5f050 100644 --- a/arch/m68k/kernel/sun3-head.S +++ b/arch/m68k/kernel/sun3-head.S @@ -67,16 +67,6 @@ ENTRY(_start) 1: lea init_task,%curptr | get initial thread... lea init_thread_union+THREAD_SIZE,%sp | ...and its stack. -/* copy bootinfo records from the loader to _end */ - lea _end, %a1 - lea BI_START, %a0 - /* number of longs to copy */ - movel %a0@, %d0 -1: addl #4, %a0 - movel %a0@, %a1@ - addl #4, %a1 - dbf %d0, 1b - /* Point MSP at an invalid page to trap if it's used. --m */ movl #(PAGESIZE),%d0 movc %d0,%msp diff --git a/arch/m68k/kernel/vmlinux-sun3.lds b/arch/m68k/kernel/vmlinux-sun3.lds index 2550b4a..8c7eccb 100644 --- a/arch/m68k/kernel/vmlinux-sun3.lds +++ b/arch/m68k/kernel/vmlinux-sun3.lds @@ -8,7 +8,7 @@ ENTRY(_start) jiffies = jiffies_64 + 4; SECTIONS { - . = 0xE004000; + . = 0xE002000; _text = .; /* Text and read-only data */ .text : { *(.head) diff --git a/arch/m68k/mm/sun3mmu.c b/arch/m68k/mm/sun3mmu.c index ac6640a..6a6513a 100644 --- a/arch/m68k/mm/sun3mmu.c +++ b/arch/m68k/mm/sun3mmu.c @@ -49,7 +49,6 @@ void __init paging_init(void) unsigned long zones_size[MAX_NR_ZONES] = { 0, }; unsigned long size; - #ifdef TEST_VERIFY_AREA wp_works_ok = 0; #endif @@ -94,7 +93,11 @@ void __init paging_init(void) /* memory sizing is a hack stolen from motorola.c.. hope it works for us */ zones_size[ZONE_DMA] = ((unsigned long)high_memory - PAGE_OFFSET) >> PAGE_SHIFT; - free_area_init(zones_size); + /* I really wish I knew why the following change made things better... -- Sam */ +/* free_area_init(zones_size); */ + free_area_init_node(0, NODE_DATA(0), zones_size, + (__pa(PAGE_OFFSET) >> PAGE_SHIFT) + 1, NULL); + } diff --git a/include/asm-m68k/sun3-head.h b/include/asm-m68k/sun3-head.h index f799d95..e74f384 100644 --- a/include/asm-m68k/sun3-head.h +++ b/include/asm-m68k/sun3-head.h @@ -4,7 +4,6 @@ #define KERNBASE 0xE000000 /* First address the kernel will eventually be */ #define LOAD_ADDR 0x4000 /* prom jumps to us here unless this is elf /boot */ -#define BI_START (KERNBASE + 0x3000) /* beginning of the bootinfo records */ #define FC_CONTROL 3 #define FC_SUPERD 5 #define FC_CPU 7 diff --git a/include/asm-m68k/sun3ints.h b/include/asm-m68k/sun3ints.h index de91fa0..309d6e6 100644 --- a/include/asm-m68k/sun3ints.h +++ b/include/asm-m68k/sun3ints.h @@ -16,6 +16,7 @@ #include <asm/intersil.h> #include <asm/oplib.h> #include <asm/traps.h> +#include <asm/irq.h> #define SUN3_INT_VECS 192 |