Re: [RFC 12/12] iscsi-target: Add Makefile/Kconfig and update TCMtop level

From: Nicholas A. Bellinger
Date: Wed Mar 02 2011 - 16:39:03 EST


On Tue, 2011-03-01 at 22:32 -0800, Randy Dunlap wrote:
> On Tue, 1 Mar 2011 19:34:01 -0800 Nicholas A. Bellinger wrote:
>
> > From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
> >
> > Add Makefile/Kconfig and update drivers/target/[Makefile,Kconfig]
> > to include the fabric module.
> >
> > igned-off-by: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx>
> > ---
> > drivers/target/Kconfig | 1 +
> > drivers/target/Makefile | 1 +
> > drivers/target/iscsi/Kconfig | 17 +++++++++++++++++
> > drivers/target/iscsi/Makefile | 20 ++++++++++++++++++++
> > 4 files changed, 39 insertions(+), 0 deletions(-)
> > create mode 100644 drivers/target/iscsi/Kconfig
> > create mode 100644 drivers/target/iscsi/Makefile
> >
> > diff --git a/drivers/target/Kconfig b/drivers/target/Kconfig
> > index 387d293..798749a 100644
> > --- a/drivers/target/Kconfig
> > +++ b/drivers/target/Kconfig
> > @@ -30,5 +30,6 @@ config TCM_PSCSI
> > passthrough access to Linux/SCSI device
> >
> > source "drivers/target/tcm_loop/Kconfig"
> > +source "drivers/target/iscsi/Kconfig"
> >
> > endif
> > diff --git a/drivers/target/Makefile b/drivers/target/Makefile
> > index 60028fe..b038b7d 100644
> > --- a/drivers/target/Makefile
> > +++ b/drivers/target/Makefile
> > @@ -24,3 +24,4 @@ obj-$(CONFIG_TCM_PSCSI) += target_core_pscsi.o
> >
> > # Fabric modules
> > obj-$(CONFIG_TCM_LOOP_FABRIC) += tcm_loop/
> > +obj-$(CONFIG_ISCSI_TARGET) += iscsi/
> > diff --git a/drivers/target/iscsi/Kconfig b/drivers/target/iscsi/Kconfig
> > new file mode 100644
> > index 0000000..d1eaec4
> > --- /dev/null
> > +++ b/drivers/target/iscsi/Kconfig
> > @@ -0,0 +1,17 @@
> > +config ISCSI_TARGET
> > + tristate "Linux-iSCSI.org iSCSI Target Mode Stack"
> > + select CRYPTO
> > + select CRYPTO_CRC32C
> > + select CRYPTO_CRC32C_INTEL
>
> CRYPTO_CRC32C_INTEL depends on X86. so is ISCSI_TARGET only for X86,
> or is this kconfig just mucked up?
>
>

Hi Randy,

The kernel code itself that is specific to using the SSE v4.2
instruction for CRC32C offload are using #ifdef CONFIG_X86 stubs in
iscsi_target_login.c:iscsi_login_setup_crypto(), and !CONFIG_X86 will
default to using the unoptimized 1x8 slicing soft CRC32C code. This
particular piece of logic has been tested on powerpc and arm and is
funcitoning as expected from the kernel level using the arch independent
soft code.

On the kbuild side, I do see the following warning on !CONFIG_X86:

warning: (LIO_TARGET) selects CRYPTO_CRC32C_INTEL which has unmet direct dependencies (CRYPTO && X86)

I looking at trying to fix this at one point, but was unable to
determine a method for adding a CONFIG_$ARCH condition to an individual
'select BAR' section of 'config FOO'..

How would you recommend handling this case..?

Thanks,

--nab


--
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/