diff options
Diffstat (limited to 'arch/x86_64/kernel/setup.c')
-rw-r--r-- | arch/x86_64/kernel/setup.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index eb6524f3ac29..33ef718f8cb5 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c | |||
@@ -846,6 +846,8 @@ void __cpuinit identify_cpu(struct cpuinfo_x86 *c) | |||
846 | c->x86_capability[2] = cpuid_edx(0x80860001); | 846 | c->x86_capability[2] = cpuid_edx(0x80860001); |
847 | } | 847 | } |
848 | 848 | ||
849 | init_scattered_cpuid_features(c); | ||
850 | |||
849 | c->apicid = phys_pkg_id(0); | 851 | c->apicid = phys_pkg_id(0); |
850 | 852 | ||
851 | /* | 853 | /* |
@@ -931,7 +933,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
931 | "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", | 933 | "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", |
932 | "cx8", "apic", NULL, "sep", "mtrr", "pge", "mca", "cmov", | 934 | "cx8", "apic", NULL, "sep", "mtrr", "pge", "mca", "cmov", |
933 | "pat", "pse36", "pn", "clflush", NULL, "dts", "acpi", "mmx", | 935 | "pat", "pse36", "pn", "clflush", NULL, "dts", "acpi", "mmx", |
934 | "fxsr", "sse", "sse2", "ss", "ht", "tm", "ia64", NULL, | 936 | "fxsr", "sse", "sse2", "ss", "ht", "tm", "ia64", "pbe", |
935 | 937 | ||
936 | /* AMD-defined */ | 938 | /* AMD-defined */ |
937 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 939 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
@@ -947,10 +949,11 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
947 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 949 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
948 | 950 | ||
949 | /* Other (Linux-defined) */ | 951 | /* Other (Linux-defined) */ |
950 | "cxmmx", NULL, "cyrix_arr", "centaur_mcr", NULL, | 952 | "cxmmx", "k6_mtrr", "cyrix_arr", "centaur_mcr", |
951 | "constant_tsc", NULL, NULL, | 953 | NULL, NULL, NULL, NULL, |
952 | "up", NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 954 | "constant_tsc", "up", NULL, "arch_perfmon", |
953 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 955 | "pebs", "bts", NULL, "sync_rdtsc", |
956 | "rep_good", NULL, NULL, NULL, NULL, NULL, NULL, NULL, | ||
954 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 957 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
955 | 958 | ||
956 | /* Intel-defined (#2) */ | 959 | /* Intel-defined (#2) */ |
@@ -961,7 +964,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
961 | 964 | ||
962 | /* VIA/Cyrix/Centaur-defined */ | 965 | /* VIA/Cyrix/Centaur-defined */ |
963 | NULL, NULL, "rng", "rng_en", NULL, NULL, "ace", "ace_en", | 966 | NULL, NULL, "rng", "rng_en", NULL, NULL, "ace", "ace_en", |
964 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 967 | "ace2", "ace2_en", "phe", "phe_en", "pmm", "pmm_en", NULL, NULL, |
965 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 968 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
966 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 969 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
967 | 970 | ||
@@ -972,6 +975,12 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
972 | "osvw", "ibs", NULL, NULL, NULL, NULL, | 975 | "osvw", "ibs", NULL, NULL, NULL, NULL, |
973 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 976 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
974 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 977 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
978 | |||
979 | /* Auxiliary (Linux-defined) */ | ||
980 | "ida", NULL, NULL, NULL, NULL, NULL, NULL, NULL, | ||
981 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | ||
982 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | ||
983 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | ||
975 | }; | 984 | }; |
976 | static char *x86_power_flags[] = { | 985 | static char *x86_power_flags[] = { |
977 | "ts", /* temperature sensor */ | 986 | "ts", /* temperature sensor */ |