root/arch/x86/um/shared/sysdep/faultinfo_32.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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_I386_H
   8 #define __FAULTINFO_I386_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  */
  18 struct 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 0
  31 
  32 #endif

/* [<][>][^][v][top][bottom][index][help] */