On Tue, Jul 13, 2021 at 02:58:58PM +0100, Marc Zyngier wrote:
> +static void reset_pmu_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc 
> *r)
> +{
> +     u64 n, mask;
> +
> +     /* No PMU available, any PMU reg may UNDEF... */
> +     if (!kvm_arm_support_pmu_v3())
> +             return;
> +
> +     n = read_sysreg(pmcr_el0) >> ARMV8_PMU_PMCR_N_SHIFT;
> +     n &= ARMV8_PMU_PMCR_N_MASK;
> +
> +     reset_unknown(vcpu, r);
> +
> +     mask = BIT(ARMV8_PMU_CYCLE_IDX);
> +     if (n)
> +             mask |= GENMASK(n - 1, 0);
> +
> +     __vcpu_sys_reg(vcpu, r->reg) &= mask;

Would this read more logically to structure it as:

        mask = BIT(ARMV8_PMU_CYCLE_IDX);

        n = read_sysreg(pmcr_el0) >> ARMV8_PMU_PMCR_N_SHIFT;
        n &= ARMV8_PMU_PMCR_N_MASK;
        if (n)
                mask |= GENMASK(n - 1, 0);

        reset_unknown(vcpu, r);
        __vcpu_sys_reg(vcpu, r->reg) &= mask;

?

Thanks.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to