Re: [PATCH] x86_64: clear IO_APIC before enabing apic error vector. v2

Yinghai Lu
2007-12-30T20:48:58Z

On Dec 30, 2007 6:51 AM, Ingo Molnar <mingo@elte.hu> wrote:
>
> * Yinghai Lu <Yinghai.Lu@Sun.COM> wrote:
>
> > please check if you can replace the one in the x86-mm
> >
> > http://git.kernel.org/?p=linux/kernel/git/x86/linux-2.6-x86.git;a=commitdiff;h=ffcbdc220a1520d006a837f33589c7c19ffbeb76
> >
> > the updated one avoid one link warning.
>
> please send delta patches instead - so that we can review the changes.

will do that in another patch.

>
> > this is the updated verison that take enable_IO_APIC as extra call for
> > setup_local_APIC to avoid linking warning.
>
> hm, what link warning did you get? Perhaps the following __cpuinit:

WARNING: vmlinux.o(.text+0x163d5): Section mismatch: reference to
.init.text:enable_IO_APIC (between 'setup_local_APIC' and
'apic_is_clustered_box')

>
> > -void __cpuinit setup_local_APIC (void)
>
> does not mix well with an __init call:
>
> > +void __init enable_IO_APIC(void)
>
> and you hack it around by using a function pointer. Nasty and still
> buggy. The proper solution would be to mark enable_IO_APIC as __cpuinit
> too (or something like that).

after change that to __cpuinit, i got

WARNING: vmlinux.o(.text+0x17f84): Section mismatch: reference to
.init.text: (between 'enable_IO_APIC' and 'ioapic_resume')
WARNING: vmlinux.o(.text+0x17f92): Section mismatch: reference to
.init.text: (between 'enable_IO_APIC' and 'ioapic_resume')

YH