// © 2021 Qualcomm Innovation Center, Inc. All rights reserved. // // SPDX-License-Identifier: BSD-3-Clause // Add the events for the traps coming from AArch32 // FIXME: interface vcpu // Guest trap events handled_event vcpu_trap_unknown param esr: ESR_EL2_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_wfe param iss: ESR_EL2_ISS_WFI_WFE_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_wfi param iss: ESR_EL2_ISS_WFI_WFE_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_fp_enabled param esr: ESR_EL2_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED #if defined(ARCH_ARM_FEAT_PAuth) handled_event vcpu_trap_pauth #endif handled_event vcpu_trap_illegal_state handled_event vcpu_trap_svc64 param esr: ESR_EL2_t handled_event vcpu_trap_hvc64 param iss: ESR_EL2_ISS_HVC_t handled_event vcpu_trap_smc64 param iss: ESR_EL2_ISS_SMC64_t handled_event vcpu_trap_sysreg_read param iss: ESR_EL2_ISS_MSR_MRS_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_sysreg_write param iss: ESR_EL2_ISS_MSR_MRS_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED #if defined(ARCH_ARM_FEAT_PAuth) handled_event vcpu_trap_eret param esr: ESR_EL2_t #endif handled_event vcpu_trap_pf_abort_guest param esr: ESR_EL2_t param ipa: vmaddr_result_t param far: FAR_EL2_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED #if defined(ARCH_ARM_FEAT_SVE) handled_event vcpu_trap_sve_access return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED #endif handled_event vcpu_trap_pc_alignment_fault handled_event vcpu_trap_data_abort_guest param esr: ESR_EL2_t param ipa: vmaddr_result_t param far: FAR_EL2_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_sp_alignment_fault handled_event vcpu_trap_fp64 param esr: ESR_EL2_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_breakpoint_guest param esr: ESR_EL2_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_software_step_guest param esr: ESR_EL2_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_watchpoint_guest param esr: ESR_EL2_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_brk_instruction_guest param esr: ESR_EL2_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_serror param iss: ESR_EL2_ISS_SERROR_t // AArch32 traps #if ARCH_AARCH64_32BIT_EL0 handled_event vcpu_trap_ldcstc_guest param iss: ESR_EL2_ISS_LDC_STC_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_mcrmrc14_guest param iss: ESR_EL2_ISS_MCR_MRC_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_mcrmrc15_guest param esr: ESR_EL2_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_mcrrmrrc15_guest param esr: ESR_EL2_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_mrrc14_guest param esr: ESR_EL2_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED handled_event vcpu_trap_bkpt_guest param esr: ESR_EL2_t return: vcpu_trap_result_t = VCPU_TRAP_RESULT_UNHANDLED #endif