Re: [PATCH v2 2/6] arm64: trap to EL1 accesses to AMU counters from EL0

From: Valentin Schneider
Date: Thu Jan 23 2020 - 12:04:39 EST


On 18/12/2019 18:26, Ionela Voinescu wrote:
> +/*
> + * reset_amuserenr_el0 - reset AMUSERENR_EL0 if AMUv1 present
> + */
> + .macro reset_amuserenr_el0, tmpreg
> + mrs \tmpreg, id_aa64pfr0_el1 // Check ID_AA64PFR0_EL1
> + ubfx \tmpreg, \tmpreg, #ID_AA64PFR0_AMU_SHIFT, #4
> + cbz \tmpreg, 9000f // Skip if no AMU present
> + msr_s SYS_AMUSERENR_EL0, xzr // Disable AMU access from EL0
> +9000:

AIUI you can steer away from the obscure numbering scheme and define the
label using the macro counter:

cbz \tmpreg, .Lskip_\@
[...]
.Lskip_\@:
.endm


> + .endm