Skip to content

Commit

Permalink
Add section about dynamic symbols to test for ZT0
Browse files Browse the repository at this point in the history
  • Loading branch information
sdesmalen-arm committed Sep 2, 2024
1 parent 447378a commit 82c84bd
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions aapcs64/aapcs64.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2486,6 +2486,28 @@ enabled by PSTATE.ZA.
``PTR->ZT0`` are copied to ZT0.


Dynamic symbols for supported state
-----------------------------------

A platform that supports SME may provide a set of dynamic symbols.

The availability of these dynamic symbols indicates whether SME state is
supported by the routines provided by the platform. These symbols
can be used during dynamic linking to verify that SME state used in the
program will be handled correctly by the runtime.

This is particularly relevant for calls to `agnostic-ZA`_ functions, which
can't make assumptions on PSTATE.ZA or what state is enabled by it. These
functions rely on the routines defined in `SME support routines`_ to preserve
all SME state that may be live in the caller. The level of support required
by the program must therefore match the level of support provided by the
runtime, which for dynamically linked executables can only be asserted
during dynamic linking.

* ``__arm_sme_routines_support_zt0`` is available when the SME support routines
support ZT0.


Pseudo-code examples
====================

Expand Down

0 comments on commit 82c84bd

Please sign in to comment.