hypctx_read_sys_reg
vmpidr_el2 = hypctx_read_sys_reg(hypctx, HOST_VMPIDR_EL2);
lr = hypctx_read_sys_reg(hypctx, HOST_ICH_LR_EL2(i));
if (hypctx != NULL && (hypctx_read_sys_reg(hypctx, HOST_VMPIDR_EL2) & GICD_AFF) == mpidr)
irq->mpidr = hypctx_read_sys_reg(hypctx, HOST_VMPIDR_EL2) & GICD_AFF;
hypctx_read_sys_reg(hypctx, HOST_CNTVOFF_EL2);
hypctx_read_sys_reg(hypctx, HOST_CNTVOFF_EL2);
if ((hypctx_read_sys_reg(hypctx, HOST_CNTHCTL_EL2) & CNTHCTL_ECV_EN) != 0) {
hypctx_read_sys_reg(hypctx, HOST_CNTVOFF_EL2);
cntpct_el0 = READ_SPECIALREG(cntpct_el0) - hypctx_read_sys_reg(hypctx, HOST_CNTVOFF_EL2);
*rval = READ_SPECIALREG(cntpct_el0) - hypctx_read_sys_reg(hypctx, HOST_CNTVOFF_EL2);
hypctx_read_sys_reg(hypctx, HOST_CNTVOFF_EL2);
cntpct_el0 = READ_SPECIALREG(cntpct_el0) - hypctx_read_sys_reg(hypctx, HOST_CNTVOFF_EL2);
if ((hypctx_read_sys_reg(hypctx, HOST_ESR_EL2) & ESR_ELx_ISS_MASK) != 0)
vme->u.smccc_call.func_id = hypctx_read_sys_reg(hypctx, GPR_X(0));
vme->u.smccc_call.args[i] = hypctx_read_sys_reg(hypctx, GPR_X(i + 1));
hypctx_read_sys_reg(hypctx, HOST_ELR_EL2));
mode = hypctx_read_sys_reg(hypctx, HOST_SPSR_EL2) &
vbar_el1 = hypctx_read_sys_reg(hypctx, VBAR_EL1);
new_spsr = hypctx_read_sys_reg(hypctx, HOST_SPSR_EL2);
if ((hypctx_read_sys_reg(hypctx, SCTLR_EL1) &
if ((hypctx_read_sys_reg(hypctx, SCTLR_EL1) &
vme->pc = hypctx_read_sys_reg(hypctx, HOST_ELR_EL2);
vme->u.hyp.esr_el2 = hypctx_read_sys_reg(hypctx, HOST_ESR_EL2);
vme->u.hyp.far_el2 = hypctx_read_sys_reg(hypctx, HOST_FAR_EL2);
vme->u.hyp.hpfar_el2 = hypctx_read_sys_reg(hypctx, HOST_HPFAR_EL2);
hypctx->debug_spsr |= (hypctx_read_sys_reg(hypctx,
hypctx->debug_mdscr |= (hypctx_read_sys_reg(hypctx,
host_spsr_el2 = hypctx_read_sys_reg(hypctx, HOST_SPSR_EL2);
HPFAR_EL2_FIPA_ADDR(hypctx_read_sys_reg(hypctx, HOST_HPFAR_EL2));
vme_ret->u.inst_emul.gpa += hypctx_read_sys_reg(hypctx, HOST_FAR_EL2) &
paging->ttbr0_addr = hypctx_read_sys_reg(hypctx, TTBR0_EL1) &
paging->ttbr1_addr = hypctx_read_sys_reg(hypctx, TTBR1_EL1) &
paging->tcr_el1 = hypctx_read_sys_reg(hypctx, TCR_EL1);
paging->tcr2_el1 = hypctx_read_sys_reg(hypctx, TCR2_EL1);
paging->flags = hypctx_read_sys_reg(hypctx, HOST_SPSR_EL2) & (PSR_M_MASK | PSR_M_32);
if ((hypctx_read_sys_reg(hypctx, SCTLR_EL1) & SCTLR_M) != 0)
if ((hypctx_read_sys_reg(hypctx, HOST_SPSR_EL2) & PSR_M_MASK) == PSR_M_EL0t)
esr |= hypctx_read_sys_reg(hypctx, HOST_ESR_EL2) & ESR_ELx_IL;
esr_ec = ESR_ELx_EXCEPTION(hypctx_read_sys_reg(hypctx, HOST_ESR_EL2));
esr_iss = hypctx_read_sys_reg(hypctx, HOST_ESR_EL2) & ESR_ELx_ISS_MASK;
if ((hypctx_read_sys_reg(hypctx, HOST_ESR_EL2) & 0x3) == 0) { /* WFI */
switch (hypctx_read_sys_reg(hypctx, HOST_ESR_EL2) & ISS_DATA_DFSC_MASK) {
gpa = HPFAR_EL2_FIPA_ADDR(hypctx_read_sys_reg(hypctx, HOST_HPFAR_EL2));
hypctx_read_sys_reg(hypctx, HOST_FAR_EL2),
vme_ret->u.paging.esr = hypctx_read_sys_reg(hypctx, HOST_ESR_EL2);
hypctx_read_sys_reg(hypctx, HOST_FAR_EL2), false,
switch ((hypctx_read_sys_reg(hypctx, PMCR_EL0) & PMCR_N_MASK) >>
ecv_poff = (hypctx_read_sys_reg(hypctx, HOST_CNTHCTL_EL2) &
WRITE_SPECIALREG(hcr_el2, hypctx_read_sys_reg(hypctx, HOST_HCR_EL2));
hypctx_read_sys_reg(hypctx, HOST_HCRX_EL2));
hypctx_read_sys_reg(hypctx, HOST_HDFGWTR_EL2));
hypctx_read_sys_reg(hypctx, HOST_HFGITR_EL2));
hypctx_read_sys_reg(hypctx, HOST_HFGRTR_EL2));
hypctx_read_sys_reg(hypctx, HOST_HFGWTR_EL2));
hypctx_read_sys_reg(hypctx, HOST_HDFGRTR2_EL2));
hypctx_read_sys_reg(hypctx, HOST_HDFGWTR2_EL2));
hypctx_read_sys_reg(hypctx, HOST_HFGITR2_EL2));
hypctx_read_sys_reg(hypctx, HOST_HFGRTR2_EL2));
hypctx_read_sys_reg(hypctx, HOST_HFGWTR2_EL2));
WRITE_SPECIALREG(sp_el0, hypctx_read_sys_reg(hypctx, SP_EL0));
WRITE_SPECIALREG(tpidr_el0, hypctx_read_sys_reg(hypctx, TPIDR_EL0));
WRITE_SPECIALREG(tpidrro_el0, hypctx_read_sys_reg(hypctx, TPIDRRO_EL0));
WRITE_SPECIALREG(tpidr_el1, hypctx_read_sys_reg(hypctx, TPIDR_EL1));
WRITE_SPECIALREG(actlr_el1, hypctx_read_sys_reg(hypctx, ACTLR_EL1));
WRITE_SPECIALREG(csselr_el1, hypctx_read_sys_reg(hypctx, CSSELR_EL1));
WRITE_SPECIALREG(mdccint_el1, hypctx_read_sys_reg(hypctx, MDCCINT_EL1));
WRITE_SPECIALREG(mdscr_el1, hypctx_read_sys_reg(hypctx, MDSCR_EL1));
hypctx_read_sys_reg(hypctx, ELR_EL1));
hypctx_read_sys_reg(hypctx, VBAR_EL1));
hypctx_read_sys_reg(hypctx, AFSR0_EL1));
hypctx_read_sys_reg(hypctx, AFSR1_EL1));
hypctx_read_sys_reg(hypctx, AMAIR_EL1));
hypctx_read_sys_reg(hypctx, CONTEXTIDR_EL1));
hypctx_read_sys_reg(hypctx, CPACR_EL1));
hypctx_read_sys_reg(hypctx, ESR_EL1));
hypctx_read_sys_reg(hypctx, FAR_EL1));
hypctx_read_sys_reg(hypctx, MAIR_EL1));
hypctx_read_sys_reg(hypctx, SCTLR_EL1));
hypctx_read_sys_reg(hypctx, SPSR_EL1));
hypctx_read_sys_reg(hypctx, TCR_EL1));
hypctx_read_sys_reg(hypctx, TTBR0_EL1));
hypctx_read_sys_reg(hypctx, TTBR1_EL1));
WRITE_SPECIALREG(par_el1, hypctx_read_sys_reg(hypctx, PAR_EL1));
hypctx_read_sys_reg(hypctx, HOST_CPTR_EL2));
hypctx_read_sys_reg(hypctx, HOST_VPIDR_EL2));
hypctx_read_sys_reg(hypctx, HOST_VMPIDR_EL2));
WRITE_SPECIALREG(sp_el1, hypctx_read_sys_reg(hypctx, HOST_SP_EL1));
WRITE_SPECIALREG(elr_el2, hypctx_read_sys_reg(hypctx, HOST_ELR_EL2));
WRITE_SPECIALREG(spsr_el2, hypctx_read_sys_reg(hypctx, HOST_SPSR_EL2));
hypctx_read_sys_reg(hypctx, PMCR_EL0));
hypctx_read_sys_reg(hypctx, PMCCNTR_EL0));
hypctx_read_sys_reg(hypctx, PMCCFILTR_EL0));
hypctx_read_sys_reg(hypctx, PMUSERENR_EL0));
hypctx_read_sys_reg(hypctx, PMSELR_EL0));
hypctx_read_sys_reg(hypctx, PMXEVCNTR_EL0));
hypctx_read_sys_reg(hypctx, PMCNTENSET_EL0));
hypctx_read_sys_reg(hypctx, PMINTENSET_EL1));
hypctx_read_sys_reg(hypctx, PMOVSSET_EL0));
switch ((hypctx_read_sys_reg(hypctx, PMCR_EL0) & PMCR_N_MASK) >>
hypctx_read_sys_reg(hypctx, PMEVCNTR_EL0(x))); \
hypctx_read_sys_reg(hypctx, PMEVTYPER_EL0(x)))
hypctx_read_sys_reg(hypctx, DBGCLAIMSET_EL1));
hypctx_read_sys_reg(hypctx, DBGBCR_EL1(x))); \
hypctx_read_sys_reg(hypctx, DBGBVR_EL1(x)))
hypctx_read_sys_reg(hypctx, DBGWCR_EL1(x))); \
hypctx_read_sys_reg(hypctx, DBGWVR_EL1(x)))
ecv_poff = (hypctx_read_sys_reg(hypctx, HOST_CNTHCTL_EL2) &
hypctx_read_sys_reg(hypctx, HOST_CNTHCTL_EL2));
hypctx_read_sys_reg(hypctx, HOST_CNTVOFF_EL2));
hypctx_read_sys_reg(hypctx, HOST_CNTVOFF_EL2));
hypctx_read_sys_reg(hypctx, HOST_ICH_HCR_EL2));
hypctx_read_sys_reg(hypctx, HOST_ICH_VMCR_EL2));
hypctx_read_sys_reg(hypctx, HOST_ICH_LR_EL2(x)))
hypctx_read_sys_reg(hypctx, HOST_ICH_AP0R_EL2(x))); \
hypctx_read_sys_reg(hypctx, HOST_ICH_AP1R_EL2(x)))
host_esr_el2 = hypctx_read_sys_reg(hypctx, HOST_ESR_EL2);
host_far_el2 = hypctx_read_sys_reg(hypctx, HOST_FAR_EL2);
WRITE_SPECIALREG(vttbr_el2, hypctx_read_sys_reg(hypctx, HOST_VTTBR_EL2));
WRITE_SPECIALREG(mdcr_el2, hypctx_read_sys_reg(hypctx, HOST_MDCR_EL2));
WRITE_SPECIALREG(mdcr_el2, hypctx_read_sys_reg(host_hypctx, HOST_MDCR_EL2));
(hypctx_read_sys_reg(el2ctx, PMCR_EL0) & PMCR_N_MASK) >> PMCR_N_SHIFT;