summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/ds.c
diff options
context:
space:
mode:
authorMarkus Metzger2008-11-25 08:49:06 +0100
committerIngo Molnar2008-11-25 17:28:53 +0100
commitc4858ffc8f2dc850cb1f609c679b1ac1ad36ef0c (patch)
tree4d1ffc8f936d3456e7ec60c3ce744965355172c7 /arch/x86/kernel/ds.c
parentx86, bts: turn macro into static inline function (diff)
downloadkernel-qcow2-linux-c4858ffc8f2dc850cb1f609c679b1ac1ad36ef0c.tar.gz
kernel-qcow2-linux-c4858ffc8f2dc850cb1f609c679b1ac1ad36ef0c.tar.xz
kernel-qcow2-linux-c4858ffc8f2dc850cb1f609c679b1ac1ad36ef0c.zip
x86, pebs: fix PEBS record size configuration
Impact: fix DS hw enablement on 64-bit x86 Fix the PEBS record size in the DS configuration. Reported-by: Stephane Eranian <eranian@googlemail.com> Signed-off-by: Markus Metzger <markus.t.metzger@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/ds.c')
-rw-r--r--arch/x86/kernel/ds.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/ds.c b/arch/x86/kernel/ds.c
index 4c8d57ec9663..04e38ef646af 100644
--- a/arch/x86/kernel/ds.c
+++ b/arch/x86/kernel/ds.c
@@ -816,13 +816,21 @@ static const struct ds_configuration ds_cfg_var = {
.sizeof_ds = sizeof(long) * 12,
.sizeof_field = sizeof(long),
.sizeof_rec[ds_bts] = sizeof(long) * 3,
+#ifdef __i386__
.sizeof_rec[ds_pebs] = sizeof(long) * 10
+#else
+ .sizeof_rec[ds_pebs] = sizeof(long) * 18
+#endif
};
static const struct ds_configuration ds_cfg_64 = {
.sizeof_ds = 8 * 12,
.sizeof_field = 8,
.sizeof_rec[ds_bts] = 8 * 3,
+#ifdef __i386__
.sizeof_rec[ds_pebs] = 8 * 10
+#else
+ .sizeof_rec[ds_pebs] = 8 * 18
+#endif
};
static inline void