On 6/27/19 5:16 PM, Dave Martin wrote: > The architecture says: > > "For all purposes other than returning the result of a direct read of > ZCR_EL1 then this field behaves as if it is set to the minimum of the > stored value and the constrained length inherited from more privileged > Exception levels in the current Security state, rounded down to the > nearest implemented vector length." > > I think the behaviour of a direct read is implied: the LEN bits yielded > by an MRS should contain exactly what was last written to them via MSR.
I agree. Moreover, the value written to ZCR_ELx.LEN should not be directly adjusted because the effective value also depends on ZCR_EL(x+1).LEN, and if the higher-level EL register changes, the lower-level EL must see the effect. The function that should be modified instead is sve_zcr_len_for_el(). r~