summaryrefslogtreecommitdiffstats
path: root/include/asm-x86/ds.h
diff options
context:
space:
mode:
authorMarkus Metzger2008-01-30 13:32:03 +0100
committerIngo Molnar2008-01-30 13:32:03 +0100
commite6ae5d9540727b0e2e5e2fbeb683c84671ed0a31 (patch)
tree921ac1e9d98478b4d3b23171e965b868df7e36a9 /include/asm-x86/ds.h
parentx86, ptrace: rlimit BTS buffer allocation (diff)
downloadkernel-qcow2-linux-e6ae5d9540727b0e2e5e2fbeb683c84671ed0a31.tar.gz
kernel-qcow2-linux-e6ae5d9540727b0e2e5e2fbeb683c84671ed0a31.tar.xz
kernel-qcow2-linux-e6ae5d9540727b0e2e5e2fbeb683c84671ed0a31.zip
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/asm-x86/ds.h')
-rw-r--r--include/asm-x86/ds.h10
1 files changed, 5 insertions, 5 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 {
};
struct bts_struct {
- enum bts_qualifier qualifier;
+ u64 qualifier;
union {
/* BTS_BRANCH */
struct {
- long from_ip;
- long to_ip;
+ u64 from_ip;
+ u64 to_ip;
} lbr;
/* BTS_TASK_ARRIVES or
BTS_TASK_DEPARTS */
- unsigned long jiffies;
+ u64 jiffies;
} variant;
};
@@ -64,7 +64,7 @@ extern int ds_get_bts_index(void *);
extern int ds_set_overflow(void *, int);
extern int ds_get_overflow(void *);
extern int ds_clear(void *);
-extern int ds_read_bts(void *, size_t, struct bts_struct *);
+extern int ds_read_bts(void *, int, struct bts_struct *);
extern int ds_write_bts(void *, const struct bts_struct *);
extern unsigned long ds_debugctl_mask(void);
extern void __cpuinit ds_init_intel(struct cpuinfo_x86 *c);