#include <Hypervisor/hv_vcpu_types.h> also included by
<Hypervisor/Hypervisor.h>hv_vcpu_types.h
typedefhv_vcpu_config_t
typedef struct hv_vcpu_config_s *hv_vcpu_config_t
enumhv_exit_reason_t
@abstract Events that can trigger a guest exit to the VMM
| HV_EXIT_REASON_CANCELED | 0 | |
| HV_EXIT_REASON_EXCEPTION | 1 | |
| HV_EXIT_REASON_VTIMER_ACTIVATED | 2 | |
| HV_EXIT_REASON_UNKNOWN | 3 |
typedefhv_exit_reason_t
typedef enum hv_exit_reason_t hv_exit_reason_t;
typedefhv_exception_syndrome_t
@abstract Type of a vcpu exception syndrome (Corresponds to ESR_ELx).
typedef uint64_t hv_exception_syndrome_t
typedefhv_exception_address_t
@abstract Type of a vcpu exception virtual address. (Corresponds to FAR_ELx).
typedef uint64_t hv_exception_address_t
structhv_vcpu_exit_exception_t
@abstract Contains details of a vcpu exception.
| hv_exception_syndrome_t | syndrome | |
| hv_exception_address_t | virtual_address | |
| hv_ipa_t | physical_address |
typedefhv_vcpu_exit_exception_t
typedef struct hv_vcpu_exit_exception_t hv_vcpu_exit_exception_t;
structhv_vcpu_exit_t
@abstract Contains information about an exit from the vcpu to the host.
| hv_exit_reason_t | reason | |
| hv_vcpu_exit_exception_t | exception |
typedefhv_vcpu_exit_t
typedef struct hv_vcpu_exit_t hv_vcpu_exit_t;
typedefhv_simd_fp_uchar16_t
@abstract Value of an ARM SIMD&FP register.
typedef __attribute__((ext_vector_type(16))) uint8_t hv_simd_fp_uchar16_t
enumhv_reg_t
@abstract Type of an ARM register.
@discussion Represents the X0-X30 GPRs, the Program Counter (PC), the Floating-point Control
and Status registers (FPCR and FPSR), and the Current Program Status Register (CPSR).
| HV_REG_X0 | 0 | |
| HV_REG_X1 | 1 | |
| HV_REG_X2 | 2 | |
| HV_REG_X3 | 3 | |
| HV_REG_X4 | 4 | |
| HV_REG_X5 | 5 | |
| HV_REG_X6 | 6 | |
| HV_REG_X7 | 7 | |
| HV_REG_X8 | 8 | |
| HV_REG_X9 | 9 | |
| HV_REG_X10 | 10 | |
| HV_REG_X11 | 11 | |
| HV_REG_X12 | 12 | |
| HV_REG_X13 | 13 | |
| HV_REG_X14 | 14 | |
| HV_REG_X15 | 15 | |
| HV_REG_X16 | 16 | |
| HV_REG_X17 | 17 | |
| HV_REG_X18 | 18 | |
| HV_REG_X19 | 19 | |
| HV_REG_X20 | 20 | |
| HV_REG_X21 | 21 | |
| HV_REG_X22 | 22 | |
| HV_REG_X23 | 23 | |
| HV_REG_X24 | 24 | |
| HV_REG_X25 | 25 | |
| HV_REG_X26 | 26 | |
| HV_REG_X27 | 27 | |
| HV_REG_X28 | 28 | |
| HV_REG_X29 | 29 | |
| HV_REG_FP | 29 | |
| HV_REG_X30 | 30 | |
| HV_REG_LR | 30 | |
| HV_REG_PC | 31 | |
| HV_REG_FPCR | 32 | |
| HV_REG_FPSR | 33 | |
| HV_REG_CPSR | 34 |
typedefhv_reg_t
typedef enum hv_reg_t hv_reg_t;
enumhv_simd_fp_reg_t
@abstract Type of an ARM SIMD&FP register.
| HV_SIMD_FP_REG_Q0 | 0 | |
| HV_SIMD_FP_REG_Q1 | 1 | |
| HV_SIMD_FP_REG_Q2 | 2 | |
| HV_SIMD_FP_REG_Q3 | 3 | |
| HV_SIMD_FP_REG_Q4 | 4 | |
| HV_SIMD_FP_REG_Q5 | 5 | |
| HV_SIMD_FP_REG_Q6 | 6 | |
| HV_SIMD_FP_REG_Q7 | 7 | |
| HV_SIMD_FP_REG_Q8 | 8 | |
| HV_SIMD_FP_REG_Q9 | 9 | |
| HV_SIMD_FP_REG_Q10 | 10 | |
| HV_SIMD_FP_REG_Q11 | 11 | |
| HV_SIMD_FP_REG_Q12 | 12 | |
| HV_SIMD_FP_REG_Q13 | 13 | |
| HV_SIMD_FP_REG_Q14 | 14 | |
| HV_SIMD_FP_REG_Q15 | 15 | |
| HV_SIMD_FP_REG_Q16 | 16 | |
| HV_SIMD_FP_REG_Q17 | 17 | |
| HV_SIMD_FP_REG_Q18 | 18 | |
| HV_SIMD_FP_REG_Q19 | 19 | |
| HV_SIMD_FP_REG_Q20 | 20 | |
| HV_SIMD_FP_REG_Q21 | 21 | |
| HV_SIMD_FP_REG_Q22 | 22 | |
| HV_SIMD_FP_REG_Q23 | 23 | |
| HV_SIMD_FP_REG_Q24 | 24 | |
| HV_SIMD_FP_REG_Q25 | 25 | |
| HV_SIMD_FP_REG_Q26 | 26 | |
| HV_SIMD_FP_REG_Q27 | 27 | |
| HV_SIMD_FP_REG_Q28 | 28 | |
| HV_SIMD_FP_REG_Q29 | 29 | |
| HV_SIMD_FP_REG_Q30 | 30 | |
| HV_SIMD_FP_REG_Q31 | 31 |
typedefhv_simd_fp_reg_t
typedef enum hv_simd_fp_reg_t hv_simd_fp_reg_t;
structhv_vcpu_sme_state_t
| _Bool | streaming_sve_mode_enabled | |
| _Bool | za_storage_enabled |
typedefhv_vcpu_sme_state_t
typedef struct hv_vcpu_sme_state_t hv_vcpu_sme_state_t;
enumhv_sme_z_reg_t
@abstract Type of an ARM SME Z vector register.
| HV_SME_Z_REG_0 | 0 | |
| HV_SME_Z_REG_1 | 1 | |
| HV_SME_Z_REG_2 | 2 | |
| HV_SME_Z_REG_3 | 3 | |
| HV_SME_Z_REG_4 | 4 | |
| HV_SME_Z_REG_5 | 5 | |
| HV_SME_Z_REG_6 | 6 | |
| HV_SME_Z_REG_7 | 7 | |
| HV_SME_Z_REG_8 | 8 | |
| HV_SME_Z_REG_9 | 9 | |
| HV_SME_Z_REG_10 | 10 | |
| HV_SME_Z_REG_11 | 11 | |
| HV_SME_Z_REG_12 | 12 | |
| HV_SME_Z_REG_13 | 13 | |
| HV_SME_Z_REG_14 | 14 | |
| HV_SME_Z_REG_15 | 15 | |
| HV_SME_Z_REG_16 | 16 | |
| HV_SME_Z_REG_17 | 17 | |
| HV_SME_Z_REG_18 | 18 | |
| HV_SME_Z_REG_19 | 19 | |
| HV_SME_Z_REG_20 | 20 | |
| HV_SME_Z_REG_21 | 21 | |
| HV_SME_Z_REG_22 | 22 | |
| HV_SME_Z_REG_23 | 23 | |
| HV_SME_Z_REG_24 | 24 | |
| HV_SME_Z_REG_25 | 25 | |
| HV_SME_Z_REG_26 | 26 | |
| HV_SME_Z_REG_27 | 27 | |
| HV_SME_Z_REG_28 | 28 | |
| HV_SME_Z_REG_29 | 29 | |
| HV_SME_Z_REG_30 | 30 | |
| HV_SME_Z_REG_31 | 31 |
typedefhv_sme_z_reg_t
typedef enum hv_sme_z_reg_t hv_sme_z_reg_t;
enumhv_sme_p_reg_t
@abstract Type of an ARM SME P predicate register.
| HV_SME_P_REG_0 | 0 | |
| HV_SME_P_REG_1 | 1 | |
| HV_SME_P_REG_2 | 2 | |
| HV_SME_P_REG_3 | 3 | |
| HV_SME_P_REG_4 | 4 | |
| HV_SME_P_REG_5 | 5 | |
| HV_SME_P_REG_6 | 6 | |
| HV_SME_P_REG_7 | 7 | |
| HV_SME_P_REG_8 | 8 | |
| HV_SME_P_REG_9 | 9 | |
| HV_SME_P_REG_10 | 10 | |
| HV_SME_P_REG_11 | 11 | |
| HV_SME_P_REG_12 | 12 | |
| HV_SME_P_REG_13 | 13 | |
| HV_SME_P_REG_14 | 14 | |
| HV_SME_P_REG_15 | 15 |
typedefhv_sme_p_reg_t
typedef enum hv_sme_p_reg_t hv_sme_p_reg_t;
typedefhv_sme_zt0_uchar64_t
typedef __attribute__((ext_vector_type(64))) uint8_t hv_sme_zt0_uchar64_t
enumhv_sys_reg_t
@abstract Type of an ARM system register.
| HV_SYS_REG_DBGBVR0_EL1 | -32764 | |
| HV_SYS_REG_DBGBCR0_EL1 | -32763 | |
| HV_SYS_REG_DBGWVR0_EL1 | -32762 | |
| HV_SYS_REG_DBGWCR0_EL1 | -32761 | |
| HV_SYS_REG_DBGBVR1_EL1 | -32756 | |
| HV_SYS_REG_DBGBCR1_EL1 | -32755 | |
| HV_SYS_REG_DBGWVR1_EL1 | -32754 | |
| HV_SYS_REG_DBGWCR1_EL1 | -32753 | |
| HV_SYS_REG_MDCCINT_EL1 | -32752 | |
| HV_SYS_REG_MDSCR_EL1 | -32750 | |
| HV_SYS_REG_DBGBVR2_EL1 | -32748 | |
| HV_SYS_REG_DBGBCR2_EL1 | -32747 | |
| HV_SYS_REG_DBGWVR2_EL1 | -32746 | |
| HV_SYS_REG_DBGWCR2_EL1 | -32745 | |
| HV_SYS_REG_DBGBVR3_EL1 | -32740 | |
| HV_SYS_REG_DBGBCR3_EL1 | -32739 | |
| HV_SYS_REG_DBGWVR3_EL1 | -32738 | |
| HV_SYS_REG_DBGWCR3_EL1 | -32737 | |
| HV_SYS_REG_DBGBVR4_EL1 | -32732 | |
| HV_SYS_REG_DBGBCR4_EL1 | -32731 | |
| HV_SYS_REG_DBGWVR4_EL1 | -32730 | |
| HV_SYS_REG_DBGWCR4_EL1 | -32729 | |
| HV_SYS_REG_DBGBVR5_EL1 | -32724 | |
| HV_SYS_REG_DBGBCR5_EL1 | -32723 | |
| HV_SYS_REG_DBGWVR5_EL1 | -32722 | |
| HV_SYS_REG_DBGWCR5_EL1 | -32721 | |
| HV_SYS_REG_DBGBVR6_EL1 | -32716 | |
| HV_SYS_REG_DBGBCR6_EL1 | -32715 | |
| HV_SYS_REG_DBGWVR6_EL1 | -32714 | |
| HV_SYS_REG_DBGWCR6_EL1 | -32713 | |
| HV_SYS_REG_DBGBVR7_EL1 | -32708 | |
| HV_SYS_REG_DBGBCR7_EL1 | -32707 | |
| HV_SYS_REG_DBGWVR7_EL1 | -32706 | |
| HV_SYS_REG_DBGWCR7_EL1 | -32705 | |
| HV_SYS_REG_DBGBVR8_EL1 | -32700 | |
| HV_SYS_REG_DBGBCR8_EL1 | -32699 | |
| HV_SYS_REG_DBGWVR8_EL1 | -32698 | |
| HV_SYS_REG_DBGWCR8_EL1 | -32697 | |
| HV_SYS_REG_DBGBVR9_EL1 | -32692 | |
| HV_SYS_REG_DBGBCR9_EL1 | -32691 | |
| HV_SYS_REG_DBGWVR9_EL1 | -32690 | |
| HV_SYS_REG_DBGWCR9_EL1 | -32689 | |
| HV_SYS_REG_DBGBVR10_EL1 | -32684 | |
| HV_SYS_REG_DBGBCR10_EL1 | -32683 | |
| HV_SYS_REG_DBGWVR10_EL1 | -32682 | |
| HV_SYS_REG_DBGWCR10_EL1 | -32681 | |
| HV_SYS_REG_DBGBVR11_EL1 | -32676 | |
| HV_SYS_REG_DBGBCR11_EL1 | -32675 | |
| HV_SYS_REG_DBGWVR11_EL1 | -32674 | |
| HV_SYS_REG_DBGWCR11_EL1 | -32673 | |
| HV_SYS_REG_DBGBVR12_EL1 | -32668 | |
| HV_SYS_REG_DBGBCR12_EL1 | -32667 | |
| HV_SYS_REG_DBGWVR12_EL1 | -32666 | |
| HV_SYS_REG_DBGWCR12_EL1 | -32665 | |
| HV_SYS_REG_DBGBVR13_EL1 | -32660 | |
| HV_SYS_REG_DBGBCR13_EL1 | -32659 | |
| HV_SYS_REG_DBGWVR13_EL1 | -32658 | |
| HV_SYS_REG_DBGWCR13_EL1 | -32657 | |
| HV_SYS_REG_DBGBVR14_EL1 | -32652 | |
| HV_SYS_REG_DBGBCR14_EL1 | -32651 | |
| HV_SYS_REG_DBGWVR14_EL1 | -32650 | |
| HV_SYS_REG_DBGWCR14_EL1 | -32649 | |
| HV_SYS_REG_DBGBVR15_EL1 | -32644 | |
| HV_SYS_REG_DBGBCR15_EL1 | -32643 | |
| HV_SYS_REG_DBGWVR15_EL1 | -32642 | |
| HV_SYS_REG_DBGWCR15_EL1 | -32641 | |
| HV_SYS_REG_MIDR_EL1 | -16384 | |
| HV_SYS_REG_MPIDR_EL1 | -16379 | |
| HV_SYS_REG_ID_AA64PFR0_EL1 | -16352 | |
| HV_SYS_REG_ID_AA64PFR1_EL1 | -16351 | |
| HV_SYS_REG_ID_AA64ZFR0_EL1 | -16348 | |
| HV_SYS_REG_ID_AA64SMFR0_EL1 | -16347 | |
| HV_SYS_REG_ID_AA64DFR0_EL1 | -16344 | |
| HV_SYS_REG_ID_AA64DFR1_EL1 | -16343 | |
| HV_SYS_REG_ID_AA64ISAR0_EL1 | -16336 | |
| HV_SYS_REG_ID_AA64ISAR1_EL1 | -16335 | |
| HV_SYS_REG_ID_AA64MMFR0_EL1 | -16328 | |
| HV_SYS_REG_ID_AA64MMFR1_EL1 | -16327 | |
| HV_SYS_REG_ID_AA64MMFR2_EL1 | -16326 | |
| HV_SYS_REG_SCTLR_EL1 | -16256 | |
| HV_SYS_REG_ACTLR_EL1 | -16255 | |
| HV_SYS_REG_CPACR_EL1 | -16254 | |
| HV_SYS_REG_SMPRI_EL1 | -16236 | |
| HV_SYS_REG_SMCR_EL1 | -16234 | |
| HV_SYS_REG_TTBR0_EL1 | -16128 | |
| HV_SYS_REG_TTBR1_EL1 | -16127 | |
| HV_SYS_REG_TCR_EL1 | -16126 | |
| HV_SYS_REG_APIAKEYLO_EL1 | -16120 | |
| HV_SYS_REG_APIAKEYHI_EL1 | -16119 | |
| HV_SYS_REG_APIBKEYLO_EL1 | -16118 | |
| HV_SYS_REG_APIBKEYHI_EL1 | -16117 | |
| HV_SYS_REG_APDAKEYLO_EL1 | -16112 | |
| HV_SYS_REG_APDAKEYHI_EL1 | -16111 | |
| HV_SYS_REG_APDBKEYLO_EL1 | -16110 | |
| HV_SYS_REG_APDBKEYHI_EL1 | -16109 | |
| HV_SYS_REG_APGAKEYLO_EL1 | -16104 | |
| HV_SYS_REG_APGAKEYHI_EL1 | -16103 | |
| HV_SYS_REG_SPSR_EL1 | -15872 | |
| HV_SYS_REG_ELR_EL1 | -15871 | |
| HV_SYS_REG_SP_EL0 | -15864 | |
| HV_SYS_REG_AFSR0_EL1 | -15736 | |
| HV_SYS_REG_AFSR1_EL1 | -15735 | |
| HV_SYS_REG_ESR_EL1 | -15728 | |
| HV_SYS_REG_FAR_EL1 | -15616 | |
| HV_SYS_REG_PAR_EL1 | -15456 | |
| HV_SYS_REG_MAIR_EL1 | -15088 | |
| HV_SYS_REG_AMAIR_EL1 | -15080 | |
| HV_SYS_REG_VBAR_EL1 | -14848 | |
| HV_SYS_REG_CONTEXTIDR_EL1 | -14719 | |
| HV_SYS_REG_TPIDR_EL1 | -14716 | |
| HV_SYS_REG_SCXTNUM_EL1 | -14713 | |
| HV_SYS_REG_CNTKCTL_EL1 | -14584 | |
| HV_SYS_REG_CSSELR_EL1 | -12288 | |
| HV_SYS_REG_TPIDR_EL0 | -8574 | |
| HV_SYS_REG_TPIDRRO_EL0 | -8573 | |
| HV_SYS_REG_TPIDR2_EL0 | -8571 | |
| HV_SYS_REG_SCXTNUM_EL0 | -8569 | |
| HV_SYS_REG_CNTV_CTL_EL0 | -8423 | |
| HV_SYS_REG_CNTV_CVAL_EL0 | -8422 | |
| HV_SYS_REG_SP_EL1 | -7672 | |
| HV_SYS_REG_CNTP_CTL_EL0 | -8431 | |
| HV_SYS_REG_CNTP_CVAL_EL0 | -8430 | |
| HV_SYS_REG_CNTP_TVAL_EL0 | -8432 | |
| HV_SYS_REG_CNTHCTL_EL2 | -6392 | |
| HV_SYS_REG_CNTHP_CTL_EL2 | -6383 | |
| HV_SYS_REG_CNTHP_CVAL_EL2 | -6382 | |
| HV_SYS_REG_CNTHP_TVAL_EL2 | -6384 | |
| HV_SYS_REG_CNTVOFF_EL2 | -6397 | |
| HV_SYS_REG_CPTR_EL2 | -8054 | |
| HV_SYS_REG_ELR_EL2 | -7679 | |
| HV_SYS_REG_ESR_EL2 | -7536 | |
| HV_SYS_REG_FAR_EL2 | -7424 | |
| HV_SYS_REG_HCR_EL2 | -8056 | |
| HV_SYS_REG_HPFAR_EL2 | -7420 | |
| HV_SYS_REG_MAIR_EL2 | -6896 | |
| HV_SYS_REG_MDCR_EL2 | -8055 | |
| HV_SYS_REG_SCTLR_EL2 | -8064 | |
| HV_SYS_REG_SPSR_EL2 | -7680 | |
| HV_SYS_REG_SP_EL2 | -3576 | |
| HV_SYS_REG_TCR_EL2 | -7934 | |
| HV_SYS_REG_TPIDR_EL2 | -6526 | |
| HV_SYS_REG_TTBR0_EL2 | -7936 | |
| HV_SYS_REG_TTBR1_EL2 | -7935 | |
| HV_SYS_REG_VBAR_EL2 | -6656 | |
| HV_SYS_REG_VMPIDR_EL2 | -8187 | |
| HV_SYS_REG_VPIDR_EL2 | -8192 | |
| HV_SYS_REG_VTCR_EL2 | -7926 | |
| HV_SYS_REG_VTTBR_EL2 | -7928 |
typedefhv_sys_reg_t
typedef enum hv_sys_reg_t hv_sys_reg_t;
enumhv_interrupt_type_t
@abstract Injected interrupt type.
@discussion Passed to hv_vcpu_get_interrupt_level and hv_vcpu_set_interrupt_level to get
and set virtual interrupt levels.
| HV_INTERRUPT_TYPE_IRQ | 0 | |
| HV_INTERRUPT_TYPE_FIQ | 1 |
typedefhv_interrupt_type_t
typedef enum hv_interrupt_type_t hv_interrupt_type_t;
typedefhv_cache_type_t
typedef enum hv_cache_type_t hv_cache_type_t;