Commit 607d98b8 authored by Edgar E. Iglesias's avatar Edgar E. Iglesias Committed by Peter Maydell
Browse files

target-arm: Add a Hypervisor Trap exception type



Signed-off-by: default avatarEdgar E. Iglesias <edgar.iglesias@xilinx.com>
Message-id: 1411718914-6608-9-git-send-email-edgar.iglesias@gmail.com
Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parent 35979d71
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@
#define EXCP_KERNEL_TRAP     9   /* Jumped to kernel code page.  */
#define EXCP_STREX          10
#define EXCP_HVC            11   /* HyperVisor Call */
#define EXCP_HYP_TRAP       12

#define ARMV7M_EXCP_RESET   1
#define ARMV7M_EXCP_NMI     2
+1 −0
Original line number Diff line number Diff line
@@ -477,6 +477,7 @@ void aarch64_cpu_do_interrupt(CPUState *cs)
    case EXCP_UDEF:
    case EXCP_SWI:
    case EXCP_HVC:
    case EXCP_HYP_TRAP:
        env->cp15.esr_el[new_el] = env->exception.syndrome;
        break;
    case EXCP_IRQ:
+1 −0
Original line number Diff line number Diff line
@@ -3781,6 +3781,7 @@ unsigned int arm_excp_target_el(CPUState *cs, unsigned int excp_idx)

    switch (excp_idx) {
    case EXCP_HVC:
    case EXCP_HYP_TRAP:
        target_el = 2;
        break;
    default:
+1 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ static const char * const excnames[] = {
    [EXCP_KERNEL_TRAP] = "QEMU intercept of kernel commpage",
    [EXCP_STREX] = "QEMU intercept of STREX",
    [EXCP_HVC] = "Hypervisor Call",
    [EXCP_HYP_TRAP] = "Hypervisor Trap",
};

static inline void arm_log_exception(int idx)