mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 03:13:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			912 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			912 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _ASM_POWERPC_UCONTEXT_H
 | |
| #define _ASM_POWERPC_UCONTEXT_H
 | |
| 
 | |
| #ifdef __powerpc64__
 | |
| #include <asm/sigcontext.h>
 | |
| #else
 | |
| #include <asm/elf.h>
 | |
| #endif
 | |
| #include <asm/signal.h>
 | |
| 
 | |
| #ifndef __powerpc64__
 | |
| struct mcontext {
 | |
| 	elf_gregset_t	mc_gregs;
 | |
| 	elf_fpregset_t	mc_fregs;
 | |
| 	unsigned long	mc_pad[2];
 | |
| 	elf_vrregset_t	mc_vregs __attribute__((__aligned__(16)));
 | |
| };
 | |
| #endif
 | |
| 
 | |
| struct ucontext {
 | |
| 	unsigned long	uc_flags;
 | |
| 	struct ucontext __user *uc_link;
 | |
| 	stack_t		uc_stack;
 | |
| #ifndef __powerpc64__
 | |
| 	int		uc_pad[7];
 | |
| 	struct mcontext	__user *uc_regs;/* points to uc_mcontext field */
 | |
| #endif
 | |
| 	sigset_t	uc_sigmask;
 | |
| 	/* glibc has 1024-bit signal masks, ours are 64-bit */
 | |
| #ifdef __powerpc64__
 | |
| 	sigset_t	__unused[15];	/* Allow for uc_sigmask growth */
 | |
| 	struct sigcontext uc_mcontext;	/* last for extensibility */
 | |
| #else
 | |
| 	int		uc_maskext[30];
 | |
| 	int		uc_pad2[3];
 | |
| 	struct mcontext	uc_mcontext;
 | |
| #endif
 | |
| };
 | |
| 
 | |
| #endif /* _ASM_POWERPC_UCONTEXT_H */
 | 
