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 (890B)


      1#ifndef _ASM_X86_ELFCORE_COMPAT_H
      2#define _ASM_X86_ELFCORE_COMPAT_H
      3
      4#include <asm/user32.h>
      5
      6/*
      7 * On amd64 we have two 32bit ABIs - i386 and x32.  The latter
      8 * has bigger registers, so we use it for compat_elf_regset_t.
      9 * The former uses i386_elf_prstatus and PRSTATUS_SIZE/SET_PR_FPVALID
     10 * are used to choose the size and location of ->pr_fpvalid of
     11 * the layout actually used.
     12 */
     13typedef struct user_regs_struct compat_elf_gregset_t;
     14
     15struct i386_elf_prstatus
     16{
     17	struct compat_elf_prstatus_common	common;
     18	struct user_regs_struct32		pr_reg;
     19	compat_int_t			pr_fpvalid;
     20};
     21
     22#define PRSTATUS_SIZE \
     23	(user_64bit_mode(task_pt_regs(current)) \
     24		? sizeof(struct compat_elf_prstatus) \
     25		: sizeof(struct i386_elf_prstatus))
     26#define SET_PR_FPVALID(S) \
     27	(*(user_64bit_mode(task_pt_regs(current)) \
     28		? &(S)->pr_fpvalid 	\
     29		: &((struct i386_elf_prstatus *)(S))->pr_fpvalid) = 1)
     30
     31#endif