···11+#ifndef _ASM_POWERPC_SIGCONTEXT_H22+#define _ASM_POWERPC_SIGCONTEXT_H33+44+/*55+ * This program is free software; you can redistribute it and/or66+ * modify it under the terms of the GNU General Public License77+ * as published by the Free Software Foundation; either version88+ * 2 of the License, or (at your option) any later version.99+ */1010+#include <linux/compiler.h>1111+#include <asm/ptrace.h>1212+#ifdef __powerpc64__1313+#include <asm/elf.h>1414+#endif1515+1616+struct sigcontext {1717+ unsigned long _unused[4];1818+ int signal;1919+#ifdef __powerpc64__2020+ int _pad0;2121+#endif2222+ unsigned long handler;2323+ unsigned long oldmask;2424+ struct pt_regs __user *regs;2525+#ifdef __powerpc64__2626+ elf_gregset_t gp_regs;2727+ elf_fpregset_t fp_regs;2828+/*2929+ * To maintain compatibility with current implementations the sigcontext is3030+ * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t)3131+ * followed by an unstructured (vmx_reserve) field of 69 doublewords. This3232+ * allows the array of vector registers to be quadword aligned independent of3333+ * the alignment of the containing sigcontext or ucontext. It is the3434+ * responsibility of the code setting the sigcontext to set this pointer to3535+ * either NULL (if this processor does not support the VMX feature) or the3636+ * address of the first quadword within the allocated (vmx_reserve) area.3737+ *3838+ * The pointer (v_regs) of vector type (elf_vrreg_t) is type compatible with3939+ * an array of 34 quadword entries (elf_vrregset_t). The entries with4040+ * indexes 0-31 contain the corresponding vector registers. The entry with4141+ * index 32 contains the vscr as the last word (offset 12) within the4242+ * quadword. This allows the vscr to be stored as either a quadword (since4343+ * it must be copied via a vector register to/from storage) or as a word.4444+ * The entry with index 33 contains the vrsave as the first word (offset 0)4545+ * within the quadword.4646+ */4747+ elf_vrreg_t __user *v_regs;4848+ long vmx_reserve[ELF_NVRREG+ELF_NVRREG+1];4949+#endif5050+};5151+5252+#endif /* _ASM_POWERPC_SIGCONTEXT_H */
-15
include/asm-ppc/sigcontext.h
···11-#ifndef _ASM_PPC_SIGCONTEXT_H22-#define _ASM_PPC_SIGCONTEXT_H33-44-#include <asm/ptrace.h>55-#include <linux/compiler.h>66-77-struct sigcontext {88- unsigned long _unused[4];99- int signal;1010- unsigned long handler;1111- unsigned long oldmask;1212- struct pt_regs __user *regs;1313-};1414-1515-#endif
-47
include/asm-ppc64/sigcontext.h
···11-#ifndef _ASM_PPC64_SIGCONTEXT_H22-#define _ASM_PPC64_SIGCONTEXT_H33-44-/*55- * This program is free software; you can redistribute it and/or66- * modify it under the terms of the GNU General Public License77- * as published by the Free Software Foundation; either version88- * 2 of the License, or (at your option) any later version.99- */1010-#include <linux/compiler.h>1111-#include <asm/ptrace.h>1212-#include <asm/elf.h>1313-1414-1515-struct sigcontext {1616- unsigned long _unused[4];1717- int signal;1818- int _pad0;1919- unsigned long handler;2020- unsigned long oldmask;2121- struct pt_regs __user *regs;2222- elf_gregset_t gp_regs;2323- elf_fpregset_t fp_regs;2424-/*2525- * To maintain compatibility with current implementations the sigcontext is 2626- * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t) 2727- * followed by an unstructured (vmx_reserve) field of 69 doublewords. This 2828- * allows the array of vector registers to be quadword aligned independent of 2929- * the alignment of the containing sigcontext or ucontext. It is the 3030- * responsibility of the code setting the sigcontext to set this pointer to 3131- * either NULL (if this processor does not support the VMX feature) or the 3232- * address of the first quadword within the allocated (vmx_reserve) area.3333- *3434- * The pointer (v_regs) of vector type (elf_vrreg_t) is type compatible with 3535- * an array of 34 quadword entries (elf_vrregset_t). The entries with 3636- * indexes 0-31 contain the corresponding vector registers. The entry with 3737- * index 32 contains the vscr as the last word (offset 12) within the 3838- * quadword. This allows the vscr to be stored as either a quadword (since 3939- * it must be copied via a vector register to/from storage) or as a word. 4040- * The entry with index 33 contains the vrsave as the first word (offset 0) 4141- * within the quadword.4242- */4343- elf_vrreg_t __user *v_regs;4444- long vmx_reserve[ELF_NVRREG+ELF_NVRREG+1];4545-};4646-4747-#endif /* _ASM_PPC64_SIGCONTEXT_H */