Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[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>

authored by

Sam Creasey and committed by
Linus Torvalds
a3a79bd7 8e8858e9

+7 -14
-10
arch/m68k/kernel/sun3-head.S
··· 67 67 1: lea init_task,%curptr | get initial thread... 68 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 70 /* Point MSP at an invalid page to trap if it's used. --m */ 81 71 movl #(PAGESIZE),%d0 82 72 movc %d0,%msp
+1 -1
arch/m68k/kernel/vmlinux-sun3.lds
··· 8 8 jiffies = jiffies_64 + 4; 9 9 SECTIONS 10 10 { 11 - . = 0xE004000; 11 + . = 0xE002000; 12 12 _text = .; /* Text and read-only data */ 13 13 .text : { 14 14 *(.head)
+5 -2
arch/m68k/mm/sun3mmu.c
··· 49 49 unsigned long zones_size[MAX_NR_ZONES] = { 0, }; 50 50 unsigned long size; 51 51 52 - 53 52 #ifdef TEST_VERIFY_AREA 54 53 wp_works_ok = 0; 55 54 #endif ··· 93 94 /* memory sizing is a hack stolen from motorola.c.. hope it works for us */ 94 95 zones_size[ZONE_DMA] = ((unsigned long)high_memory - PAGE_OFFSET) >> PAGE_SHIFT; 95 96 96 - free_area_init(zones_size); 97 + /* I really wish I knew why the following change made things better... -- Sam */ 98 + /* free_area_init(zones_size); */ 99 + free_area_init_node(0, NODE_DATA(0), zones_size, 100 + (__pa(PAGE_OFFSET) >> PAGE_SHIFT) + 1, NULL); 101 + 97 102 98 103 } 99 104
-1
include/asm-m68k/sun3-head.h
··· 4 4 5 5 #define KERNBASE 0xE000000 /* First address the kernel will eventually be */ 6 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 7 #define FC_CONTROL 3 9 8 #define FC_SUPERD 5 10 9 #define FC_CPU 7
+1
include/asm-m68k/sun3ints.h
··· 16 16 #include <asm/intersil.h> 17 17 #include <asm/oplib.h> 18 18 #include <asm/traps.h> 19 + #include <asm/irq.h> 19 20 20 21 #define SUN3_INT_VECS 192 21 22