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

elfcore-compat.h (1464B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _LINUX_ELFCORE_COMPAT_H
      3#define _LINUX_ELFCORE_COMPAT_H
      4
      5#include <linux/elf.h>
      6#include <linux/elfcore.h>
      7#include <linux/compat.h>
      8
      9/*
     10 * Make sure these layouts match the linux/elfcore.h native definitions.
     11 */
     12
     13struct compat_elf_siginfo
     14{
     15	compat_int_t			si_signo;
     16	compat_int_t			si_code;
     17	compat_int_t			si_errno;
     18};
     19
     20struct compat_elf_prstatus_common
     21{
     22	struct compat_elf_siginfo	pr_info;
     23	short				pr_cursig;
     24	compat_ulong_t			pr_sigpend;
     25	compat_ulong_t			pr_sighold;
     26	compat_pid_t			pr_pid;
     27	compat_pid_t			pr_ppid;
     28	compat_pid_t			pr_pgrp;
     29	compat_pid_t			pr_sid;
     30	struct old_timeval32		pr_utime;
     31	struct old_timeval32		pr_stime;
     32	struct old_timeval32		pr_cutime;
     33	struct old_timeval32		pr_cstime;
     34};
     35
     36struct compat_elf_prpsinfo
     37{
     38	char				pr_state;
     39	char				pr_sname;
     40	char				pr_zomb;
     41	char				pr_nice;
     42	compat_ulong_t			pr_flag;
     43	__compat_uid_t			pr_uid;
     44	__compat_gid_t			pr_gid;
     45	compat_pid_t			pr_pid, pr_ppid, pr_pgrp, pr_sid;
     46	/*
     47	 * The hard-coded 16 is derived from TASK_COMM_LEN, but it can't be
     48	 * changed as it is exposed to userspace. We'd better make it hard-coded
     49	 * here.
     50	 */
     51	char				pr_fname[16];
     52	char				pr_psargs[ELF_PRARGSZ];
     53};
     54
     55#ifdef CONFIG_ARCH_HAS_ELFCORE_COMPAT
     56#include <asm/elfcore-compat.h>
     57#endif
     58
     59struct compat_elf_prstatus
     60{
     61	struct compat_elf_prstatus_common	common;
     62	compat_elf_gregset_t		pr_reg;
     63	compat_int_t			pr_fpvalid;
     64};
     65
     66#endif /* _LINUX_ELFCORE_COMPAT_H */