arm64/sme: Implement ptrace support for streaming mode SVE registers
The streaming mode SVE registers are represented using the same data structures as for SVE but since the vector lengths supported and in use may not be the same as SVE we represent them with a new type NT_ARM_SSVE. Unfortunately we only have a single 16 bit reserved field available in the header so there is no space to fit the current and maximum vector length for both standard and streaming SVE mode without redefining the structure in a way the creates a complicatd and fragile ABI. Since FFR is not present in streaming mode it is read and written as zero. Setting NT_ARM_SSVE registers will put the task into streaming mode, similarly setting NT_ARM_SVE registers will exit it. Reads that do not correspond to the current mode of the task will return the header with no register data. For compatibility reasons on write setting no flag for the register type will be interpreted as setting SVE registers, though users can provide no register data as an alternative mechanism for doing so. Signed-off-by:Mark Brown <broonie@kernel.org> Reviewed-by:
Catalin Marinas <catalin.marinas@arm.com> Link: https://lore.kernel.org/r/20220419112247.711548-21-broonie@kernel.org Signed-off-by:
Catalin Marinas <catalin.marinas@arm.com>
Loading
-
mentioned in commit 654c1dd3
-
mentioned in commit bae35346
-
mentioned in commit 61f96da3
-
mentioned in commit 99255a2b
-
mentioned in commit 06930122
-
mentioned in commit 789c015d
-
mentioned in commit cfb2b39d
-
mentioned in commit 64b7ae70
-
mentioned in commit e01af8e2
-
mentioned in commit 21614ba6
Please register or sign in to comment