diff options
Diffstat (limited to 'arch/mips/kernel/cps-vec.S')
| -rw-r--r-- | arch/mips/kernel/cps-vec.S | 17 | 
1 files changed, 12 insertions, 5 deletions
| diff --git a/arch/mips/kernel/cps-vec.S b/arch/mips/kernel/cps-vec.S index e68e6e04063a..1025f937ab0e 100644 --- a/arch/mips/kernel/cps-vec.S +++ b/arch/mips/kernel/cps-vec.S @@ -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 */ |