> commit 9c869edac591977314323a4eaad5f7633fca684f
> tree 9455f4e8e78cd62f87b19dd7abe2c65ca23d9ceb
> parent ad329b1519c0091806046b0e49ab073ea590dc11
> author Zachary Amsden <[email protected]> Sat, 25 Feb 2006 05:04:27 -0800
> committer Linus Torvalds <[email protected]> Sat, 25 Feb 2006 06:31:39 -0800
>
> [PATCH] Fix topology.c location
>
> When compiling a non-default subarch, topology.c is missing from the kernel
> build. This causes builds with CONFIG_HOTPLUG_CPU to fail. In addition,
> on Intel processors with cpuid level > 4, it causes intel_cacheinfo.c to
> reference uninitialized data that should have been set up by the initcall
> in topology.c which calls register_cpu. This causes a kernel panic on boot
> on newer Intel processors. Moving topology.c to arch/i386/kernel fixes
> both of these problems.
This change breaks x86-64 compiles, as it uses the same file.
Signed-off-by: Dave Jones <[email protected]>
--- linux-2.6.15.noarch/arch/x86_64/kernel/Makefile~ 2006-02-25 03:29:04.000000000 -0500
+++ linux-2.6.15.noarch/arch/x86_64/kernel/Makefile 2006-02-25 03:29:35.000000000 -0500
@@ -45,7 +45,7 @@ CFLAGS_vsyscall.o := $(PROFILING) -g0
bootflag-y += ../../i386/kernel/bootflag.o
cpuid-$(subst m,y,$(CONFIG_X86_CPUID)) += ../../i386/kernel/cpuid.o
-topology-y += ../../i386/mach-default/topology.o
+topology-y += ../../i386/kernel/topology.o
microcode-$(subst m,y,$(CONFIG_MICROCODE)) += ../../i386/kernel/microcode.o
intel_cacheinfo-y += ../../i386/kernel/cpu/intel_cacheinfo.o
quirks-y += ../../i386/kernel/quirks.o
Dave Jones wrote:
>This change breaks x86-64 compiles, as it uses the same file.
>
>
Thanks for fixing that. Have we decided that file sharing of this sort
is a really bad idea yet? I still see early_printk and pci-direct.h
sharing remains. If this sharing really must go on, isn't there a less
ad-hoc way to do it? Or at least a mention in the file that "before you
modify, note this is shared by arch foo".
Zach
On Sat, 25 Feb 2006 09:28:38 -0800 Zachary Amsden wrote:
> Dave Jones wrote:
>
> >This change breaks x86-64 compiles, as it uses the same file.
> >
> >
>
> Thanks for fixing that. Have we decided that file sharing of this sort
> is a really bad idea yet? I still see early_printk and pci-direct.h
> sharing remains. If this sharing really must go on, isn't there a less
> ad-hoc way to do it? Or at least a mention in the file that "before you
> modify, note this is shared by arch foo".
I guess a note would be OK, but there are notes already in Makefile*.
oh, or in some .c file if it does #include another.c
or #include ../../arch/other/blah
For i386 and x86_64, currently almost any file could be shared, except for
the cpu-specific ones.
One hurdle to get over seems to be what would Andi accept.
---
~Randy