Lines Matching +full:a +full:- +full:za +full:- +full:z

1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * You should have received a copy of the GNU General Public License
25 * Signal context structure - contains all info to do with the state
53 * New records that can exceed this space need to be opt-in for userspace, so
63 * and be 16-byte aligned. The last structure must be a dummy one with the
67 * be meaningful in ASCII to aid manual parsing, ZA doesn't follow this
85 * Note: similarly to all other integer fields, each V-register is stored in an
86 * endianness-dependent format, with the byte at offset i from the start of the
87 * in-memory representation of the register value containing
89 * bits [(7 + 8 * i) : (8 * i)] of the register on little-endian hosts; or
90 * bits [(127 - 8 * i) : (120 - 8 * i)] on big-endian hosts.
126 * 16-byte aligned address immediately after the terminating null
129 * as indicated by a sufficiently large value for the size field.
131 * 5) The extra space must itself be terminated with a null
138 __u64 datap; /* 16-byte aligned pointer to extra space cast to __u64 */
204 * See linux/Documentation/arch/arm64/sve.rst for a description of the VL/VQ
234 * The same convention applies when returning from a signal: a caller
236 * make the SVE registers live when they were previously non-live or
237 * vice-versa. This may require the caller to allocate fresh
242 * doing a sigreturn.
245 * streaming or non-streaming mode. In streaming mode the streaming mode
248 * a signal return, applications should take care to ensure that any difference
257 * guaranteed for a struct sve_context written by the kernel.
266 * - ---- -----------
269 * ZREGS __uint128_t[SVE_NUM_ZREGS][vq] all Z-registers
270 * ZREG __uint128_t[vq] individual Z-register Zn
272 * PREGS uint16_t[SVE_NUM_PREGS][vq] all P-registers
273 * PREG uint16_t[vq] individual P-register Pn
275 * FFR uint16_t[vq] first-fault status register
279 * Unlike vregs[] in fpsimd_context, each SVE scalable register (Z-, P- or FFR)
280 * is encoded in memory in an endianness-invariant format, with the byte at
281 * offset i from the start of the in-memory representation containing bits
290 ((sizeof(struct sve_context) + (__SVE_VQ_BYTES - 1)) \
315 * If the ZA register is enabled for the thread at signal delivery then,
320 * then ZA was not enabled and no register data was included in which case
321 * ZA register was not enabled for the thread and no register data
324 * The same convention applies when returning from a signal: a caller
326 * enable the ZA register when it was previously non-live or vice-versa.
332 * doing a sigreturn.
336 ((sizeof(struct za_context) + (__SVE_VQ_BYTES - 1)) \