diff options
Diffstat (limited to 'arch/x86/kernel/ds.c')
| -rw-r--r-- | arch/x86/kernel/ds.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/arch/x86/kernel/ds.c b/arch/x86/kernel/ds.c index da91701a2348..169a120587be 100644 --- a/arch/x86/kernel/ds.c +++ b/arch/x86/kernel/ds.c | |||
| @@ -15,8 +15,8 @@ | |||
| 15 | * - buffer allocation (memory accounting) | 15 | * - buffer allocation (memory accounting) |
| 16 | * | 16 | * |
| 17 | * | 17 | * |
| 18 | * Copyright (C) 2007-2008 Intel Corporation. | 18 | * Copyright (C) 2007-2009 Intel Corporation. |
| 19 | * Markus Metzger <markus.t.metzger@intel.com>, 2007-2008 | 19 | * Markus Metzger <markus.t.metzger@intel.com>, 2007-2009 |
| 20 | */ | 20 | */ |
| 21 | 21 | ||
| 22 | 22 | ||
| @@ -890,7 +890,7 @@ int ds_set_pebs_reset(struct pebs_tracer *tracer, u64 value) | |||
| 890 | } | 890 | } |
| 891 | 891 | ||
| 892 | static const struct ds_configuration ds_cfg_netburst = { | 892 | static const struct ds_configuration ds_cfg_netburst = { |
| 893 | .name = "netburst", | 893 | .name = "Netburst", |
| 894 | .ctl[dsf_bts] = (1 << 2) | (1 << 3), | 894 | .ctl[dsf_bts] = (1 << 2) | (1 << 3), |
| 895 | .ctl[dsf_bts_kernel] = (1 << 5), | 895 | .ctl[dsf_bts_kernel] = (1 << 5), |
| 896 | .ctl[dsf_bts_user] = (1 << 6), | 896 | .ctl[dsf_bts_user] = (1 << 6), |
| @@ -904,7 +904,7 @@ static const struct ds_configuration ds_cfg_netburst = { | |||
| 904 | #endif | 904 | #endif |
| 905 | }; | 905 | }; |
| 906 | static const struct ds_configuration ds_cfg_pentium_m = { | 906 | static const struct ds_configuration ds_cfg_pentium_m = { |
| 907 | .name = "pentium m", | 907 | .name = "Pentium M", |
| 908 | .ctl[dsf_bts] = (1 << 6) | (1 << 7), | 908 | .ctl[dsf_bts] = (1 << 6) | (1 << 7), |
| 909 | 909 | ||
| 910 | .sizeof_field = sizeof(long), | 910 | .sizeof_field = sizeof(long), |
| @@ -915,8 +915,8 @@ static const struct ds_configuration ds_cfg_pentium_m = { | |||
| 915 | .sizeof_rec[ds_pebs] = sizeof(long) * 18, | 915 | .sizeof_rec[ds_pebs] = sizeof(long) * 18, |
| 916 | #endif | 916 | #endif |
| 917 | }; | 917 | }; |
| 918 | static const struct ds_configuration ds_cfg_core2 = { | 918 | static const struct ds_configuration ds_cfg_core2_atom = { |
| 919 | .name = "core 2", | 919 | .name = "Core 2/Atom", |
| 920 | .ctl[dsf_bts] = (1 << 6) | (1 << 7), | 920 | .ctl[dsf_bts] = (1 << 6) | (1 << 7), |
| 921 | .ctl[dsf_bts_kernel] = (1 << 9), | 921 | .ctl[dsf_bts_kernel] = (1 << 9), |
| 922 | .ctl[dsf_bts_user] = (1 << 10), | 922 | .ctl[dsf_bts_user] = (1 << 10), |
| @@ -949,19 +949,22 @@ void __cpuinit ds_init_intel(struct cpuinfo_x86 *c) | |||
| 949 | switch (c->x86) { | 949 | switch (c->x86) { |
| 950 | case 0x6: | 950 | case 0x6: |
| 951 | switch (c->x86_model) { | 951 | switch (c->x86_model) { |
| 952 | case 0 ... 0xC: | 952 | case 0x9: |
| 953 | /* sorry, don't know about them */ | 953 | case 0xd: /* Pentium M */ |
| 954 | break; | ||
| 955 | case 0xD: | ||
| 956 | case 0xE: /* Pentium M */ | ||
| 957 | ds_configure(&ds_cfg_pentium_m); | 954 | ds_configure(&ds_cfg_pentium_m); |
| 958 | break; | 955 | break; |
| 959 | default: /* Core2, Atom, ... */ | 956 | case 0xf: |
| 960 | ds_configure(&ds_cfg_core2); | 957 | case 0x17: /* Core2 */ |
| 958 | case 0x1c: /* Atom */ | ||
| 959 | ds_configure(&ds_cfg_core2_atom); | ||
| 960 | break; | ||
| 961 | case 0x1a: /* i7 */ | ||
| 962 | default: | ||
| 963 | /* sorry, don't know about them */ | ||
| 961 | break; | 964 | break; |
| 962 | } | 965 | } |
| 963 | break; | 966 | break; |
| 964 | case 0xF: | 967 | case 0xf: |
| 965 | switch (c->x86_model) { | 968 | switch (c->x86_model) { |
| 966 | case 0x0: | 969 | case 0x0: |
| 967 | case 0x1: | 970 | case 0x1: |
