ARM: 8195/1: vfp: Bounce undefined instructions in vectored mode
Certain ARM CPU implementations (e.g. Cortex-A15) may not raise a floating- point exception whenever deprecated short-vector VFP instructions are executed. Instead these instructions are treated as UNALLOCATED. Change the VFP exception handling code to emulate short-vector instructions even if FPEXC exception bits are not set. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Tested-by: Will Deacon <will.deacon@arm.com> Tested-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
		
					parent
					
						
							
								09415fa2c5
							
						
					
				
			
			
				commit
				
					
						1ca8bf6f7b
					
				
			
		
					 1 changed files with 6 additions and 0 deletions
				
			
		| 
						 | 
					@ -197,6 +197,12 @@ look_for_VFP_exceptions:
 | 
				
			||||||
	tst	r5, #FPSCR_IXE
 | 
						tst	r5, #FPSCR_IXE
 | 
				
			||||||
	bne	process_exception
 | 
						bne	process_exception
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						tst	r5, #FPSCR_LENGTH_MASK
 | 
				
			||||||
 | 
						beq	skip
 | 
				
			||||||
 | 
						orr	r1, r1, #FPEXC_DEX
 | 
				
			||||||
 | 
						b	process_exception
 | 
				
			||||||
 | 
					skip:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@ Fall into hand on to next handler - appropriate coproc instr
 | 
						@ Fall into hand on to next handler - appropriate coproc instr
 | 
				
			||||||
	@ not recognised by VFP
 | 
						@ not recognised by VFP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue