summaryrefslogtreecommitdiffstats
path: root/arch/mips/include/asm/sigcontext.h
diff options
context:
space:
mode:
authorPaul Burton <paul.burton@imgtec.com>2014-02-13 12:27:42 +0100
committerRalf Baechle <ralf@linux-mips.org>2014-03-26 23:09:11 +0100
commiteec43a224cf198c7e3538fca16f689e4d17d4471 (patch)
tree24d9236c0cd33dcf7862c09799910e8bbf5abde9 /arch/mips/include/asm/sigcontext.h
parentMIPS: Warn if vector register partitioning is implemented (diff)
downloadlinux-eec43a224cf198c7e3538fca16f689e4d17d4471.tar.xz
linux-eec43a224cf198c7e3538fca16f689e4d17d4471.zip
MIPS: Save/restore MSA context around signals
This patch extends sigcontext in order to hold the most significant 64 bits of each vector register in addition to the MSA control & status register. The least significant 64 bits are already saved as the scalar FP context. This makes things a little awkward since the least & most significant 64 bits of each vector register are not contiguous in memory. Thus the copy_u & insert instructions are used to transfer the values of the most significant 64 bits via GP registers. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6533/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/include/asm/sigcontext.h')
-rw-r--r--arch/mips/include/asm/sigcontext.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/mips/include/asm/sigcontext.h b/arch/mips/include/asm/sigcontext.h
index eeeb0f48c767..f54bdbe85c0d 100644
--- a/arch/mips/include/asm/sigcontext.h
+++ b/arch/mips/include/asm/sigcontext.h
@@ -32,6 +32,8 @@ struct sigcontext32 {
__u32 sc_lo2;
__u32 sc_hi3;
__u32 sc_lo3;
+ __u64 sc_msaregs[32]; /* Most significant 64 bits */
+ __u32 sc_msa_csr;
};
#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */
#endif /* _ASM_SIGCONTEXT_H */