[BUILD_FAILURE] 2.6.27-git2 - allyesconfig on powerpc selectsCONFIG_INTEL_IOATDMA=y

Brandeburg, Jesse jesse.brandeburg at intel.com
Tue Oct 14 05:05:43 EST 2008


Adrian Bunk wrote:
> On Mon, Oct 13, 2008 at 03:45:59PM +0530, Kamalesh Babulal wrote:
>> Hi,
>> 
>>    2.6.27-git2 kernel build fails, while building the kernel with

from subject, on PPC.

>> allyesconfig option. The allyesconfig selects CONFIG_INTEL_IOATDMA=y
>> 
>> CC   drivers/dma/ioat_dca.o
>> drivers/dma/ioat_dca.c: In function ‘dca_enabled_in_bios’:
>> drivers/dma/ioat_dca.c:81: error: implicit declaration of function
>> ‘cpuid_eax’ drivers/dma/ioat_dca.c: In function
>> ‘system_has_dca_enabled’: 
>> drivers/dma/ioat_dca.c:91: error: implicit declaration of function
>> ‘boot_cpu_has’ drivers/dma/ioat_dca.c:91: error:
>> ‘X86_FEATURE_DCA’ undeclared (first use in this function)
>> drivers/dma/ioat_dca.c:91: error: (Each undeclared identifier is
>> reported only once drivers/dma/ioat_dca.c:91: error: for each
>> function it appears in.)  
>> drivers/dma/ioat_dca.c: In function ‘ioat_dca_get_tag’:
>> drivers/dma/ioat_dca.c:190: error: implicit declaration of function
>> ‘cpu_physical_id’ make[2]: *** [drivers/dma/ioat_dca.o] Error 1
>> make[1]: *** [drivers/dma] Error 2
>> make: *** [drivers] Error 2
>> ...
> 
> Thanks for the report, the MYRI10GE and IXGBE commits that introduced
> the select's are really broken.

it fixed an obvious bug with CONFIG_IXGBE=y and CONFIG_INTEL_IOATDMA=m, unfortunate that it is so difficult to use Kconfig for the uninitiated.
 
> For fixing it I need to know the intended semantics.
> 
> Brian, Jesse, is it OK to limit the drivers to m with
> CONFIG_INTEL_IOATDMA=m ?

why is the IOATDMA driver not depending on x86?  x86 hardware (32 and 64 bit) are the only machines that will have ioatdma support, since the ioatdma (and dca) device is only in Intel server chipsets since S5000 (aka S5000, S5400, S7400 and derivatives/followons)

What we want, is myri10ge and ixgbe drivers that can build whether or not CONFIG_INTEL_IOATDMA is enabled.  IF CONFIG_INTEL_IOATDMA *is* enabled (which it should not be on PPC) then there are several cases we want to work:
CONFIG_INTEL_IOATDMA=m  ---> CONFIG_IXGBE=[m|n]
CONFIG_INTEL_IOATDMA=y  ---> CONFIG_IXGBE=[m|y|n]
CONFIG_INTEL_IOATDMA=n  ---> CONFIG_IXGBE=[m|y|n]
CONFIG_INTEL_IOATDMA depends on X86

same for myri10ge I think.  I hope that cleared something up, we can seriously use some help from the experts to get Kconfig correct for this.



More information about the Linuxppc-dev mailing list