Linux Audio

Check our new training course

Loading...
v4.17
 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
v6.2
 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