Tim Deegan
2008-Oct-08 13:11 UTC
[Xen-devel] [PATCH 4/4] Import upstream git commit 35060b6a9a4e1c89bc6fbea61090e302dbc61847
Import upstream git commit 35060b6a9a4e1c89bc6fbea61090e302dbc61847 [PATCH] i386: Don''t delete cpu_devs data to identify different x86 types in late_initcall In arch/i386/cpu/common.c there is: cpu_devs[X86_VENDOR_INTEL] cpu_devs[X86_VENDOR_CYRIX] cpu_devs[X86_VENDOR_AMD] ... They are all filled with data early. The data (struct) got set to NULL for all, but Intel in different late_initcall (exit_cpu_vendor) calls. I don''t see what sense this makes at all, maybe something that got forgotten with the HOTPLUG_CPU extenstions? Please check/review whether initdata, cpuinitdata is still ok and this still works with HOTPLUG_CPU and without, it should... Signed-off-by: Thomas Renninger <trenn@suse.de> Signed-off-by: Andi Kleen <ak@suse.de> Cc: davej@redhat.com diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/amd.c --- a/arch/i386/kernel/cpu/amd.c Wed Oct 08 11:36:33 2008 +0100 +++ b/arch/i386/kernel/cpu/amd.c Wed Oct 08 13:06:36 2008 +0100 @@ -284,13 +284,3 @@ int __init amd_init_cpu(void) cpu_devs[X86_VENDOR_AMD] = &amd_cpu_dev; return 0; } - -//early_arch_initcall(amd_init_cpu); - -static int __init amd_exit_cpu(void) -{ - cpu_devs[X86_VENDOR_AMD] = NULL; - return 0; -} - -late_initcall(amd_exit_cpu); diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/centaur.c --- a/arch/i386/kernel/cpu/centaur.c Wed Oct 08 11:36:33 2008 +0100 +++ b/arch/i386/kernel/cpu/centaur.c Wed Oct 08 13:06:36 2008 +0100 @@ -469,13 +469,3 @@ int __init centaur_init_cpu(void) cpu_devs[X86_VENDOR_CENTAUR] = ¢aur_cpu_dev; return 0; } - -//early_arch_initcall(centaur_init_cpu); - -static int __init centaur_exit_cpu(void) -{ - cpu_devs[X86_VENDOR_CENTAUR] = NULL; - return 0; -} - -late_initcall(centaur_exit_cpu); diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/cyrix.c --- a/arch/i386/kernel/cpu/cyrix.c Wed Oct 08 11:36:33 2008 +0100 +++ b/arch/i386/kernel/cpu/cyrix.c Wed Oct 08 13:06:36 2008 +0100 @@ -443,16 +443,6 @@ int __init cyrix_init_cpu(void) return 0; } -//early_arch_initcall(cyrix_init_cpu); - -static int __init cyrix_exit_cpu(void) -{ - cpu_devs[X86_VENDOR_CYRIX] = NULL; - return 0; -} - -late_initcall(cyrix_exit_cpu); - static struct cpu_dev nsc_cpu_dev __cpuinitdata = { .c_vendor = "NSC", .c_ident = { "Geode by NSC" }, @@ -466,12 +456,3 @@ int __init nsc_init_cpu(void) return 0; } -//early_arch_initcall(nsc_init_cpu); - -static int __init nsc_exit_cpu(void) -{ - cpu_devs[X86_VENDOR_NSC] = NULL; - return 0; -} - -late_initcall(nsc_exit_cpu); diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/nexgen.c --- a/arch/i386/kernel/cpu/nexgen.c Wed Oct 08 11:36:33 2008 +0100 +++ b/arch/i386/kernel/cpu/nexgen.c Wed Oct 08 13:06:36 2008 +0100 @@ -59,13 +59,3 @@ int __init nexgen_init_cpu(void) cpu_devs[X86_VENDOR_NEXGEN] = &nexgen_cpu_dev; return 0; } - -//early_arch_initcall(nexgen_init_cpu); - -static int __init nexgen_exit_cpu(void) -{ - cpu_devs[X86_VENDOR_NEXGEN] = NULL; - return 0; -} - -late_initcall(nexgen_exit_cpu); diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/rise.c --- a/arch/i386/kernel/cpu/rise.c Wed Oct 08 11:36:33 2008 +0100 +++ b/arch/i386/kernel/cpu/rise.c Wed Oct 08 13:06:36 2008 +0100 @@ -50,12 +50,3 @@ int __init rise_init_cpu(void) return 0; } -//early_arch_initcall(rise_init_cpu); - -static int __init rise_exit_cpu(void) -{ - cpu_devs[X86_VENDOR_RISE] = NULL; - return 0; -} - -late_initcall(rise_exit_cpu); diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/transmeta.c --- a/arch/i386/kernel/cpu/transmeta.c Wed Oct 08 11:36:33 2008 +0100 +++ b/arch/i386/kernel/cpu/transmeta.c Wed Oct 08 13:06:36 2008 +0100 @@ -110,13 +110,3 @@ int __init transmeta_init_cpu(void) cpu_devs[X86_VENDOR_TRANSMETA] = &transmeta_cpu_dev; return 0; } - -//early_arch_initcall(transmeta_init_cpu); - -static int __init transmeta_exit_cpu(void) -{ - cpu_devs[X86_VENDOR_TRANSMETA] = NULL; - return 0; -} - -late_initcall(transmeta_exit_cpu); diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/umc.c --- a/arch/i386/kernel/cpu/umc.c Wed Oct 08 11:36:33 2008 +0100 +++ b/arch/i386/kernel/cpu/umc.c Wed Oct 08 13:06:36 2008 +0100 @@ -29,13 +29,3 @@ int __init umc_init_cpu(void) cpu_devs[X86_VENDOR_UMC] = &umc_cpu_dev; return 0; } - -//early_arch_initcall(umc_init_cpu); - -static int __init umc_exit_cpu(void) -{ - cpu_devs[X86_VENDOR_UMC] = NULL; - return 0; -} - -late_initcall(umc_exit_cpu); _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel