|
@@ -388,15 +388,16 @@ LEAF(mips_cps_boot_vpes)
|
|
|
|
|
|
#elif defined(CONFIG_MIPS_MT)
|
|
|
|
|
|
- .set push
|
|
|
- .set MIPS_ISA_LEVEL_RAW
|
|
|
- .set mt
|
|
|
-
|
|
|
/* If the core doesn't support MT then return */
|
|
|
has_mt t0, 5f
|
|
|
|
|
|
/* Enter VPE configuration state */
|
|
|
+ .set push
|
|
|
+ .set MIPS_ISA_LEVEL_RAW
|
|
|
+ .set mt
|
|
|
dvpe
|
|
|
+ .set pop
|
|
|
+
|
|
|
PTR_LA t1, 1f
|
|
|
jr.hb t1
|
|
|
nop
|
|
@@ -422,6 +423,10 @@ LEAF(mips_cps_boot_vpes)
|
|
|
mtc0 t0, CP0_VPECONTROL
|
|
|
ehb
|
|
|
|
|
|
+ .set push
|
|
|
+ .set MIPS_ISA_LEVEL_RAW
|
|
|
+ .set mt
|
|
|
+
|
|
|
/* Skip the VPE if its TC is not halted */
|
|
|
mftc0 t0, CP0_TCHALT
|
|
|
beqz t0, 2f
|
|
@@ -495,6 +500,8 @@ LEAF(mips_cps_boot_vpes)
|
|
|
ehb
|
|
|
evpe
|
|
|
|
|
|
+ .set pop
|
|
|
+
|
|
|
/* Check whether this VPE is meant to be running */
|
|
|
li t0, 1
|
|
|
sll t0, t0, a1
|
|
@@ -509,7 +516,7 @@ LEAF(mips_cps_boot_vpes)
|
|
|
1: jr.hb t0
|
|
|
nop
|
|
|
|
|
|
-2: .set pop
|
|
|
+2:
|
|
|
|
|
|
#endif /* CONFIG_MIPS_MT_SMP */
|
|
|
|