On Fri, 31 Mar 2017, Wei Chen wrote: > We want to add HCR_EL2 register to Xen context switch. And each copy > of HCR_EL2 in vcpu structure will be initialized with the same set > of trap flags as the HCR_EL2 register. We introduce a helper here to > represent these flags to be reused easily. > > Signed-off-by: Wei Chen <wei.c...@arm.com>
Reviewed-by: Stefano Stabellini <sstabell...@kernel.org> > --- > xen/arch/arm/traps.c | 11 ++++++++--- > xen/include/asm-arm/processor.h | 2 ++ > 2 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c > index 6137272..e6d88f2 100644 > --- a/xen/arch/arm/traps.c > +++ b/xen/arch/arm/traps.c > @@ -115,6 +115,13 @@ static void __init parse_vwfi(const char *s) > } > custom_param("vwfi", parse_vwfi); > > +register_t get_default_hcr_flags(void) > +{ > + return (HCR_PTW|HCR_BSU_INNER|HCR_AMO|HCR_IMO|HCR_FMO|HCR_VM| > + (vwfi != NATIVE ? (HCR_TWI|HCR_TWE) : 0) | > + HCR_TSC|HCR_TAC|HCR_SWIO|HCR_TIDCP|HCR_FB); > +} > + > void init_traps(void) > { > /* Setup Hyp vector base */ > @@ -139,9 +146,7 @@ void init_traps(void) > CPTR_EL2); > > /* Setup hypervisor traps */ > - WRITE_SYSREG(HCR_PTW|HCR_BSU_INNER|HCR_AMO|HCR_IMO|HCR_FMO|HCR_VM| > - (vwfi != NATIVE ? (HCR_TWI|HCR_TWE) : 0) | > - HCR_TSC|HCR_TAC|HCR_SWIO|HCR_TIDCP|HCR_FB,HCR_EL2); > + WRITE_SYSREG(get_default_hcr_flags(), HCR_EL2); > isb(); > } > > diff --git a/xen/include/asm-arm/processor.h b/xen/include/asm-arm/processor.h > index afc0e9a..4b6338b 100644 > --- a/xen/include/asm-arm/processor.h > +++ b/xen/include/asm-arm/processor.h > @@ -708,6 +708,8 @@ int call_smc(register_t function_id, register_t arg0, > register_t arg1, > > void do_trap_guest_error(struct cpu_user_regs *regs); > > +register_t get_default_hcr_flags(void); > + > #endif /* __ASSEMBLY__ */ > #endif /* __ASM_ARM_PROCESSOR_H */ > /* > -- > 2.7.4 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > https://lists.xen.org/xen-devel > _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel