On Wed, 28 Nov 2018, Julien Grall wrote:
> Only {A,F,I}MO are necessary to receive interrupts until a guest vCPU is
> loaded.
>
> The rest have no effect on Xen and it is better to avoid setting them.
>
> Signed-off-by: Julien Grall
> ---
> xen/arch/arm/traps.c | 8 ++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
> index 88ffeeb480..1eec966299 100644
> --- a/xen/arch/arm/traps.c
> +++ b/xen/arch/arm/traps.c
> @@ -181,8 +181,12 @@ void init_traps(void)
> WRITE_SYSREG((HCPTR_CP_MASK & ~(HCPTR_CP(10) | HCPTR_CP(11))) |
> HCPTR_TTA,
> CPTR_EL2);
>
> -/* Setup hypervisor traps */
> -WRITE_SYSREG(get_default_hcr_flags(), HCR_EL2);
> +/*
> + * Configure HCR_EL2 with the bareminimum to run Xen until a guest
^ bare minimum
> + * is scheduled. {A,I,F}MO bits are set to allow EL2 receiving
> + * interrupts.
> + */
> +WRITE_SYSREG(HCR_AMO | HCR_FMO | HCR_IMO, HCR_EL2);
> isb();
> }
Reviewed-by: Stefano Stabellini
___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel