#include <Hypervisor/hv_vcpu_types.h> also included by <Hypervisor/Hypervisor.h>

hv_vcpu_types.h

17 typedefs · 8 enums · 3 structs

typedefhv_vcpu_config_t

typedef struct hv_vcpu_config_s *hv_vcpu_config_t

typedefhv_vcpu_t

@abstract Type of a vcpu instance ID
typedef uint64_t hv_vcpu_t

enumhv_exit_reason_t

@abstract Events that can trigger a guest exit to the VMM
underlying type uint32_t
HV_EXIT_REASON_CANCELED0
HV_EXIT_REASON_EXCEPTION1
HV_EXIT_REASON_VTIMER_ACTIVATED2
HV_EXIT_REASON_UNKNOWN3

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.
size 24, align 8
hv_exception_syndrome_tsyndrome
hv_exception_address_tvirtual_address
hv_ipa_tphysical_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.
size 32, align 8
hv_exit_reason_treason
hv_vcpu_exit_exception_texception

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).
underlying type uint32_t
HV_REG_X00
HV_REG_X11
HV_REG_X22
HV_REG_X33
HV_REG_X44
HV_REG_X55
HV_REG_X66
HV_REG_X77
HV_REG_X88
HV_REG_X99
HV_REG_X1010
HV_REG_X1111
HV_REG_X1212
HV_REG_X1313
HV_REG_X1414
HV_REG_X1515
HV_REG_X1616
HV_REG_X1717
HV_REG_X1818
HV_REG_X1919
HV_REG_X2020
HV_REG_X2121
HV_REG_X2222
HV_REG_X2323
HV_REG_X2424
HV_REG_X2525
HV_REG_X2626
HV_REG_X2727
HV_REG_X2828
HV_REG_X2929
HV_REG_FP29
HV_REG_X3030
HV_REG_LR30
HV_REG_PC31
HV_REG_FPCR32
HV_REG_FPSR33
HV_REG_CPSR34

typedefhv_reg_t

typedef enum hv_reg_t hv_reg_t;

enumhv_simd_fp_reg_t

@abstract Type of an ARM SIMD&FP register.
underlying type uint32_t
HV_SIMD_FP_REG_Q00
HV_SIMD_FP_REG_Q11
HV_SIMD_FP_REG_Q22
HV_SIMD_FP_REG_Q33
HV_SIMD_FP_REG_Q44
HV_SIMD_FP_REG_Q55
HV_SIMD_FP_REG_Q66
HV_SIMD_FP_REG_Q77
HV_SIMD_FP_REG_Q88
HV_SIMD_FP_REG_Q99
HV_SIMD_FP_REG_Q1010
HV_SIMD_FP_REG_Q1111
HV_SIMD_FP_REG_Q1212
HV_SIMD_FP_REG_Q1313
HV_SIMD_FP_REG_Q1414
HV_SIMD_FP_REG_Q1515
HV_SIMD_FP_REG_Q1616
HV_SIMD_FP_REG_Q1717
HV_SIMD_FP_REG_Q1818
HV_SIMD_FP_REG_Q1919
HV_SIMD_FP_REG_Q2020
HV_SIMD_FP_REG_Q2121
HV_SIMD_FP_REG_Q2222
HV_SIMD_FP_REG_Q2323
HV_SIMD_FP_REG_Q2424
HV_SIMD_FP_REG_Q2525
HV_SIMD_FP_REG_Q2626
HV_SIMD_FP_REG_Q2727
HV_SIMD_FP_REG_Q2828
HV_SIMD_FP_REG_Q2929
HV_SIMD_FP_REG_Q3030
HV_SIMD_FP_REG_Q3131

typedefhv_simd_fp_reg_t

typedef enum hv_simd_fp_reg_t hv_simd_fp_reg_t;

structhv_vcpu_sme_state_t

size 2, align 1
_Boolstreaming_sve_mode_enabled
_Boolza_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.
underlying type uint32_t
HV_SME_Z_REG_00
HV_SME_Z_REG_11
HV_SME_Z_REG_22
HV_SME_Z_REG_33
HV_SME_Z_REG_44
HV_SME_Z_REG_55
HV_SME_Z_REG_66
HV_SME_Z_REG_77
HV_SME_Z_REG_88
HV_SME_Z_REG_99
HV_SME_Z_REG_1010
HV_SME_Z_REG_1111
HV_SME_Z_REG_1212
HV_SME_Z_REG_1313
HV_SME_Z_REG_1414
HV_SME_Z_REG_1515
HV_SME_Z_REG_1616
HV_SME_Z_REG_1717
HV_SME_Z_REG_1818
HV_SME_Z_REG_1919
HV_SME_Z_REG_2020
HV_SME_Z_REG_2121
HV_SME_Z_REG_2222
HV_SME_Z_REG_2323
HV_SME_Z_REG_2424
HV_SME_Z_REG_2525
HV_SME_Z_REG_2626
HV_SME_Z_REG_2727
HV_SME_Z_REG_2828
HV_SME_Z_REG_2929
HV_SME_Z_REG_3030
HV_SME_Z_REG_3131

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.
underlying type uint32_t
HV_SME_P_REG_00
HV_SME_P_REG_11
HV_SME_P_REG_22
HV_SME_P_REG_33
HV_SME_P_REG_44
HV_SME_P_REG_55
HV_SME_P_REG_66
HV_SME_P_REG_77
HV_SME_P_REG_88
HV_SME_P_REG_99
HV_SME_P_REG_1010
HV_SME_P_REG_1111
HV_SME_P_REG_1212
HV_SME_P_REG_1313
HV_SME_P_REG_1414
HV_SME_P_REG_1515

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.
underlying type uint16_t
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.
underlying type uint32_t
HV_INTERRUPT_TYPE_IRQ0
HV_INTERRUPT_TYPE_FIQ1

typedefhv_interrupt_type_t

typedef enum hv_interrupt_type_t hv_interrupt_type_t;

enumhv_cache_type_t

@abstract Cache type.
underlying type uint32_t
HV_CACHE_TYPE_DATA0
HV_CACHE_TYPE_INSTRUCTION1

typedefhv_cache_type_t

typedef enum hv_cache_type_t hv_cache_type_t;