Messages in this thread | | | Date | Wed, 17 Apr 2002 08:30:44 -0400 | From | Adam Kropelin <> | Subject | Re: 2.5.8-dj1 : arch/i386/kernel/smpboot.c error |
| |
On Tue, Apr 16, 2002 at 09:59:08PM -0700, Martin J. Bligh wrote: > xquad_portio is indeed only for CONFIG_MULTIQUAD. However, you > shouldn't need the #ifdef's in the code to make this work - > clustered_apic_mode isn't a variable at all, it's a magic > trick that's actually 1 or 0 depending on CONFIG_MULTIQUAD. > > Look at 2.5.8 virgin, it has the same code.
Not quite.
As I said, -dj has an optimization in asm-i386/io.o:
> #ifdef CONFIG_MULTIQUAD > extern void *xquad_portio; /* Where the IO area was mapped */ > #else > #define xquad_portio (0) > #endif
So the preprocessed smpboot.c contains gems like:
> void *(0) = ((void *)0);
...and...
> (0) = ioremap (0xfe400000, > numnodes * 0x80000);
Even though clustered_apic_mode is 0, the compiler still complains about the second one and the first one doesn't depend on clustered_apic_mode at all.
I don't like spreading around more #ifdef's, but the spirit of the changes seemed to be to get rid of the declaration of xquad_portio when !CONFIG_MULTIQUAD. Suggestions for improvement welcome.
--Adam
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |