aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMarkus Metzger <markus.t.metzger@intel.com>2008-01-30 07:32:03 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:32:03 -0500
commite6ae5d9540727b0e2e5e2fbeb683c84671ed0a31 (patch)
tree921ac1e9d98478b4d3b23171e965b868df7e36a9 /include
parentda35c37198132abebf877cca2ad3c6d9bcd84282 (diff)
x86, ptrace: support 32bit-cross-64bit BTS recording
Support BTS recording of 32bit and 64bit tasks from 32bit or 64bit tasks. Signed-off-by: Markus Metzger <markus.t.metzger@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/ds.h10
-rw-r--r--include/asm-x86/ptrace-abi.h4
2 files changed, 7 insertions, 7 deletions
diff --git a/include/asm-x86/ds.h b/include/asm-x86/ds.h
index b84040abee68..7881368142fa 100644
--- a/include/asm-x86/ds.h
+++ b/include/asm-x86/ds.h
@@ -39,16 +39,16 @@ enum bts_qualifier {
39}; 39};
40 40
41struct bts_struct { 41struct bts_struct {
42 enum bts_qualifier qualifier; 42 u64 qualifier;
43 union { 43 union {
44 /* BTS_BRANCH */ 44 /* BTS_BRANCH */
45 struct { 45 struct {
46 long from_ip; 46 u64 from_ip;
47 long to_ip; 47 u64 to_ip;
48 } lbr; 48 } lbr;
49 /* BTS_TASK_ARRIVES or 49 /* BTS_TASK_ARRIVES or
50 BTS_TASK_DEPARTS */ 50 BTS_TASK_DEPARTS */
51 unsigned long jiffies; 51 u64 jiffies;
52 } variant; 52 } variant;
53}; 53};
54 54
@@ -64,7 +64,7 @@ extern int ds_get_bts_index(void *);
64extern int ds_set_overflow(void *, int); 64extern int ds_set_overflow(void *, int);
65extern int ds_get_overflow(void *); 65extern int ds_get_overflow(void *);
66extern int ds_clear(void *); 66extern int ds_clear(void *);
67extern int ds_read_bts(void *, size_t, struct bts_struct *); 67extern int ds_read_bts(void *, int, struct bts_struct *);
68extern int ds_write_bts(void *, const struct bts_struct *); 68extern int ds_write_bts(void *, const struct bts_struct *);
69extern unsigned long ds_debugctl_mask(void); 69extern unsigned long ds_debugctl_mask(void);
70extern void __cpuinit ds_init_intel(struct cpuinfo_x86 *c); 70extern void __cpuinit ds_init_intel(struct cpuinfo_x86 *c);
diff --git a/include/asm-x86/ptrace-abi.h b/include/asm-x86/ptrace-abi.h
index cf2fe4633ee5..32fe137822bf 100644
--- a/include/asm-x86/ptrace-abi.h
+++ b/include/asm-x86/ptrace-abi.h
@@ -85,9 +85,9 @@
85*/ 85*/
86struct ptrace_bts_config { 86struct ptrace_bts_config {
87 /* requested or actual size of BTS buffer in bytes */ 87 /* requested or actual size of BTS buffer in bytes */
88 unsigned long size; 88 unsigned int size;
89 /* bitmask of below flags */ 89 /* bitmask of below flags */
90 unsigned long flags; 90 unsigned int flags;
91}; 91};
92 92
93#define PTRACE_BTS_O_TRACE 0x1 /* branch trace */ 93#define PTRACE_BTS_O_TRACE 0x1 /* branch trace */