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

faultinfo_64.h (983B)


      1/*
      2 * Copyright (C) 2004 Fujitsu Siemens Computers GmbH
      3 * Author: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
      4 * Licensed under the GPL
      5 */
      6
      7#ifndef __FAULTINFO_X86_64_H
      8#define __FAULTINFO_X86_64_H
      9
     10/* this structure contains the full arch-specific faultinfo
     11 * from the traps.
     12 * On i386, ptrace_faultinfo unfortunately doesn't provide
     13 * all the info, since trap_no is missing.
     14 * All common elements are defined at the same position in
     15 * both structures, thus making it easy to copy the
     16 * contents without knowledge about the structure elements.
     17 */
     18struct faultinfo {
     19        int error_code; /* in ptrace_faultinfo misleadingly called is_write */
     20        unsigned long cr2; /* in ptrace_faultinfo called addr */
     21        int trap_no; /* missing in ptrace_faultinfo */
     22};
     23
     24#define FAULT_WRITE(fi) ((fi).error_code & 2)
     25#define FAULT_ADDRESS(fi) ((fi).cr2)
     26
     27/* This is Page Fault */
     28#define SEGV_IS_FIXABLE(fi)	((fi)->trap_no == 14)
     29
     30#define PTRACE_FULL_FAULTINFO 1
     31
     32#endif