소스 검색

[MIPS] SMTC: Fix secondary VPE interrupt mask initialization.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle 18 년 전
부모
커밋
dc0366bf3c
1개의 변경된 파일5개의 추가작업 그리고 4개의 파일을 삭제
  1. 5 4
      arch/mips/mips-boards/malta/malta_smtc.c

+ 5 - 4
arch/mips/mips-boards/malta/malta_smtc.c

@@ -42,10 +42,11 @@ void prom_init_secondary(void)
 	myvpe = read_c0_tcbind() & TCBIND_CURVPE;
 	myvpe = read_c0_tcbind() & TCBIND_CURVPE;
 	if (myvpe != 0) {
 	if (myvpe != 0) {
 		/* Ideally, this should be done only once per VPE, but... */
 		/* Ideally, this should be done only once per VPE, but... */
-		clear_c0_status(STATUSF_IP2);
-		set_c0_status(STATUSF_IP0 | STATUSF_IP1 | STATUSF_IP3
-				| STATUSF_IP4 | STATUSF_IP5 | STATUSF_IP6
-				| STATUSF_IP7);
+		clear_c0_status(ST0_IM);
+		set_c0_status((0x100 << cp0_compare_irq)
+				| (0x100 << MIPS_CPU_IPI_IRQ));
+		if (cp0_perfcount_irq >= 0)
+			set_c0_status(0x100 << cp0_perfcount_irq);
 	}
 	}
 
 
         smtc_init_secondary();
         smtc_init_secondary();