1
linux/arch/x86/kernel/cpu
Thomas Petazzoni 03ae5768b6 x86: use ELF section to list CPU vendor specific code
Replace the hardcoded list of initialization functions for each CPU
vendor by a list in an ELF section, which is read at initialization in
arch/x86/kernel/cpu/cpu.c to fill the cpu_devs[] array. The ELF
section, named .x86cpuvendor.init, is reclaimed after boot, and
contains entries of type "struct cpu_vendor_dev" which associates a
vendor number with a pointer to a "struct cpu_dev" structure.

This first modification allows to remove all the VENDOR_init_cpu()
functions.

This patch also removes the hardcoded calls to early_init_amd() and
early_init_intel(). Instead, we add a "c_early_init" member to the
cpu_dev structure, which is then called if not NULL by the generic CPU
initialization code. Unfortunately, in early_cpu_detect(), this_cpu is
not yet set, so we have to use the cpu_devs[] array directly.

This patch is part of the Linux Tiny project, and is needed for
further patch that will allow to disable compilation of unused CPU
support code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-04-17 17:40:47 +02:00
..
cpufreq x86, cpufreq: fix Speedfreq-SMI call that clobbers ECX 2008-03-26 22:23:40 +01:00
mcheck x86: sparse warning in therm_throt.c 2008-02-09 23:24:08 +01:00
mtrr x86: convert mtrr/generic.c to kernel-doc 2008-03-26 22:23:40 +01:00
addon_cpuid_features.c x86: add set/clear_cpu_cap operations 2008-01-30 13:30:55 +01:00
amd.c x86: use ELF section to list CPU vendor specific code 2008-04-17 17:40:47 +02:00
bugs.c Fix booting pentium+ with dodgy TSC 2008-04-06 16:10:40 -07:00
centaur.c x86: use ELF section to list CPU vendor specific code 2008-04-17 17:40:47 +02:00
common.c x86: use ELF section to list CPU vendor specific code 2008-04-17 17:40:47 +02:00
cpu.h x86: use ELF section to list CPU vendor specific code 2008-04-17 17:40:47 +02:00
cyrix.c x86: use ELF section to list CPU vendor specific code 2008-04-17 17:40:47 +02:00
feature_names.c x86: unify CPU feature string names 2008-02-04 16:48:00 +01:00
intel_cacheinfo.c x86: fix sparse warnings in intel_cacheinfo.c 2008-01-31 22:05:43 +01:00
intel.c x86: use ELF section to list CPU vendor specific code 2008-04-17 17:40:47 +02:00
Makefile x86: unify CPU feature string names 2008-02-04 16:48:00 +01:00
nexgen.c
perfctr-watchdog.c x86: print message if nmi_watchdog=2 cannot be enabled 2008-04-04 18:36:45 +02:00
proc.c x86: unify CPU feature string names 2008-02-04 16:48:00 +01:00
transmeta.c x86: use ELF section to list CPU vendor specific code 2008-04-17 17:40:47 +02:00
umc.c x86: use ELF section to list CPU vendor specific code 2008-04-17 17:40:47 +02:00