[MIPS] R3000 setup for kernel_thread()
Match the R4000 semantics for the initial state of interrupt/kernel status register flags for the R3000 in kernel_thread(). Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
		
							parent
							
								
									0f5c906442
								
							
						
					
					
						commit
						e5d77754c5
					
				| @ -231,8 +231,8 @@ long kernel_thread(int (*fn)(void *), void *arg, unsigned long flags) | ||||
| 	regs.cp0_epc = (unsigned long) kernel_thread_helper; | ||||
| 	regs.cp0_status = read_c0_status(); | ||||
| #if defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_TX39XX) | ||||
| 	regs.cp0_status &= ~(ST0_KUP | ST0_IEC); | ||||
| 	regs.cp0_status |= ST0_IEP; | ||||
| 	regs.cp0_status = (regs.cp0_status & ~(ST0_KUP | ST0_IEP | ST0_IEC)) | | ||||
| 			  ((regs.cp0_status & (ST0_KUC | ST0_IEC)) << 2); | ||||
| #else | ||||
| 	regs.cp0_status |= ST0_EXL; | ||||
| #endif | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user