Index: boot/arch/mips32/loader/boot.S
===================================================================
--- boot/arch/mips32/loader/boot.S	(revision df4ed852a2d1b242f9bdce0a873009a2cb77cec7)
+++ boot/arch/mips32/loader/boot.S	(revision 30e2bbabc6e6d2fb1df50ace4a1582aa7b8d4617)
@@ -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
