Re: [PATCH] [PATCH] x86: cacheinfo: fix build error in cache_disable

Ingo Molnar
2009-04-03T16:16:12Z

* Andreas Herrmann <andreas.herrmann3@amd.com> wrote:

> Impact: fix build error
>
> Commit 45ca863 (x86, cpu: conform L3 Cache Index Disable to Linux standard)
> introduced following build error with CONFIG_K8_NB=n
> ...
> arch/x86/mm/built-in.o:(.bss+0x5c0): multiple definition of `k8_northbridges'
> arch/x86/kernel/built-in.o:(.bss+0x18c8): first defined here
> ...
>
> The patch deactivates cache_disable functionality for kernels with
> CONFIG_K8_NB=n.
>
> Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
> ---
> arch/x86/include/asm/k8.h | 4 ----
> arch/x86/kernel/cpu/intel_cacheinfo.c | 19 ++++++++++++++++---
> 2 files changed, 16 insertions(+), 7 deletions(-)
>
> The real fix would be to enable cache index disable functionality also
> for kernels with CONFIG_K8_NB=n but I don't have time to provide such
> a patch today.
>
> Ingo, please either apply this (compile tested) patch or revert Mark's
> patch to avoid further blocking of tip/x86/cpu branch.
>
>
> Thanks,
>
> Andreas
>
>
> diff --git a/arch/x86/include/asm/k8.h b/arch/x86/include/asm/k8.h
> index 0d619c3..54c8cc5 100644
> --- a/arch/x86/include/asm/k8.h
> +++ b/arch/x86/include/asm/k8.h
> @@ -6,11 +6,7 @@
> extern struct pci_device_id k8_nb_ids[];
>
> extern int early_is_k8_nb(u32 value);
> -#ifdef CONFIG_K8_NB
> extern struct pci_dev **k8_northbridges;
> -#else
> -struct pci_dev **k8_northbridges;
> -#endif

hm, what's wrong with the node_to_k8_dev() suggestion i made?

That would be a pretty clean interface, private to k8.c - and it
would map a 'return NULL' inline function in the !CONFIG_K8_NB case.

Ingo