[PATCH v7 0/3] aarch64: clear SME ZA state for clone{,3} syscalls
Yury Khrustalev
yury.khrustalev@arm.com
Fri Oct 10 09:23:12 GMT 2025
Passes tests on AArch64, SME part was tested on Arm Fixed Virtual Platform
model using the process outlined in [1].
OK for trunk?
[1]: https://inbox.sourceware.org/libc-help/aIc3ElNTSQrelCK9@arm.com/
---
Base-commit: 33eff78c8b
Changes in v7:
- Several fixes and improvements to the tests as per review comments.
- Use assembler macro instead of CPP macro for CALL_LIBC_ARM_ZA_DISABLE.
- Rebased on master.
- v6: https://patchwork.sourceware.org/project/glibc/list/?series=52683
Changes in v6:
- Rebased on master.
- v5: https://patchwork.sourceware.org/project/glibc/list/?series=52485
Changes in v5:
- Rebased on master.
- Added tests for fork and vfork.
- Added assembly macro for calling __libc_arm_za_disable().
- Added call to __libc_arm_za_disable() in vfork.
- Added INLINE_CLONE_SYSCALL() fpr AArch64 to call __libc_arm_za_disable()
during inline clone() call.
- v4: https://patchwork.sourceware.org/project/glibc/list/?series=51413
Changes in v4:
- Rebased on master.
- Updated commit message to explain the background behind this change.
- Added a test for SME state in signal handlers.
- v3: https://patchwork.sourceware.org/project/glibc/list/?series=48789
Changes in v3:
- Rebased on master.
- Added documentation,
- v2: https://patchwork.sourceware.org/project/glibc/list/?series=48383
Changes in v2:
- Rebased on recent master.
- v1: https://patchwork.sourceware.org/project/glibc/list/?series=47709
---
Yury Khrustalev (3):
aarch64: define macro for calling __libc_arm_za_disable
aarch64: clear ZA state of SME before clone and clone3 syscalls
aarch64: tests for SME
sysdeps/aarch64/Makefile | 10 ++
sysdeps/aarch64/__longjmp.S | 12 +-
sysdeps/aarch64/setjmp.S | 12 +-
sysdeps/aarch64/tst-sme-clone.c | 53 +++++++++
sysdeps/aarch64/tst-sme-clone3.c | 84 ++++++++++++++
sysdeps/aarch64/tst-sme-fork.c | 43 +++++++
sysdeps/aarch64/tst-sme-helper.h | 7 +-
sysdeps/aarch64/tst-sme-jmp.c | 7 +-
sysdeps/aarch64/tst-sme-signal.c | 115 +++++++++++++++++++
sysdeps/aarch64/tst-sme-skeleton.c | 101 ++++++++++++++++
sysdeps/aarch64/tst-sme-vfork.c | 43 +++++++
sysdeps/aarch64/tst-sme-za-state.c | 71 +-----------
sysdeps/unix/sysv/linux/aarch64/clone.S | 3 +
sysdeps/unix/sysv/linux/aarch64/clone3.S | 3 +
sysdeps/unix/sysv/linux/aarch64/setcontext.S | 10 +-
sysdeps/unix/sysv/linux/aarch64/sysdep.h | 37 ++++++
sysdeps/unix/sysv/linux/aarch64/vfork.S | 3 +
17 files changed, 509 insertions(+), 105 deletions(-)
create mode 100644 sysdeps/aarch64/tst-sme-clone.c
create mode 100644 sysdeps/aarch64/tst-sme-clone3.c
create mode 100644 sysdeps/aarch64/tst-sme-fork.c
create mode 100644 sysdeps/aarch64/tst-sme-signal.c
create mode 100644 sysdeps/aarch64/tst-sme-skeleton.c
create mode 100644 sysdeps/aarch64/tst-sme-vfork.c
--
2.47.3
More information about the Libc-alpha
mailing list