[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/5] target-arm: Add CP_ACCESS_TRAP_UNCATEGORIZE
From: |
Edgar E. Iglesias |
Subject: |
Re: [Qemu-devel] [PATCH 3/5] target-arm: Add CP_ACCESS_TRAP_UNCATEGORIZED_EL2, 3 |
Date: |
Mon, 17 Aug 2015 03:52:46 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Fri, Jul 24, 2015 at 04:21:01PM +0100, Peter Maydell wrote:
> 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 <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
> ---
> target-arm/cpu.h | 3 +++
> target-arm/op_helper.c | 8 ++++++++
> 2 files changed, 11 insertions(+)
>
> diff --git a/target-arm/cpu.h b/target-arm/cpu.h
> index 7e89152..685474e 100644
> --- a/target-arm/cpu.h
> +++ b/target-arm/cpu.h
> @@ -1280,6 +1280,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
> diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c
> index 663c05d..1425a1d 100644
> --- a/target-arm/op_helper.c
> +++ b/target-arm/op_helper.c
> @@ -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();
> }
> --
> 1.9.1
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH 3/5] target-arm: Add CP_ACCESS_TRAP_UNCATEGORIZED_EL2, 3,
Edgar E. Iglesias <=