|
@@ -63,7 +63,7 @@ void __init setup_cpu_local_masks(void)
|
|
|
alloc_bootmem_cpumask_var(&cpu_sibling_setup_mask);
|
|
|
}
|
|
|
|
|
|
-static void __cpuinit default_init(struct cpuinfo_x86 *c)
|
|
|
+static void default_init(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
#ifdef CONFIG_X86_64
|
|
|
cpu_detect_cache_sizes(c);
|
|
@@ -80,13 +80,13 @@ static void __cpuinit default_init(struct cpuinfo_x86 *c)
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
-static const struct cpu_dev __cpuinitconst default_cpu = {
|
|
|
+static const struct cpu_dev default_cpu = {
|
|
|
.c_init = default_init,
|
|
|
.c_vendor = "Unknown",
|
|
|
.c_x86_vendor = X86_VENDOR_UNKNOWN,
|
|
|
};
|
|
|
|
|
|
-static const struct cpu_dev *this_cpu __cpuinitdata = &default_cpu;
|
|
|
+static const struct cpu_dev *this_cpu = &default_cpu;
|
|
|
|
|
|
DEFINE_PER_CPU_PAGE_ALIGNED(struct gdt_page, gdt_page) = { .gdt = {
|
|
|
#ifdef CONFIG_X86_64
|
|
@@ -160,8 +160,8 @@ static int __init x86_xsaveopt_setup(char *s)
|
|
|
__setup("noxsaveopt", x86_xsaveopt_setup);
|
|
|
|
|
|
#ifdef CONFIG_X86_32
|
|
|
-static int cachesize_override __cpuinitdata = -1;
|
|
|
-static int disable_x86_serial_nr __cpuinitdata = 1;
|
|
|
+static int cachesize_override = -1;
|
|
|
+static int disable_x86_serial_nr = 1;
|
|
|
|
|
|
static int __init cachesize_setup(char *str)
|
|
|
{
|
|
@@ -215,12 +215,12 @@ static inline int flag_is_changeable_p(u32 flag)
|
|
|
}
|
|
|
|
|
|
/* Probe for the CPUID instruction */
|
|
|
-int __cpuinit have_cpuid_p(void)
|
|
|
+int have_cpuid_p(void)
|
|
|
{
|
|
|
return flag_is_changeable_p(X86_EFLAGS_ID);
|
|
|
}
|
|
|
|
|
|
-static void __cpuinit squash_the_stupid_serial_number(struct cpuinfo_x86 *c)
|
|
|
+static void squash_the_stupid_serial_number(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
unsigned long lo, hi;
|
|
|
|
|
@@ -298,7 +298,7 @@ struct cpuid_dependent_feature {
|
|
|
u32 level;
|
|
|
};
|
|
|
|
|
|
-static const struct cpuid_dependent_feature __cpuinitconst
|
|
|
+static const struct cpuid_dependent_feature
|
|
|
cpuid_dependent_features[] = {
|
|
|
{ X86_FEATURE_MWAIT, 0x00000005 },
|
|
|
{ X86_FEATURE_DCA, 0x00000009 },
|
|
@@ -306,7 +306,7 @@ cpuid_dependent_features[] = {
|
|
|
{ 0, 0 }
|
|
|
};
|
|
|
|
|
|
-static void __cpuinit filter_cpuid_features(struct cpuinfo_x86 *c, bool warn)
|
|
|
+static void filter_cpuid_features(struct cpuinfo_x86 *c, bool warn)
|
|
|
{
|
|
|
const struct cpuid_dependent_feature *df;
|
|
|
|
|
@@ -344,7 +344,7 @@ static void __cpuinit filter_cpuid_features(struct cpuinfo_x86 *c, bool warn)
|
|
|
*/
|
|
|
|
|
|
/* Look up CPU names by table lookup. */
|
|
|
-static const char *__cpuinit table_lookup_model(struct cpuinfo_x86 *c)
|
|
|
+static const char *table_lookup_model(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
const struct cpu_model_info *info;
|
|
|
|
|
@@ -364,8 +364,8 @@ static const char *__cpuinit table_lookup_model(struct cpuinfo_x86 *c)
|
|
|
return NULL; /* Not found */
|
|
|
}
|
|
|
|
|
|
-__u32 cpu_caps_cleared[NCAPINTS] __cpuinitdata;
|
|
|
-__u32 cpu_caps_set[NCAPINTS] __cpuinitdata;
|
|
|
+__u32 cpu_caps_cleared[NCAPINTS];
|
|
|
+__u32 cpu_caps_set[NCAPINTS];
|
|
|
|
|
|
void load_percpu_segment(int cpu)
|
|
|
{
|
|
@@ -394,9 +394,9 @@ void switch_to_new_gdt(int cpu)
|
|
|
load_percpu_segment(cpu);
|
|
|
}
|
|
|
|
|
|
-static const struct cpu_dev *__cpuinitdata cpu_devs[X86_VENDOR_NUM] = {};
|
|
|
+static const struct cpu_dev *cpu_devs[X86_VENDOR_NUM] = {};
|
|
|
|
|
|
-static void __cpuinit get_model_name(struct cpuinfo_x86 *c)
|
|
|
+static void get_model_name(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
unsigned int *v;
|
|
|
char *p, *q;
|
|
@@ -425,7 +425,7 @@ static void __cpuinit get_model_name(struct cpuinfo_x86 *c)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void __cpuinit cpu_detect_cache_sizes(struct cpuinfo_x86 *c)
|
|
|
+void cpu_detect_cache_sizes(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
unsigned int n, dummy, ebx, ecx, edx, l2size;
|
|
|
|
|
@@ -479,7 +479,7 @@ u16 __read_mostly tlb_lld_4m[NR_INFO];
|
|
|
*/
|
|
|
s8 __read_mostly tlb_flushall_shift = -1;
|
|
|
|
|
|
-void __cpuinit cpu_detect_tlb(struct cpuinfo_x86 *c)
|
|
|
+void cpu_detect_tlb(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
if (this_cpu->c_detect_tlb)
|
|
|
this_cpu->c_detect_tlb(c);
|
|
@@ -493,7 +493,7 @@ void __cpuinit cpu_detect_tlb(struct cpuinfo_x86 *c)
|
|
|
tlb_flushall_shift);
|
|
|
}
|
|
|
|
|
|
-void __cpuinit detect_ht(struct cpuinfo_x86 *c)
|
|
|
+void detect_ht(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
#ifdef CONFIG_X86_HT
|
|
|
u32 eax, ebx, ecx, edx;
|
|
@@ -544,7 +544,7 @@ out:
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
-static void __cpuinit get_cpu_vendor(struct cpuinfo_x86 *c)
|
|
|
+static void get_cpu_vendor(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
char *v = c->x86_vendor_id;
|
|
|
int i;
|
|
@@ -571,7 +571,7 @@ static void __cpuinit get_cpu_vendor(struct cpuinfo_x86 *c)
|
|
|
this_cpu = &default_cpu;
|
|
|
}
|
|
|
|
|
|
-void __cpuinit cpu_detect(struct cpuinfo_x86 *c)
|
|
|
+void cpu_detect(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
/* Get vendor name */
|
|
|
cpuid(0x00000000, (unsigned int *)&c->cpuid_level,
|
|
@@ -601,7 +601,7 @@ void __cpuinit cpu_detect(struct cpuinfo_x86 *c)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void __cpuinit get_cpu_cap(struct cpuinfo_x86 *c)
|
|
|
+void get_cpu_cap(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
u32 tfms, xlvl;
|
|
|
u32 ebx;
|
|
@@ -652,7 +652,7 @@ void __cpuinit get_cpu_cap(struct cpuinfo_x86 *c)
|
|
|
init_scattered_cpuid_features(c);
|
|
|
}
|
|
|
|
|
|
-static void __cpuinit identify_cpu_without_cpuid(struct cpuinfo_x86 *c)
|
|
|
+static void identify_cpu_without_cpuid(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
#ifdef CONFIG_X86_32
|
|
|
int i;
|
|
@@ -769,7 +769,7 @@ void __init early_cpu_init(void)
|
|
|
* unless we can find a reliable way to detect all the broken cases.
|
|
|
* Enable it explicitly on 64-bit for non-constant inputs of cpu_has().
|
|
|
*/
|
|
|
-static void __cpuinit detect_nopl(struct cpuinfo_x86 *c)
|
|
|
+static void detect_nopl(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
#ifdef CONFIG_X86_32
|
|
|
clear_cpu_cap(c, X86_FEATURE_NOPL);
|
|
@@ -778,7 +778,7 @@ static void __cpuinit detect_nopl(struct cpuinfo_x86 *c)
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
-static void __cpuinit generic_identify(struct cpuinfo_x86 *c)
|
|
|
+static void generic_identify(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
c->extended_cpuid_level = 0;
|
|
|
|
|
@@ -815,7 +815,7 @@ static void __cpuinit generic_identify(struct cpuinfo_x86 *c)
|
|
|
/*
|
|
|
* This does the hard work of actually picking apart the CPU stuff...
|
|
|
*/
|
|
|
-static void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
|
|
|
+static void identify_cpu(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
@@ -960,7 +960,7 @@ void __init identify_boot_cpu(void)
|
|
|
cpu_detect_tlb(&boot_cpu_data);
|
|
|
}
|
|
|
|
|
|
-void __cpuinit identify_secondary_cpu(struct cpuinfo_x86 *c)
|
|
|
+void identify_secondary_cpu(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
BUG_ON(c == &boot_cpu_data);
|
|
|
identify_cpu(c);
|
|
@@ -975,14 +975,14 @@ struct msr_range {
|
|
|
unsigned max;
|
|
|
};
|
|
|
|
|
|
-static const struct msr_range msr_range_array[] __cpuinitconst = {
|
|
|
+static const struct msr_range msr_range_array[] = {
|
|
|
{ 0x00000000, 0x00000418},
|
|
|
{ 0xc0000000, 0xc000040b},
|
|
|
{ 0xc0010000, 0xc0010142},
|
|
|
{ 0xc0011000, 0xc001103b},
|
|
|
};
|
|
|
|
|
|
-static void __cpuinit __print_cpu_msr(void)
|
|
|
+static void __print_cpu_msr(void)
|
|
|
{
|
|
|
unsigned index_min, index_max;
|
|
|
unsigned index;
|
|
@@ -1001,7 +1001,7 @@ static void __cpuinit __print_cpu_msr(void)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static int show_msr __cpuinitdata;
|
|
|
+static int show_msr;
|
|
|
|
|
|
static __init int setup_show_msr(char *arg)
|
|
|
{
|
|
@@ -1022,7 +1022,7 @@ static __init int setup_noclflush(char *arg)
|
|
|
}
|
|
|
__setup("noclflush", setup_noclflush);
|
|
|
|
|
|
-void __cpuinit print_cpu_info(struct cpuinfo_x86 *c)
|
|
|
+void print_cpu_info(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
const char *vendor = NULL;
|
|
|
|
|
@@ -1051,7 +1051,7 @@ void __cpuinit print_cpu_info(struct cpuinfo_x86 *c)
|
|
|
print_cpu_msr(c);
|
|
|
}
|
|
|
|
|
|
-void __cpuinit print_cpu_msr(struct cpuinfo_x86 *c)
|
|
|
+void print_cpu_msr(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
if (c->cpu_index < show_msr)
|
|
|
__print_cpu_msr();
|
|
@@ -1216,7 +1216,7 @@ static void dbg_restore_debug_regs(void)
|
|
|
*/
|
|
|
#ifdef CONFIG_X86_64
|
|
|
|
|
|
-void __cpuinit cpu_init(void)
|
|
|
+void cpu_init(void)
|
|
|
{
|
|
|
struct orig_ist *oist;
|
|
|
struct task_struct *me;
|
|
@@ -1315,7 +1315,7 @@ void __cpuinit cpu_init(void)
|
|
|
|
|
|
#else
|
|
|
|
|
|
-void __cpuinit cpu_init(void)
|
|
|
+void cpu_init(void)
|
|
|
{
|
|
|
int cpu = smp_processor_id();
|
|
|
struct task_struct *curr = current;
|