mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 12:07:31 +00:00 
			
		
		
		
	target-arm: Add CP_ACCESS_TRAP_UNCATEGORIZED_EL2, 3
Some coprocessor register access functions need to be able to report "trap to EL3 with an 'uncategorized' syndrome"; add the necessary CPAccessResult enum and handling for it. I don't currently know of any registers that need to trap to EL2 with the 'uncategorized' syndrome, but adding the _EL2 enum as well is trivial and fills in what would otherwise be an odd gap in the handling. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1437751263-21913-4-git-send-email-peter.maydell@linaro.org
This commit is contained in:
		
							parent
							
								
									2a47df9532
								
							
						
					
					
						commit
						e76157264d
					
				| @ -1284,6 +1284,9 @@ typedef enum CPAccessResult { | ||||
|     /* As CP_ACCESS_TRAP, but for traps directly to EL2 or EL3 */ | ||||
|     CP_ACCESS_TRAP_EL2 = 3, | ||||
|     CP_ACCESS_TRAP_EL3 = 4, | ||||
|     /* As CP_ACCESS_UNCATEGORIZED, but for traps directly to EL2 or EL3 */ | ||||
|     CP_ACCESS_TRAP_UNCATEGORIZED_EL2 = 5, | ||||
|     CP_ACCESS_TRAP_UNCATEGORIZED_EL3 = 6, | ||||
| } CPAccessResult; | ||||
| 
 | ||||
| /* Access functions for coprocessor registers. These cannot fail and
 | ||||
|  | ||||
| @ -444,6 +444,14 @@ void HELPER(access_check_cp_reg)(CPUARMState *env, void *rip, uint32_t syndrome) | ||||
|         target_el = exception_target_el(env); | ||||
|         syndrome = syn_uncategorized(); | ||||
|         break; | ||||
|     case CP_ACCESS_TRAP_UNCATEGORIZED_EL2: | ||||
|         target_el = 2; | ||||
|         syndrome = syn_uncategorized(); | ||||
|         break; | ||||
|     case CP_ACCESS_TRAP_UNCATEGORIZED_EL3: | ||||
|         target_el = 3; | ||||
|         syndrome = syn_uncategorized(); | ||||
|         break; | ||||
|     default: | ||||
|         g_assert_not_reached(); | ||||
|     } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Peter Maydell
						Peter Maydell