]> git.karo-electronics.de Git - linux-beck.git/blobdiff - arch/mips/loongson/common/init.c
MIPS: Loongson 3: Add Loongson-3 SMP support
[linux-beck.git] / arch / mips / loongson / common / init.c
index ae7af1fd5d59612b66d3fdff7dd11e6cf54058d6..f37fe5413b7305d17c38bcc057e66686948b53b5 100644 (file)
@@ -9,6 +9,7 @@
  */
 
 #include <linux/bootmem.h>
+#include <asm/smp-ops.h>
 
 #include <loongson.h>
 
@@ -17,10 +18,6 @@ unsigned long __maybe_unused _loongson_addrwincfg_base;
 
 void __init prom_init(void)
 {
-       /* init base address of io space */
-       set_io_port_base((unsigned long)
-               ioremap(LOONGSON_PCIIO_BASE, LOONGSON_PCIIO_SIZE));
-
 #ifdef CONFIG_CPU_SUPPORTS_ADDRWINCFG
        _loongson_addrwincfg_base = (unsigned long)
                ioremap(LOONGSON_ADDRWINCFG_BASE, LOONGSON_ADDRWINCFG_SIZE);
@@ -28,10 +25,16 @@ void __init prom_init(void)
 
        prom_init_cmdline();
        prom_init_env();
+
+       /* init base address of io space */
+       set_io_port_base((unsigned long)
+               ioremap(LOONGSON_PCIIO_BASE, LOONGSON_PCIIO_SIZE));
+
        prom_init_memory();
 
        /*init the uart base address */
        prom_init_uart_base();
+       register_smp_ops(&loongson3_smp_ops);
 }
 
 void __init prom_free_prom_memory(void)