Re: [PATCH] X86_NUMAQ build fix

From: OGAWA Hirofumi
Date: Fri Apr 21 2006 - 14:50:15 EST


Dave Hansen <haveblue@xxxxxxxxxx> writes:

> On Sat, 2006-04-22 at 01:06 +0900, OGAWA Hirofumi wrote:
>> This patch fixes the build breakage of X86_NUMAQ. And this declares
>> xquad_portio on only X86_NUMAQ.
>
> What bug does this patch fix? What is your .config? I'm not having any
> compile problems on my NUMAQ lately.

Ah, sorry for stuipd description...

>> obj-$(CONFIG_PCI_DIRECT) += direct.o
>>
>> pci-y := fixup.o
>> -pci-$(CONFIG_ACPI) += acpi.o
>> pci-y += legacy.o irq.o
>>
>> pci-$(CONFIG_X86_VISWS) := visws.o fixup.o
>> pci-$(CONFIG_X86_NUMAQ) := numa.o irq.o
>>
>> +pci-$(CONFIG_ACPI) += acpi.o
>
> Am I reading this wrong, or does this just move the option down a bit?
> Did you need to change the link order? Why?

No, this is not link order. Note that CONFIG_X86_VISWS/CONFIG_X86_NUMAQ
uses ":=", not "+=". In case of ACPI=y", it breaks build.

Maybe NUMAQ shouldn't allow ACPI=y in Kconfig (very old Makefile
doesn't allow to build acpi.o), but I think Makefile is ok with this,
and it also fixes CONFIG_X86_VISWS case (very old Makefile also allow to
build acpi.o).

>> +++ linux-2.6-hirofumi/arch/i386/boot/compressed/misc.c 2006-04-22 00:54:29.000000000 +0900
>> @@ -122,7 +122,9 @@ static int vidport;
>> static int lines, cols;
>>
>> #ifdef CONFIG_X86_NUMAQ
>> -static void * xquad_portio = NULL;
>> +/* hack to avoid using xquad_portio=NULL */
>> +#undef outb_p
>> +#define outb_p outb_local_p
>> #endif
>
> It's really weird, but I'd hope that there was a reason for having two
> xquad_portio. Are you sure that this has no other consequences?

Note that this is boot/compressed/misc.c. We can't share vmlinux's
data in here. However we can share macros, so probably, it's using
"static void * xquad_portio = NULL" hack.

But, in include/asm-i386/io.h, it is declared as "extern". At least,
gcc-4.0 doesn't allow "static" and "extern" mismatch.

> That said, it does boot on my 16-way NUMAQ, but I still have no real
> idea what problem this is solving or what it is actually doing ;)

Oh, good. Thanks.
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/