aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/ds.c
diff options
context:
space:
mode:
authorMarkus Metzger <markus.t.metzger@intel.com>2008-11-25 02:49:06 -0500
committerIngo Molnar <mingo@elte.hu>2008-11-25 11:28:53 -0500
commitc4858ffc8f2dc850cb1f609c679b1ac1ad36ef0c (patch)
tree4d1ffc8f936d3456e7ec60c3ce744965355172c7 /arch/x86/kernel/ds.c
parente5e8ca633bbe972eff6f84e064a63c0c08ed6c3d (diff)
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 = {
816 .sizeof_ds = sizeof(long) * 12, 816 .sizeof_ds = sizeof(long) * 12,
817 .sizeof_field = sizeof(long), 817 .sizeof_field = sizeof(long),
818 .sizeof_rec[ds_bts] = sizeof(long) * 3, 818 .sizeof_rec[ds_bts] = sizeof(long) * 3,
819#ifdef __i386__
819 .sizeof_rec[ds_pebs] = sizeof(long) * 10 820 .sizeof_rec[ds_pebs] = sizeof(long) * 10
821#else
822 .sizeof_rec[ds_pebs] = sizeof(long) * 18
823#endif
820}; 824};
821static const struct ds_configuration ds_cfg_64 = { 825static const struct ds_configuration ds_cfg_64 = {
822 .sizeof_ds = 8 * 12, 826 .sizeof_ds = 8 * 12,
823 .sizeof_field = 8, 827 .sizeof_field = 8,
824 .sizeof_rec[ds_bts] = 8 * 3, 828 .sizeof_rec[ds_bts] = 8 * 3,
829#ifdef __i386__
825 .sizeof_rec[ds_pebs] = 8 * 10 830 .sizeof_rec[ds_pebs] = 8 * 10
831#else
832 .sizeof_rec[ds_pebs] = 8 * 18
833#endif
826}; 834};
827 835
828static inline void 836static inline void