1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright IBM Corp. 1999, 2024
6 #ifndef __ASM_S390_ACCESS_REGS_H
7 #define __ASM_S390_ACCESS_REGS_H
9 #include <linux/instrumented.h>
10 #include <asm/sigcontext.h>
13 unsigned int regs[NUM_ACRS];
16 static inline void save_access_regs(unsigned int *acrs)
18 struct access_regs *regs = (struct access_regs *)acrs;
20 instrument_write(regs, sizeof(*regs));
21 asm volatile("stamy 0,15,%[regs]"
22 : [regs] "=QS" (*regs)
27 static inline void restore_access_regs(unsigned int *acrs)
29 struct access_regs *regs = (struct access_regs *)acrs;
31 instrument_read(regs, sizeof(*regs));
32 asm volatile("lamy 0,15,%[regs]"
38 #endif /* __ASM_S390_ACCESS_REGS_H */