mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-08-18 02:22:47 -07:00
x86: delete __cpuinit usage from all x86 files
The __cpuinit type of throwaway sections might have made sense
some time ago when RAM was more constrained, but now the savings
do not offset the cost and complications. For example, the fix in
commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
is a good example of the nasty type of bugs that can be created
with improper use of the various __init prefixes.
After a discussion on LKML[1] it was decided that cpuinit should go
the way of devinit and be phased out. Once all the users are gone,
we can then finally remove the macros themselves from linux/init.h.
Note that some harmless section mismatch warnings may result, since
notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
are flagged as __cpuinit -- so if we remove the __cpuinit from
arch specific callers, we will also get section mismatch warnings.
As an intermediate step, we intend to turn the linux/init.h cpuinit
content into no-ops as early as possible, since that will get rid
of these warnings. In any case, they are temporary and harmless.
This removes all the arch/x86 uses of the __cpuinit macros from
all C files. x86 only had the one __CPUINIT used in assembly files,
and it wasn't paired off with a .previous or a __FINIT, so we can
delete it directly w/o any corresponding additional change there.
[1] https://lkml.org/lkml/2013/5/20/589
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org
Acked-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
This commit is contained in:
1 parent
70e2a7bf23
commit
148f9bb877
71 files changed
+345
-356
No files matched your search
@@ -28,7 +28,7 @@ struct x86_cpu {
|
||||
#ifdef CONFIG_HOTPLUG_CPU
|
||||
extern int arch_register_cpu(int num);
|
||||
extern void arch_unregister_cpu(int);
|
||||
extern void __cpuinit start_cpu0(void);
|
||||
extern void start_cpu0(void);
|
||||
#ifdef CONFIG_DEBUG_HOTPLUG_CPU0
|
||||
extern int _debug_hotplug_cpu(int cpu, int action);
|
||||
#endif
|
||||
|
||||
@@ -60,11 +60,11 @@ static inline void __exit exit_amd_microcode(void) {}
|
||||
#ifdef CONFIG_MICROCODE_EARLY
|
||||
#define MAX_UCODE_COUNT 128
|
||||
extern void __init load_ucode_bsp(void);
|
||||
extern void __cpuinit load_ucode_ap(void);
|
||||
extern void load_ucode_ap(void);
|
||||
extern int __init save_microcode_in_initrd(void);
|
||||
#else
|
||||
static inline void __init load_ucode_bsp(void) {}
|
||||
static inline void __cpuinit load_ucode_ap(void) {}
|
||||
static inline void load_ucode_ap(void) {}
|
||||
static inline int __init save_microcode_in_initrd(void)
|
||||
{
|
||||
return 0;
|
||||
|
||||
@@ -67,11 +67,11 @@ extern enum ucode_state load_microcode_amd(int cpu, const u8 *data, size_t size)
|
||||
extern u8 amd_bsp_mpb[MPB_MAX_SIZE];
|
||||
#endif
|
||||
extern void __init load_ucode_amd_bsp(void);
|
||||
extern void __cpuinit load_ucode_amd_ap(void);
|
||||
extern void load_ucode_amd_ap(void);
|
||||
extern int __init save_microcode_in_initrd_amd(void);
|
||||
#else
|
||||
static inline void __init load_ucode_amd_bsp(void) {}
|
||||
static inline void __cpuinit load_ucode_amd_ap(void) {}
|
||||
static inline void load_ucode_amd_ap(void) {}
|
||||
static inline int __init save_microcode_in_initrd_amd(void) { return -EINVAL; }
|
||||
#endif
|
||||
|
||||
|
||||
@@ -65,12 +65,12 @@ update_match_revision(struct microcode_header_intel *mc_header, int rev);
|
||||
|
||||
#ifdef CONFIG_MICROCODE_INTEL_EARLY
|
||||
extern void __init load_ucode_intel_bsp(void);
|
||||
extern void __cpuinit load_ucode_intel_ap(void);
|
||||
extern void load_ucode_intel_ap(void);
|
||||
extern void show_ucode_info_early(void);
|
||||
extern int __init save_microcode_in_initrd_intel(void);
|
||||
#else
|
||||
static inline __init void load_ucode_intel_bsp(void) {}
|
||||
static inline __cpuinit void load_ucode_intel_ap(void) {}
|
||||
static inline void load_ucode_intel_ap(void) {}
|
||||
static inline void show_ucode_info_early(void) {}
|
||||
static inline int __init save_microcode_in_initrd_intel(void) { return -EINVAL; }
|
||||
#endif
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
#define _ASM_X86_MMCONFIG_H
|
||||
|
||||
#ifdef CONFIG_PCI_MMCONFIG
|
||||
extern void __cpuinit fam10h_check_enable_mmcfg(void);
|
||||
extern void __cpuinit check_enable_amd_mmconf_dmi(void);
|
||||
extern void fam10h_check_enable_mmcfg(void);
|
||||
extern void check_enable_amd_mmconf_dmi(void);
|
||||
#else
|
||||
static inline void fam10h_check_enable_mmcfg(void) { }
|
||||
static inline void check_enable_amd_mmconf_dmi(void) { }
|
||||
|
||||
@@ -94,7 +94,7 @@ static inline void early_reserve_e820_mpc_new(void) { }
|
||||
#define default_get_smp_config x86_init_uint_noop
|
||||
#endif
|
||||
|
||||
void __cpuinit generic_processor_info(int apicid, int version);
|
||||
void generic_processor_info(int apicid, int version);
|
||||
#ifdef CONFIG_ACPI
|
||||
extern void mp_register_ioapic(int id, u32 address, u32 gsi_base);
|
||||
extern void mp_override_legacy_irq(u8 bus_irq, u8 polarity, u8 trigger,
|
||||
|
||||
@@ -39,7 +39,7 @@ static inline void set_apicid_to_node(int apicid, s16 node)
|
||||
__apicid_to_node[apicid] = node;
|
||||
}
|
||||
|
||||
extern int __cpuinit numa_cpu_node(int cpu);
|
||||
extern int numa_cpu_node(int cpu);
|
||||
|
||||
#else /* CONFIG_NUMA */
|
||||
static inline void set_apicid_to_node(int apicid, s16 node)
|
||||
@@ -60,8 +60,8 @@ static inline int numa_cpu_node(int cpu)
|
||||
extern void numa_set_node(int cpu, int node);
|
||||
extern void numa_clear_node(int cpu);
|
||||
extern void __init init_cpu_to_node(void);
|
||||
extern void __cpuinit numa_add_cpu(int cpu);
|
||||
extern void __cpuinit numa_remove_cpu(int cpu);
|
||||
extern void numa_add_cpu(int cpu);
|
||||
extern void numa_remove_cpu(int cpu);
|
||||
#else /* CONFIG_NUMA */
|
||||
static inline void numa_set_node(int cpu, int node) { }
|
||||
static inline void numa_clear_node(int cpu) { }
|
||||
|
||||
@@ -164,7 +164,7 @@ extern const struct seq_operations cpuinfo_op;
|
||||
#define cache_line_size() (boot_cpu_data.x86_cache_alignment)
|
||||
|
||||
extern void cpu_detect(struct cpuinfo_x86 *c);
|
||||
extern void __cpuinit fpu_detect(struct cpuinfo_x86 *c);
|
||||
extern void fpu_detect(struct cpuinfo_x86 *c);
|
||||
|
||||
extern void early_cpu_init(void);
|
||||
extern void identify_boot_cpu(void);
|
||||
|
||||
@@ -27,7 +27,7 @@ extern int of_ioapic;
|
||||
extern u64 initial_dtb;
|
||||
extern void add_dtb(u64 data);
|
||||
extern void x86_add_irq_domains(void);
|
||||
void __cpuinit x86_of_pci_init(void);
|
||||
void x86_of_pci_init(void);
|
||||
void x86_dtb_init(void);
|
||||
#else
|
||||
static inline void add_dtb(u64 data) { }
|
||||
|
||||
@@ -179,7 +179,7 @@ static inline int wbinvd_on_all_cpus(void)
|
||||
}
|
||||
#endif /* CONFIG_SMP */
|
||||
|
||||
extern unsigned disabled_cpus __cpuinitdata;
|
||||
extern unsigned disabled_cpus;
|
||||
|
||||
#ifdef CONFIG_X86_32_SMP
|
||||
/*
|
||||
|
||||
@@ -195,7 +195,7 @@ static int __init acpi_parse_madt(struct acpi_table_header *table)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __cpuinit acpi_register_lapic(int id, u8 enabled)
|
||||
static void acpi_register_lapic(int id, u8 enabled)
|
||||
{
|
||||
unsigned int ver = 0;
|
||||
|
||||
@@ -607,7 +607,7 @@ void __init acpi_set_irq_model_ioapic(void)
|
||||
#ifdef CONFIG_ACPI_HOTPLUG_CPU
|
||||
#include <acpi/processor.h>
|
||||
|
||||
static void __cpuinit acpi_map_cpu2node(acpi_handle handle, int cpu, int physid)
|
||||
static void acpi_map_cpu2node(acpi_handle handle, int cpu, int physid)
|
||||
{
|
||||
#ifdef CONFIG_ACPI_NUMA
|
||||
int nid;
|
||||
@@ -620,7 +620,7 @@ static void __cpuinit acpi_map_cpu2node(acpi_handle handle, int cpu, int physid)
|
||||
#endif
|
||||
}
|
||||
|
||||
static int __cpuinit _acpi_map_lsapic(acpi_handle handle, int *pcpu)
|
||||
static int _acpi_map_lsapic(acpi_handle handle, int *pcpu)
|
||||
{
|
||||
struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
|
||||
union acpi_object *obj;
|
||||
|
||||
+15
-15
@@ -58,7 +58,7 @@
|
||||
|
||||
unsigned int num_processors;
|
||||
|
||||
unsigned disabled_cpus __cpuinitdata;
|
||||
unsigned disabled_cpus;
|
||||
|
||||
/* Processor that is doing the boot up */
|
||||
unsigned int boot_cpu_physical_apicid = -1U;
|
||||
@@ -544,7 +544,7 @@ static DEFINE_PER_CPU(struct clock_event_device, lapic_events);
|
||||
* Setup the local APIC timer for this CPU. Copy the initialized values
|
||||
* of the boot CPU and register the clock event in the framework.
|
||||
*/
|
||||
static void __cpuinit setup_APIC_timer(void)
|
||||
static void setup_APIC_timer(void)
|
||||
{
|
||||
struct clock_event_device *levt = &__get_cpu_var(lapic_events);
|
||||
|
||||
@@ -866,7 +866,7 @@ void __init setup_boot_APIC_clock(void)
|
||||
setup_APIC_timer();
|
||||
}
|
||||
|
||||
void __cpuinit setup_secondary_APIC_clock(void)
|
||||
void setup_secondary_APIC_clock(void)
|
||||
{
|
||||
setup_APIC_timer();
|
||||
}
|
||||
@@ -1229,7 +1229,7 @@ void __init init_bsp_APIC(void)
|
||||
apic_write(APIC_LVT1, value);
|
||||
}
|
||||
|
||||
static void __cpuinit lapic_setup_esr(void)
|
||||
static void lapic_setup_esr(void)
|
||||
{
|
||||
unsigned int oldvalue, value, maxlvt;
|
||||
|
||||
@@ -1276,7 +1276,7 @@ static void __cpuinit lapic_setup_esr(void)
|
||||
* Used to setup local APIC while initializing BSP or bringin up APs.
|
||||
* Always called with preemption disabled.
|
||||
*/
|
||||
void __cpuinit setup_local_APIC(void)
|
||||
void setup_local_APIC(void)
|
||||
{
|
||||
int cpu = smp_processor_id();
|
||||
unsigned int value, queued;
|
||||
@@ -1471,7 +1471,7 @@ void __cpuinit setup_local_APIC(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
void __cpuinit end_local_APIC_setup(void)
|
||||
void end_local_APIC_setup(void)
|
||||
{
|
||||
lapic_setup_esr();
|
||||
|
||||
@@ -2107,7 +2107,7 @@ void disconnect_bsp_APIC(int virt_wire_setup)
|
||||
apic_write(APIC_LVT1, value);
|
||||
}
|
||||
|
||||
void __cpuinit generic_processor_info(int apicid, int version)
|
||||
void generic_processor_info(int apicid, int version)
|
||||
{
|
||||
int cpu, max = nr_cpu_ids;
|
||||
bool boot_cpu_detected = physid_isset(boot_cpu_physical_apicid,
|
||||
@@ -2377,7 +2377,7 @@ static struct syscore_ops lapic_syscore_ops = {
|
||||
.suspend = lapic_suspend,
|
||||
};
|
||||
|
||||
static void __cpuinit apic_pm_activate(void)
|
||||
static void apic_pm_activate(void)
|
||||
{
|
||||
apic_pm_state.active = 1;
|
||||
}
|
||||
@@ -2402,7 +2402,7 @@ static void apic_pm_activate(void) { }
|
||||
|
||||
#ifdef CONFIG_X86_64
|
||||
|
||||
static int __cpuinit apic_cluster_num(void)
|
||||
static int apic_cluster_num(void)
|
||||
{
|
||||
int i, clusters, zeros;
|
||||
unsigned id;
|
||||
@@ -2447,10 +2447,10 @@ static int __cpuinit apic_cluster_num(void)
|
||||
return clusters;
|
||||
}
|
||||
|
||||
static int __cpuinitdata multi_checked;
|
||||
static int __cpuinitdata multi;
|
||||
static int multi_checked;
|
||||
static int multi;
|
||||
|
||||
static int __cpuinit set_multi(const struct dmi_system_id *d)
|
||||
static int set_multi(const struct dmi_system_id *d)
|
||||
{
|
||||
if (multi)
|
||||
return 0;
|
||||
@@ -2459,7 +2459,7 @@ static int __cpuinit set_multi(const struct dmi_system_id *d)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const __cpuinitconst struct dmi_system_id multi_dmi_table[] = {
|
||||
static const struct dmi_system_id multi_dmi_table[] = {
|
||||
{
|
||||
.callback = set_multi,
|
||||
.ident = "IBM System Summit2",
|
||||
@@ -2471,7 +2471,7 @@ static const __cpuinitconst struct dmi_system_id multi_dmi_table[] = {
|
||||
{}
|
||||
};
|
||||
|
||||
static void __cpuinit dmi_check_multi(void)
|
||||
static void dmi_check_multi(void)
|
||||
{
|
||||
if (multi_checked)
|
||||
return;
|
||||
@@ -2488,7 +2488,7 @@ static void __cpuinit dmi_check_multi(void)
|
||||
* multi-chassis.
|
||||
* Use DMI to check them
|
||||
*/
|
||||
__cpuinit int apic_is_clustered_box(void)
|
||||
int apic_is_clustered_box(void)
|
||||
{
|
||||
dmi_check_multi();
|
||||
if (multi)
|
||||
|
||||
@@ -74,7 +74,7 @@ static int numachip_phys_pkg_id(int initial_apic_id, int index_msb)
|
||||
return initial_apic_id >> index_msb;
|
||||
}
|
||||
|
||||
static int __cpuinit numachip_wakeup_secondary(int phys_apicid, unsigned long start_rip)
|
||||
static int numachip_wakeup_secondary(int phys_apicid, unsigned long start_rip)
|
||||
{
|
||||
union numachip_csr_g3_ext_irq_gen int_gen;
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ int es7000_plat;
|
||||
*/
|
||||
|
||||
|
||||
static int __cpuinit wakeup_secondary_cpu_via_mip(int cpu, unsigned long eip)
|
||||
static int wakeup_secondary_cpu_via_mip(int cpu, unsigned long eip)
|
||||
{
|
||||
unsigned long vect = 0, psaival = 0;
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ static void __init smp_dump_qct(void)
|
||||
}
|
||||
}
|
||||
|
||||
void __cpuinit numaq_tsc_disable(void)
|
||||
void numaq_tsc_disable(void)
|
||||
{
|
||||
if (!found_numaq)
|
||||
return;
|
||||
|
||||
@@ -148,7 +148,7 @@ static void init_x2apic_ldr(void)
|
||||
/*
|
||||
* At CPU state changes, update the x2apic cluster sibling info.
|
||||
*/
|
||||
static int __cpuinit
|
||||
static int
|
||||
update_clusterinfo(struct notifier_block *nfb, unsigned long action, void *hcpu)
|
||||
{
|
||||
unsigned int this_cpu = (unsigned long)hcpu;
|
||||
|
||||
@@ -209,7 +209,7 @@ EXPORT_SYMBOL_GPL(uv_possible_blades);
|
||||
unsigned long sn_rtc_cycles_per_second;
|
||||
EXPORT_SYMBOL(sn_rtc_cycles_per_second);
|
||||
|
||||
static int __cpuinit uv_wakeup_secondary(int phys_apicid, unsigned long start_rip)
|
||||
static int uv_wakeup_secondary(int phys_apicid, unsigned long start_rip)
|
||||
{
|
||||
#ifdef CONFIG_SMP
|
||||
unsigned long val;
|
||||
@@ -416,7 +416,7 @@ static struct apic __refdata apic_x2apic_uv_x = {
|
||||
.safe_wait_icr_idle = native_safe_x2apic_wait_icr_idle,
|
||||
};
|
||||
|
||||
static __cpuinit void set_x2apic_extra_bits(int pnode)
|
||||
static void set_x2apic_extra_bits(int pnode)
|
||||
{
|
||||
__this_cpu_write(x2apic_extra_bits, pnode << uvh_apicid.s.pnode_shift);
|
||||
}
|
||||
@@ -735,7 +735,7 @@ static void uv_heartbeat(unsigned long ignored)
|
||||
mod_timer_pinned(timer, jiffies + SCIR_CPU_HB_INTERVAL);
|
||||
}
|
||||
|
||||
static void __cpuinit uv_heartbeat_enable(int cpu)
|
||||
static void uv_heartbeat_enable(int cpu)
|
||||
{
|
||||
while (!uv_cpu_hub_info(cpu)->scir.enabled) {
|
||||
struct timer_list *timer = &uv_cpu_hub_info(cpu)->scir.timer;
|
||||
@@ -752,7 +752,7 @@ static void __cpuinit uv_heartbeat_enable(int cpu)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_HOTPLUG_CPU
|
||||
static void __cpuinit uv_heartbeat_disable(int cpu)
|
||||
static void uv_heartbeat_disable(int cpu)
|
||||
{
|
||||
if (uv_cpu_hub_info(cpu)->scir.enabled) {
|
||||
uv_cpu_hub_info(cpu)->scir.enabled = 0;
|
||||
@@ -764,8 +764,8 @@ static void __cpuinit uv_heartbeat_disable(int cpu)
|
||||
/*
|
||||
* cpu hotplug notifier
|
||||
*/
|
||||
static __cpuinit int uv_scir_cpu_notify(struct notifier_block *self,
|
||||
unsigned long action, void *hcpu)
|
||||
static int uv_scir_cpu_notify(struct notifier_block *self, unsigned long action,
|
||||
void *hcpu)
|
||||
{
|
||||
long cpu = (long)hcpu;
|
||||
|
||||
@@ -835,7 +835,7 @@ int uv_set_vga_state(struct pci_dev *pdev, bool decode,
|
||||
* Called on each cpu to initialize the per_cpu UV data area.
|
||||
* FIXME: hotplug not supported yet
|
||||
*/
|
||||
void __cpuinit uv_cpu_init(void)
|
||||
void uv_cpu_init(void)
|
||||
{
|
||||
/* CPU 0 initilization will be done via uv_system_init. */
|
||||
if (!uv_blade_info)
|
||||
|
||||
+16
-17
@@ -69,7 +69,7 @@ static inline int wrmsrl_amd_safe(unsigned msr, unsigned long long val)
|
||||
extern void vide(void);
|
||||
__asm__(".align 4\nvide: ret");
|
||||
|
||||
static void __cpuinit init_amd_k5(struct cpuinfo_x86 *c)
|
||||
static void init_amd_k5(struct cpuinfo_x86 *c)
|
||||
{
|
||||
/*
|
||||
* General Systems BIOSen alias the cpu frequency registers
|
||||
@@ -87,7 +87,7 @@ static void __cpuinit init_amd_k5(struct cpuinfo_x86 *c)
|
||||
}
|
||||
|
||||
|
||||
static void __cpuinit init_amd_k6(struct cpuinfo_x86 *c)
|
||||
static void init_amd_k6(struct cpuinfo_x86 *c)
|
||||
{
|
||||
u32 l, h;
|
||||
int mbytes = get_num_physpages() >> (20-PAGE_SHIFT);
|
||||
@@ -179,7 +179,7 @@ static void __cpuinit init_amd_k6(struct cpuinfo_x86 *c)
|
||||
}
|
||||
}
|
||||
|
||||
static void __cpuinit amd_k7_smp_check(struct cpuinfo_x86 *c)
|
||||
static void amd_k7_smp_check(struct cpuinfo_x86 *c)
|
||||
{
|
||||
/* calling is from identify_secondary_cpu() ? */
|
||||
if (!c->cpu_index)
|
||||
@@ -222,7 +222,7 @@ static void __cpuinit amd_k7_smp_check(struct cpuinfo_x86 *c)
|
||||
add_taint(TAINT_UNSAFE_SMP, LOCKDEP_NOW_UNRELIABLE);
|
||||
}
|
||||
|
||||
static void __cpuinit init_amd_k7(struct cpuinfo_x86 *c)
|
||||
static void init_amd_k7(struct cpuinfo_x86 *c)
|
||||
{
|
||||
u32 l, h;
|
||||
|
||||
@@ -267,7 +267,7 @@ static void __cpuinit init_amd_k7(struct cpuinfo_x86 *c)
|
||||
* To workaround broken NUMA config. Read the comment in
|
||||
* srat_detect_node().
|
||||
*/
|
||||
static int __cpuinit nearby_node(int apicid)
|
||||
static int nearby_node(int apicid)
|
||||
{
|
||||
int i, node;
|
||||
|
||||
@@ -292,7 +292,7 @@ static int __cpuinit nearby_node(int apicid)
|
||||
* (2) AMD processors supporting compute units
|
||||
*/
|
||||
#ifdef CONFIG_X86_HT
|
||||
static void __cpuinit amd_get_topology(struct cpuinfo_x86 *c)
|
||||
static void amd_get_topology(struct cpuinfo_x86 *c)
|
||||
{
|
||||
u32 nodes, cores_per_cu = 1;
|
||||
u8 node_id;
|
||||
@@ -342,7 +342,7 @@ static void __cpuinit amd_get_topology(struct cpuinfo_x86 *c)
|
||||
* On a AMD dual core setup the lower bits of the APIC id distingush the cores.
|
||||
* Assumes number of cores is a power of two.
|
||||
*/
|
||||
static void __cpuinit amd_detect_cmp(struct cpuinfo_x86 *c)
|
||||
static void amd_detect_cmp(struct cpuinfo_x86 *c)
|
||||
{
|
||||
#ifdef CONFIG_X86_HT
|
||||
unsigned bits;
|
||||
@@ -369,7 +369,7 @@ u16 amd_get_nb_id(int cpu)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(amd_get_nb_id);
|
||||
|
||||
static void __cpuinit srat_detect_node(struct cpuinfo_x86 *c)
|
||||
static void srat_detect_node(struct cpuinfo_x86 *c)
|
||||
{
|
||||
#ifdef CONFIG_NUMA
|
||||
int cpu = smp_processor_id();
|
||||
@@ -421,7 +421,7 @@ static void __cpuinit srat_detect_node(struct cpuinfo_x86 *c)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void __cpuinit early_init_amd_mc(struct cpuinfo_x86 *c)
|
||||
static void early_init_amd_mc(struct cpuinfo_x86 *c)
|
||||
{
|
||||
#ifdef CONFIG_X86_HT
|
||||
unsigned bits, ecx;
|
||||
@@ -447,7 +447,7 @@ static void __cpuinit early_init_amd_mc(struct cpuinfo_x86 *c)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void __cpuinit bsp_init_amd(struct cpuinfo_x86 *c)
|
||||
static void bsp_init_amd(struct cpuinfo_x86 *c)
|
||||
{
|
||||
if (cpu_has(c, X86_FEATURE_CONSTANT_TSC)) {
|
||||
|
||||
@@ -475,7 +475,7 @@ static void __cpuinit bsp_init_amd(struct cpuinfo_x86 *c)
|
||||
}
|
||||
}
|
||||
|
||||
static void __cpuinit early_init_amd(struct cpuinfo_x86 *c)
|
||||
static void early_init_amd(struct cpuinfo_x86 *c)
|
||||
{
|
||||
early_init_amd_mc(c);
|
||||
|
||||
@@ -514,7 +514,7 @@ static const int amd_erratum_383[];
|
||||
static const int amd_erratum_400[];
|
||||
static bool cpu_has_amd_erratum(const int *erratum);
|
||||
|
||||
static void __cpuinit init_amd(struct cpuinfo_x86 *c)
|
||||
static void init_amd(struct cpuinfo_x86 *c)
|
||||
{
|
||||
u32 dummy;
|
||||
unsigned long long value;
|
||||
@@ -740,8 +740,7 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_X86_32
|
||||
static unsigned int __cpuinit amd_size_cache(struct cpuinfo_x86 *c,
|
||||
unsigned int size)
|
||||
static unsigned int amd_size_cache(struct cpuinfo_x86 *c, unsigned int size)
|
||||
{
|
||||
/* AMD errata T13 (order #21922) */
|
||||
if ((c->x86 == 6)) {
|
||||
@@ -757,7 +756,7 @@ static unsigned int __cpuinit amd_size_cache(struct cpuinfo_x86 *c,
|
||||
}
|
||||
#endif
|
||||
|
||||
static void __cpuinit cpu_set_tlb_flushall_shift(struct cpuinfo_x86 *c)
|
||||
static void cpu_set_tlb_flushall_shift(struct cpuinfo_x86 *c)
|
||||
{
|
||||
tlb_flushall_shift = 5;
|
||||
|
||||
@@ -765,7 +764,7 @@ static void __cpuinit cpu_set_tlb_flushall_shift(struct cpuinfo_x86 *c)
|
||||
tlb_flushall_shift = 4;
|
||||
}
|
||||
|
||||
static void __cpuinit cpu_detect_tlb_amd(struct cpuinfo_x86 *c)
|
||||
static void cpu_detect_tlb_amd(struct cpuinfo_x86 *c)
|
||||
{
|
||||
u32 ebx, eax, ecx, edx;
|
||||
u16 mask = 0xfff;
|
||||
@@ -820,7 +819,7 @@ static void __cpuinit cpu_detect_tlb_amd(struct cpuinfo_x86 *c)
|
||||
cpu_set_tlb_flushall_shift(c);
|
||||
}
|
||||
|
||||
static const struct cpu_dev __cpuinitconst amd_cpu_dev = {
|
||||
static const struct cpu_dev amd_cpu_dev = {
|
||||
.c_vendor = "AMD",
|
||||
.c_ident = { "AuthenticAMD" },
|
||||
#ifdef CONFIG_X86_32
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
#ifdef CONFIG_X86_OOSTORE
|
||||
|
||||
static u32 __cpuinit power2(u32 x)
|
||||
static u32 power2(u32 x)
|
||||
{
|
||||
u32 s = 1;
|
||||
|
||||
@@ -25,7 +25,7 @@ static u32 __cpuinit power2(u32 x)
|
||||
/*
|
||||
* Set up an actual MCR
|
||||
*/
|
||||
static void __cpuinit centaur_mcr_insert(int reg, u32 base, u32 size, int key)
|
||||
static void centaur_mcr_insert(int reg, u32 base, u32 size, int key)
|
||||
{
|
||||
u32 lo, hi;
|
||||
|
||||
@@ -42,7 +42,7 @@ static void __cpuinit centaur_mcr_insert(int reg, u32 base, u32 size, int key)
|
||||
*
|
||||
* Shortcut: We know you can't put 4Gig of RAM on a winchip
|
||||
*/
|
||||
static u32 __cpuinit ramtop(void)
|
||||
static u32 ramtop(void)
|
||||
{
|
||||
u32 clip = 0xFFFFFFFFUL;
|
||||
u32 top = 0;
|
||||
@@ -91,7 +91,7 @@ static u32 __cpuinit ramtop(void)
|
||||
/*
|
||||
* Compute a set of MCR's to give maximum coverage
|
||||
*/
|
||||
static int __cpuinit centaur_mcr_compute(int nr, int key)
|
||||
static int centaur_mcr_compute(int nr, int key)
|
||||
{
|
||||
u32 mem = ramtop();
|
||||
u32 root = power2(mem);
|
||||
@@ -157,7 +157,7 @@ static int __cpuinit centaur_mcr_compute(int nr, int key)
|
||||
return ct;
|
||||
}
|
||||
|
||||
static void __cpuinit centaur_create_optimal_mcr(void)
|
||||
static void centaur_create_optimal_mcr(void)
|
||||
{
|
||||
int used;
|
||||
int i;
|
||||
@@ -181,7 +181,7 @@ static void __cpuinit centaur_create_optimal_mcr(void)
|
||||
wrmsr(MSR_IDT_MCR0+i, 0, 0);
|
||||
}
|
||||
|
||||
static void __cpuinit winchip2_create_optimal_mcr(void)
|
||||
static void winchip2_create_optimal_mcr(void)
|
||||
{
|
||||
u32 lo, hi;
|
||||
int used;
|
||||
@@ -217,7 +217,7 @@ static void __cpuinit winchip2_create_optimal_mcr(void)
|
||||
/*
|
||||
* Handle the MCR key on the Winchip 2.
|
||||
*/
|
||||
static void __cpuinit winchip2_unprotect_mcr(void)
|
||||
static void winchip2_unprotect_mcr(void)
|
||||
{
|
||||
u32 lo, hi;
|
||||
u32 key;
|
||||
@@ -229,7 +229,7 @@ static void __cpuinit winchip2_unprotect_mcr(void)
|
||||
wrmsr(MSR_IDT_MCR_CTRL, lo, hi);
|
||||
}
|
||||
|
||||
static void __cpuinit winchip2_protect_mcr(void)
|
||||
static void winchip2_protect_mcr(void)
|
||||
{
|
||||
u32 lo, hi;
|
||||
|
||||
@@ -247,7 +247,7 @@ static void __cpuinit winchip2_protect_mcr(void)
|
||||
#define RNG_ENABLED (1 << 3)
|
||||
#define RNG_ENABLE (1 << 6) /* MSR_VIA_RNG */
|
||||
|
||||
static void __cpuinit init_c3(struct cpuinfo_x86 *c)
|
||||
static void init_c3(struct cpuinfo_x86 *c)
|
||||
{
|
||||
u32 lo, hi;
|
||||
|
||||
@@ -318,7 +318,7 @@ enum {
|
||||
EAMD3D = 1<<20,
|
||||
};
|
||||
|
||||
static void __cpuinit early_init_centaur(struct cpuinfo_x86 *c)
|
||||
static void early_init_centaur(struct cpuinfo_x86 *c)
|
||||
{
|
||||
switch (c->x86) {
|
||||
#ifdef CONFIG_X86_32
|
||||
@@ -337,7 +337,7 @@ static void __cpuinit early_init_centaur(struct cpuinfo_x86 *c)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void __cpuinit init_centaur(struct cpuinfo_x86 *c)
|
||||
static void init_centaur(struct cpuinfo_x86 *c)
|
||||
{
|
||||
#ifdef CONFIG_X86_32
|
||||
char *name;
|
||||
@@ -468,7 +468,7 @@ static void __cpuinit init_centaur(struct cpuinfo_x86 *c)
|
||||
#endif
|
||||
}
|
||||
|
||||
static unsigned int __cpuinit
|
||||
static unsigned int
|
||||
centaur_size_cache(struct cpuinfo_x86 *c, unsigned int size)
|
||||
{
|
||||
#ifdef CONFIG_X86_32
|
||||
@@ -488,7 +488,7 @@ centaur_size_cache(struct cpuinfo_x86 *c, unsigned int size)
|
||||
return size;
|
||||
}
|
||||
|
||||
static const struct cpu_dev __cpuinitconst centaur_cpu_dev = {
|
||||
static const struct cpu_dev centaur_cpu_dev = {
|
||||
.c_vendor = "Centaur",
|
||||
.c_ident = { "CentaurHauls" },
|
||||
.c_early_init = early_init_centaur,
|
||||
|
||||
@@ -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;
|
||||
|
||||
Loaded 20 of 71 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user