cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

signal32.h (1980B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copyright (C) 2012 ARM Ltd.
      4 */
      5#ifndef __ASM_SIGNAL32_H
      6#define __ASM_SIGNAL32_H
      7
      8#ifdef CONFIG_COMPAT
      9#include <linux/compat.h>
     10
     11struct compat_sigcontext {
     12	/* We always set these two fields to 0 */
     13	compat_ulong_t			trap_no;
     14	compat_ulong_t			error_code;
     15
     16	compat_ulong_t			oldmask;
     17	compat_ulong_t			arm_r0;
     18	compat_ulong_t			arm_r1;
     19	compat_ulong_t			arm_r2;
     20	compat_ulong_t			arm_r3;
     21	compat_ulong_t			arm_r4;
     22	compat_ulong_t			arm_r5;
     23	compat_ulong_t			arm_r6;
     24	compat_ulong_t			arm_r7;
     25	compat_ulong_t			arm_r8;
     26	compat_ulong_t			arm_r9;
     27	compat_ulong_t			arm_r10;
     28	compat_ulong_t			arm_fp;
     29	compat_ulong_t			arm_ip;
     30	compat_ulong_t			arm_sp;
     31	compat_ulong_t			arm_lr;
     32	compat_ulong_t			arm_pc;
     33	compat_ulong_t			arm_cpsr;
     34	compat_ulong_t			fault_address;
     35};
     36
     37struct compat_ucontext {
     38	compat_ulong_t			uc_flags;
     39	compat_uptr_t			uc_link;
     40	compat_stack_t			uc_stack;
     41	struct compat_sigcontext	uc_mcontext;
     42	compat_sigset_t			uc_sigmask;
     43	int 				__unused[32 - (sizeof(compat_sigset_t) / sizeof(int))];
     44	compat_ulong_t			uc_regspace[128] __attribute__((__aligned__(8)));
     45};
     46
     47struct compat_sigframe {
     48	struct compat_ucontext	uc;
     49	compat_ulong_t		retcode[2];
     50};
     51
     52struct compat_rt_sigframe {
     53	struct compat_siginfo info;
     54	struct compat_sigframe sig;
     55};
     56
     57int compat_setup_frame(int usig, struct ksignal *ksig, sigset_t *set,
     58		       struct pt_regs *regs);
     59int compat_setup_rt_frame(int usig, struct ksignal *ksig, sigset_t *set,
     60			  struct pt_regs *regs);
     61
     62void compat_setup_restart_syscall(struct pt_regs *regs);
     63#else
     64
     65static inline int compat_setup_frame(int usid, struct ksignal *ksig,
     66				     sigset_t *set, struct pt_regs *regs)
     67{
     68	return -ENOSYS;
     69}
     70
     71static inline int compat_setup_rt_frame(int usig, struct ksignal *ksig, sigset_t *set,
     72					struct pt_regs *regs)
     73{
     74	return -ENOSYS;
     75}
     76
     77static inline void compat_setup_restart_syscall(struct pt_regs *regs)
     78{
     79}
     80#endif /* CONFIG_COMPAT */
     81#endif /* __ASM_SIGNAL32_H */