Index: boot/arch/mips32/loader/boot.S
===================================================================
--- boot/arch/mips32/loader/boot.S	(revision e94f73024eba70717a6d02d1511d2440ec61e6cd)
+++ boot/arch/mips32/loader/boot.S	(revision 85156d302a086103852bf03ded648aeb26304afa)
@@ -29,5 +29,6 @@
 #include "regname.h"
 
-#define INITIAL_STACK 0x80040000
+#define INITIAL_STACK        0x80040000
+#define MSIM_DORDER_ADDRESS  0x90000004
 
 .set noat
@@ -39,7 +40,26 @@
 .global start
 start:
-	lui $sp, INITIAL_STACK >> 16
-	ori $sp, $sp, INITIAL_STACK & 0xffff
 	
-	j bootstrap
+#ifdef MACHINE_msim
+	/* Read dorder value */
+	la $k0, MSIM_DORDER_ADDRESS
+	lw $k0, ($k0)
+	
+	/* If we are not running on BSP
+	   end in an infinite loop  */
+	beq $k0, $zero, bsp
 	nop
+	
+	loop:
+		j loop
+		nop
+	
+#endif
+	
+	bsp:
+		/* Setup initial stack */
+		lui $sp, INITIAL_STACK >> 16
+		ori $sp, $sp, INITIAL_STACK & 0xffff
+		
+		j bootstrap
+		nop
Index: contrib/conf/msim.conf
===================================================================
--- contrib/conf/msim.conf	(revision e94f73024eba70717a6d02d1511d2440ec61e6cd)
+++ contrib/conf/msim.conf	(revision 85156d302a086103852bf03ded648aeb26304afa)
@@ -4,4 +4,5 @@
 
 add dcpu cpu0
+add dcpu cpu1
 
 add rwm mainmem 0x00000000
@@ -11,5 +12,5 @@
 add rom bootmem 0x1fc00000
 bootmem generic 4096k
-bootmem load "image.boot" 
+bootmem load "image.boot"
 
 add dprinter printer 0x10000000
