mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
target-arm: Allow cp access functions to indicate traps to EL2 or EL3
Some coprocessor access functions will need to indicate that the instruction should trap to EL2 or EL3 rather than the default target exception level; add corresponding CPAccessResult enum entries and handling code. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
This commit is contained in:
parent
012a906b19
commit
38836a2cd4
2 changed files with 19 additions and 2 deletions
|
@ -1252,7 +1252,8 @@ typedef enum CPAccessResult {
|
|||
/* Access fails due to a configurable trap or enable which would
|
||||
* result in a categorized exception syndrome giving information about
|
||||
* the failing instruction (ie syndrome category 0x3, 0x4, 0x5, 0x6,
|
||||
* 0xc or 0x18).
|
||||
* 0xc or 0x18). The exception is taken to the usual target EL (EL1 or
|
||||
* PL1 if in EL0, otherwise to the current EL).
|
||||
*/
|
||||
CP_ACCESS_TRAP = 1,
|
||||
/* Access fails and results in an exception syndrome 0x0 ("uncategorized").
|
||||
|
@ -1260,6 +1261,9 @@ typedef enum CPAccessResult {
|
|||
* result in this failure is specifically defined by the architecture.
|
||||
*/
|
||||
CP_ACCESS_TRAP_UNCATEGORIZED = 2,
|
||||
/* As CP_ACCESS_TRAP, but for traps directly to EL2 or EL3 */
|
||||
CP_ACCESS_TRAP_EL2 = 3,
|
||||
CP_ACCESS_TRAP_EL3 = 4,
|
||||
} CPAccessResult;
|
||||
|
||||
/* Access functions for coprocessor registers. These cannot fail and
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue