[PATCH] Sun3: General updates
authorSam Creasey <sammy@sammy.net>
Sat, 9 Dec 2006 09:34:38 +0000 (10:34 +0100)
committerLinus Torvalds <torvalds@woody.osdl.org>
Sat, 9 Dec 2006 17:41:18 +0000 (09:41 -0800)
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>
arch/m68k/kernel/sun3-head.S
arch/m68k/kernel/vmlinux-sun3.lds
arch/m68k/mm/sun3mmu.c
include/asm-m68k/sun3-head.h
include/asm-m68k/sun3ints.h

index bffd69a4a1abae3b28b84b906583833803e89689..4b5f050204e860ca7f2991e487d83602517b916f 100644 (file)
@@ -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
index 2550b4ae273234a5c7600f47163e413cd8e5b5d3..8c7eccbfc982e31205f37cb7a062b713faa60efd 100644 (file)
@@ -8,7 +8,7 @@ ENTRY(_start)
 jiffies = jiffies_64 + 4;
 SECTIONS
 {
-  . = 0xE004000;
+  . = 0xE002000;
   _text = .;                   /* Text and read-only data */
   .text : {
        *(.head)
index ac6640ade0b1f519ee0ce7363d2ac5131843615c..6a6513aa1ce8595dad72ec7456091380e4130882 100644 (file)
@@ -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);
+
 
 }
 
index f799d95bad5365f44b391572612c6b7d578948c9..e74f384e269ff326841e6ca8a6c857cc4329cdb4 100644 (file)
@@ -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
index de91fa071b995f3d1aa5fbac3bcc48cb7177dfac..309d6e6a1374736e203f8c7cf166d8d6ff6693ed 100644 (file)
@@ -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