On Fri, 19 Mar 2021 12:01:28 +0000, Andre Przywara wrote:
The "First Fault Register" (FFR) is an SVE register that mimics a predicate register, but clears bits when a load or store fails to handle an element of a vector. The supposed usage scenario is to initialise this register (using SETFFR), then *read* it later on to learn about elements that failed to load or store. Explicit writes to this register using the WRFFR instruction are only supposed to *restore* values previously read from the register (for context-switching only). As the manual describes, this register holds only certain values, it: "... contains a monotonic predicate value, in which starting from bit 0 there are zero or more 1 bits, followed only by 0 bits in any remaining bit positions." Any other value is UNPREDICTABLE and is not supposed to be "restored" into the register.
[...]
Applied to arm64 (for-next/fixes), thanks!
[1/1] kselftest/arm64: sve: Do not use non-canonical FFR register value https://git.kernel.org/arm64/c/7011d72588d1
Cheers,