* [RFC PATCH 19/19] Target_Core_Mod Makefile/Kconfig and div64.c
@ 2009-09-12 1:58 Nicholas A. Bellinger
2009-09-13 9:51 ` Boaz Harrosh
0 siblings, 1 reply; 4+ messages in thread
From: Nicholas A. Bellinger @ 2009-09-12 1:58 UTC (permalink / raw)
To: LKML, linux-scsi
Cc: Andrew Morton, Greg KH, Douglas Gilbert, James Bottomley,
Hannes Reinecke, FUJITA Tomonori, Mike Christie, Joel Becker,
Martin K. Petersen, Christoph Hellwig, Linus Torvalds, Alan Stern,
Boaz Harrosh, Florian Haas, Philipp Reisner
[RFC PATCH 19/19] Target_Core_Mod Makefile/Kconfig and div64.c
This patch adds the remaining misc Makefile and Kconfig changes
It also has wrappers for unsigned long division in div64c, that will be converted to
include/asm-generic/div64.h
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
diff --git a/drivers/target/div64.c b/drivers/target/div64.c
new file mode 100644
index 0000000..6d59864
--- /dev/null
+++ b/drivers/target/div64.c
@@ -0,0 +1,16 @@
+#include <asm/types.h>
+#include <asm/div64.h>
+
+#if BITS_PER_LONG == 32
+
+u64 __udivdi3(u64 a, u64 b)
+{
+ do_div(a, b);
+ return a;
+}
+
+u64 __umoddi3(u64 a, u64 b)
+{
+ return do_div(a, b);
+}
+#endif
diff --git a/drivers/target/Makefile b/drivers/target/Makefile
new file mode 100644
index 0000000..3e413b0
--- /dev/null
+++ b/drivers/target/Makefile
@@ -0,0 +1,96 @@
+CWD=$(shell pwd)
+
+PYX_ISCSI_VENDOR ?="Linux-iSCSI.org"
+
+# Transport Plugins and Devices.
+ #
+LINUX_PARALLEL_SCSI ?= 1
+LINUX_STGT ?= 1
+LINUX_SCSI_MEDIA_ROM ?= 1
+LINUX_PARALLEL_ATA ?= 0
+LINUX_IBLOCK ?= 1
+LINUX_RAMDISK ?= 1
+LINUX_FILEIO ?= 1
+
+LINUX_VPD_PAGE_CHECK?=1
+LIO_TARGET_CONFIGFS?=1
+
+MODVER ?= 1
+USEGDB ?= 1
+DEBUG_DEV ?= 0
+SNMP_FEATURE ?= 1
+
+obj-$(CONFIG_TARGET_CORE) += target_core_mod.o
+target_core_mod-objs := target_core_configfs.o \
+ target_core_device.o \
+ target_core_hba.o \
+ target_core_plugin.o \
+ target_core_pr.o \
+ target_core_alua.o \
+ target_core_scdb.o \
+ target_core_seobj.o \
+ target_core_tmr.o \
+ target_core_tpg.o \
+ target_core_transport.o \
+ target_core_ua.o \
+ div64.o
+
+ifeq ($(LINUX_IBLOCK), 1)
+target_core_mod-objs += target_core_iblock.o
+EXTRA_CFLAGS += -DPYX_IBLOCK
+endif
+ifeq ($(LINUX_PARALLEL_SCSI), 1)
+target_core_mod-objs += target_core_pscsi.o
+EXTRA_CFLAGS += -DPARALLEL_SCSI
+endif
+ifeq ($(LINUX_STGT), 1)
+target_core_mod-objs += target_core_stgt.o
+EXTRA_CFLAGS += -DSTGT_PLUGIN
+endif
+ifeq ($(LINUX_RAMDISK), 1)
+target_core_mod-objs += target_core_rd.o
+EXTRA_CFLAGS += -DPYX_RAMDISK
+endif
+ifeq ($(LINUX_FILEIO), 1)
+target_core_mod-objs += target_core_file.o
+EXTRA_CFLAGS += -DPYX_FILEIO
+endif
+ifeq ($(SNMP_FEATURE), 1)
+target_core_mod-objs += target_core_mib.o
+EXTRA_CFLAGS += -DSNMP_SUPPORT
+endif
+ifeq ($(LINUX_VPD_PAGE_CHECK), 1)
+EXTRA_CFLAGS += -DLINUX_VPD_PAGE_CHECK
+endif
+ifeq ($(LINUX_SCSI_MEDIA_ROM), 1)
+EXTRA_CFLAGS += -DLINUX_SCSI_MEDIA_ROM
+endif
+ifeq ($(DEBUG_DEV), 1)
+EXTRA_CFLAGS += -DDEBUG_DEV
+endif
+
+
+EXTRA_CFLAGS+=-I$(CWD)/drivers/target/ -I$(CWD)/drivers/scsi/
+EXTRA_CFLAGS+=-D_TARGET -DLINUX -DLINUX_KERNEL_26 -DLINUX_SCSI_HOST_LOCK -DLINUX_USE_SIGHAND
+EXTRA_CFLAGS+=-DLINUX_SCATTERLIST_HAS_PAGE -DPYX_ISCSI_VENDOR='"Linux-iSCSI.org"'
+
+all:
+ $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(CWD) modules CWD=$(CWD) ARCH=$(ARCH) KBUILD_VERBOSE=0
+
+install ins:
+ rm -f /lib/modules/`uname -r`/kernel/drivers/scsi/iscsi_target_mod.ko
+ rm -f /lib/modules/`uname -r`/kernel/drivers/iscsi/iscsi_target_mod.ko
+ mkdir -p /lib/modules/`uname -r`/kernel/drivers/iscsi
+ cp -f iscsi_target_mod.ko /lib/modules/`uname -r`/kernel/drivers/iscsi
+ cp -f target_core_mod.ko /lib/modules/`uname -r`/kernel/drivers/iscsi
+ depmod -ae
+
+
+
+clean:
+ rm -f $(foreach prog,$(target_core_mod-objs) $(obj-m),$(CWD)/$(prog)) $(CWD)/target_core_mod.mod.o
+ rm -f target_core_mod.ko target_core_mod.mod.c
+ rm -f .*.cmd ../common/.*.cmd .make_autoconfig *~
+ rm -fr .tmp_versions
+
+
diff --git a/drivers/target/Kconfig b/drivers/target/Kconfig
new file mode 100644
index 0000000..04564f1
--- /dev/null
+++ b/drivers/target/Kconfig
@@ -0,0 +1,7 @@
+config TARGET_CORE
+ tristate "Generic Target Core Engine and ConfigFS Infrastructure"
+ select CONFIGFS_FS
+ select SCSI_TGT
+ default m
+ ---help---
+ Say Y here to enable the Storage Engine, Subsystem Plugins, and ConfigFS enabled control path for the Generic Target Engine.
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [RFC PATCH 19/19] Target_Core_Mod Makefile/Kconfig and div64.c
2009-09-12 1:58 [RFC PATCH 19/19] Target_Core_Mod Makefile/Kconfig and div64.c Nicholas A. Bellinger
@ 2009-09-13 9:51 ` Boaz Harrosh
2009-09-14 19:57 ` Nicholas A. Bellinger
0 siblings, 1 reply; 4+ messages in thread
From: Boaz Harrosh @ 2009-09-13 9:51 UTC (permalink / raw)
To: Nicholas A. Bellinger
Cc: LKML, linux-scsi, Andrew Morton, Greg KH, Douglas Gilbert,
James Bottomley, Hannes Reinecke, FUJITA Tomonori, Mike Christie,
Joel Becker, Martin K. Petersen, Christoph Hellwig,
Linus Torvalds, Alan Stern, Florian Haas, Philipp Reisner
On 09/12/2009 04:58 AM, Nicholas A. Bellinger wrote:
> [RFC PATCH 19/19] Target_Core_Mod Makefile/Kconfig and div64.c
>
> This patch adds the remaining misc Makefile and Kconfig changes
>
> It also has wrappers for unsigned long division in div64c, that will be converted to
> include/asm-generic/div64.h
>
> Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
> diff --git a/drivers/target/div64.c b/drivers/target/div64.c
> new file mode 100644
> index 0000000..6d59864
> --- /dev/null
> +++ b/drivers/target/div64.c
> @@ -0,0 +1,16 @@
> +#include <asm/types.h>
> +#include <asm/div64.h>
> +
> +#if BITS_PER_LONG == 32
> +
> +u64 __udivdi3(u64 a, u64 b)
> +{
> + do_div(a, b);
> + return a;
> +}
> +
> +u64 __umoddi3(u64 a, u64 b)
> +{
> + return do_div(a, b);
> +}
> +#endif
> diff --git a/drivers/target/Makefile b/drivers/target/Makefile
I like Kbuild better then Makefile. And so does the Kernel documentation.
It says new code should use Kbuild
> new file mode 100644
> index 0000000..3e413b0
> --- /dev/null
> +++ b/drivers/target/Makefile
> @@ -0,0 +1,96 @@
> +CWD=$(shell pwd)
> +
> +PYX_ISCSI_VENDOR ?="Linux-iSCSI.org"
> +
> +# Transport Plugins and Devices.
> + #
> +LINUX_PARALLEL_SCSI ?= 1
> +LINUX_STGT ?= 1
> +LINUX_SCSI_MEDIA_ROM ?= 1
> +LINUX_PARALLEL_ATA ?= 0
> +LINUX_IBLOCK ?= 1
> +LINUX_RAMDISK ?= 1
> +LINUX_FILEIO ?= 1
> +
> +LINUX_VPD_PAGE_CHECK?=1
> +LIO_TARGET_CONFIGFS?=1
> +
> +MODVER ?= 1
> +USEGDB ?= 1
> +DEBUG_DEV ?= 0
> +SNMP_FEATURE ?= 1
> +
Now when in-Kernel don't you need to use Kconfig for all this "configuration".
What's with the re-invent the wheel, here.
> +obj-$(CONFIG_TARGET_CORE) += target_core_mod.o
> +target_core_mod-objs := target_core_configfs.o \
> + target_core_device.o \
> + target_core_hba.o \
> + target_core_plugin.o \
> + target_core_pr.o \
> + target_core_alua.o \
> + target_core_scdb.o \
> + target_core_seobj.o \
> + target_core_tmr.o \
> + target_core_tpg.o \
> + target_core_transport.o \
> + target_core_ua.o \
> + div64.o
> +
> +ifeq ($(LINUX_IBLOCK), 1)
> +target_core_mod-objs += target_core_iblock.o
> +EXTRA_CFLAGS += -DPYX_IBLOCK
> +endif
> +ifeq ($(LINUX_PARALLEL_SCSI), 1)
> +target_core_mod-objs += target_core_pscsi.o
> +EXTRA_CFLAGS += -DPARALLEL_SCSI
> +endif
> +ifeq ($(LINUX_STGT), 1)
> +target_core_mod-objs += target_core_stgt.o
> +EXTRA_CFLAGS += -DSTGT_PLUGIN
> +endif
> +ifeq ($(LINUX_RAMDISK), 1)
> +target_core_mod-objs += target_core_rd.o
> +EXTRA_CFLAGS += -DPYX_RAMDISK
> +endif
> +ifeq ($(LINUX_FILEIO), 1)
> +target_core_mod-objs += target_core_file.o
> +EXTRA_CFLAGS += -DPYX_FILEIO
> +endif
> +ifeq ($(SNMP_FEATURE), 1)
> +target_core_mod-objs += target_core_mib.o
> +EXTRA_CFLAGS += -DSNMP_SUPPORT
> +endif
> +ifeq ($(LINUX_VPD_PAGE_CHECK), 1)
> +EXTRA_CFLAGS += -DLINUX_VPD_PAGE_CHECK
> +endif
> +ifeq ($(LINUX_SCSI_MEDIA_ROM), 1)
> +EXTRA_CFLAGS += -DLINUX_SCSI_MEDIA_ROM
> +endif
> +ifeq ($(DEBUG_DEV), 1)
> +EXTRA_CFLAGS += -DDEBUG_DEV
> +endif
> +
You see what I mean. Try with Kconfig variables all this disappears.
> +
> +EXTRA_CFLAGS+=-I$(CWD)/drivers/target/ -I$(CWD)/drivers/scsi/
> +EXTRA_CFLAGS+=-D_TARGET -DLINUX -DLINUX_KERNEL_26 -DLINUX_SCSI_HOST_LOCK -DLINUX_USE_SIGHAND
?? are you sure
> +EXTRA_CFLAGS+=-DLINUX_SCATTERLIST_HAS_PAGE -DPYX_ISCSI_VENDOR='"Linux-iSCSI.org"'
And these are for ??
<Makefile>
> +
> +all:
> + $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(CWD) modules CWD=$(CWD) ARCH=$(ARCH) KBUILD_VERBOSE=0
> +
> +install ins:
> + rm -f /lib/modules/`uname -r`/kernel/drivers/scsi/iscsi_target_mod.ko
> + rm -f /lib/modules/`uname -r`/kernel/drivers/iscsi/iscsi_target_mod.ko
> + mkdir -p /lib/modules/`uname -r`/kernel/drivers/iscsi
> + cp -f iscsi_target_mod.ko /lib/modules/`uname -r`/kernel/drivers/iscsi
> + cp -f target_core_mod.ko /lib/modules/`uname -r`/kernel/drivers/iscsi
> + depmod -ae
> +
> +
> +
> +clean:
> + rm -f $(foreach prog,$(target_core_mod-objs) $(obj-m),$(CWD)/$(prog)) $(CWD)/target_core_mod.mod.o
> + rm -f target_core_mod.ko target_core_mod.mod.c
> + rm -f .*.cmd ../common/.*.cmd .make_autoconfig *~
> + rm -fr .tmp_versions
> +
</Makefile>
OK this should go in a Makefile and kept out-of-tree
> +
> diff --git a/drivers/target/Kconfig b/drivers/target/Kconfig
> new file mode 100644
> index 0000000..04564f1
> --- /dev/null
> +++ b/drivers/target/Kconfig
> @@ -0,0 +1,7 @@
> +config TARGET_CORE
> + tristate "Generic Target Core Engine and ConfigFS Infrastructure"
> + select CONFIGFS_FS
> + select SCSI_TGT
> + default m
> + ---help---
> + Say Y here to enable the Storage Engine, Subsystem Plugins, and ConfigFS enabled control path for the Generic Target Engine.
>
>
Lots of more configs missing here
Cheers
Boaz
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [RFC PATCH 19/19] Target_Core_Mod Makefile/Kconfig and div64.c
2009-09-13 9:51 ` Boaz Harrosh
@ 2009-09-14 19:57 ` Nicholas A. Bellinger
0 siblings, 0 replies; 4+ messages in thread
From: Nicholas A. Bellinger @ 2009-09-14 19:57 UTC (permalink / raw)
To: Boaz Harrosh
Cc: LKML, linux-scsi, Andrew Morton, Greg KH, Douglas Gilbert,
James Bottomley, Hannes Reinecke, FUJITA Tomonori, Mike Christie,
Joel Becker, Martin K. Petersen, Christoph Hellwig,
Linus Torvalds, Alan Stern, Florian Haas, Philipp Reisner
On Sun, 2009-09-13 at 12:51 +0300, Boaz Harrosh wrote:
> On 09/12/2009 04:58 AM, Nicholas A. Bellinger wrote:
> > [RFC PATCH 19/19] Target_Core_Mod Makefile/Kconfig and div64.c
> >
> > This patch adds the remaining misc Makefile and Kconfig changes
> >
> > It also has wrappers for unsigned long division in div64c, that will be converted to
> > include/asm-generic/div64.h
> >
> > Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
> > diff --git a/drivers/target/div64.c b/drivers/target/div64.c
> > new file mode 100644
> > index 0000000..6d59864
> > --- /dev/null
> > +++ b/drivers/target/div64.c
> > @@ -0,0 +1,16 @@
> > +#include <asm/types.h>
> > +#include <asm/div64.h>
> > +
> > +#if BITS_PER_LONG == 32
> > +
> > +u64 __udivdi3(u64 a, u64 b)
> > +{
> > + do_div(a, b);
> > + return a;
> > +}
> > +
> > +u64 __umoddi3(u64 a, u64 b)
> > +{
> > + return do_div(a, b);
> > +}
> > +#endif
> > diff --git a/drivers/target/Makefile b/drivers/target/Makefile
>
> I like Kbuild better then Makefile. And so does the Kernel documentation.
> It says new code should use Kbuild
>
> > new file mode 100644
> > index 0000000..3e413b0
> > --- /dev/null
> > +++ b/drivers/target/Makefile
> > @@ -0,0 +1,96 @@
> > +CWD=$(shell pwd)
> > +
> > +PYX_ISCSI_VENDOR ?="Linux-iSCSI.org"
> > +
> > +# Transport Plugins and Devices.
> > + #
> > +LINUX_PARALLEL_SCSI ?= 1
> > +LINUX_STGT ?= 1
> > +LINUX_SCSI_MEDIA_ROM ?= 1
> > +LINUX_PARALLEL_ATA ?= 0
> > +LINUX_IBLOCK ?= 1
> > +LINUX_RAMDISK ?= 1
> > +LINUX_FILEIO ?= 1
> > +
> > +LINUX_VPD_PAGE_CHECK?=1
> > +LIO_TARGET_CONFIGFS?=1
> > +
> > +MODVER ?= 1
> > +USEGDB ?= 1
> > +DEBUG_DEV ?= 0
> > +SNMP_FEATURE ?= 1
> > +
>
> Now when in-Kernel don't you need to use Kconfig for all this "configuration".
>
> What's with the re-invent the wheel, here.
Ok, I will move all of these config items into Kbuild
>
> > +obj-$(CONFIG_TARGET_CORE) += target_core_mod.o
> > +target_core_mod-objs := target_core_configfs.o \
> > + target_core_device.o \
> > + target_core_hba.o \
> > + target_core_plugin.o \
> > + target_core_pr.o \
> > + target_core_alua.o \
> > + target_core_scdb.o \
> > + target_core_seobj.o \
> > + target_core_tmr.o \
> > + target_core_tpg.o \
> > + target_core_transport.o \
> > + target_core_ua.o \
> > + div64.o
> > +
> > +ifeq ($(LINUX_IBLOCK), 1)
> > +target_core_mod-objs += target_core_iblock.o
> > +EXTRA_CFLAGS += -DPYX_IBLOCK
> > +endif
> > +ifeq ($(LINUX_PARALLEL_SCSI), 1)
> > +target_core_mod-objs += target_core_pscsi.o
> > +EXTRA_CFLAGS += -DPARALLEL_SCSI
> > +endif
> > +ifeq ($(LINUX_STGT), 1)
> > +target_core_mod-objs += target_core_stgt.o
> > +EXTRA_CFLAGS += -DSTGT_PLUGIN
> > +endif
> > +ifeq ($(LINUX_RAMDISK), 1)
> > +target_core_mod-objs += target_core_rd.o
> > +EXTRA_CFLAGS += -DPYX_RAMDISK
> > +endif
> > +ifeq ($(LINUX_FILEIO), 1)
> > +target_core_mod-objs += target_core_file.o
> > +EXTRA_CFLAGS += -DPYX_FILEIO
> > +endif
> > +ifeq ($(SNMP_FEATURE), 1)
> > +target_core_mod-objs += target_core_mib.o
> > +EXTRA_CFLAGS += -DSNMP_SUPPORT
> > +endif
> > +ifeq ($(LINUX_VPD_PAGE_CHECK), 1)
> > +EXTRA_CFLAGS += -DLINUX_VPD_PAGE_CHECK
> > +endif
> > +ifeq ($(LINUX_SCSI_MEDIA_ROM), 1)
> > +EXTRA_CFLAGS += -DLINUX_SCSI_MEDIA_ROM
> > +endif
> > +ifeq ($(DEBUG_DEV), 1)
> > +EXTRA_CFLAGS += -DDEBUG_DEV
> > +endif
> > +
>
> You see what I mean. Try with Kconfig variables all this disappears.
Understood.
>
> > +
> > +EXTRA_CFLAGS+=-I$(CWD)/drivers/target/ -I$(CWD)/drivers/scsi/
> > +EXTRA_CFLAGS+=-D_TARGET -DLINUX -DLINUX_KERNEL_26 -DLINUX_SCSI_HOST_LOCK -DLINUX_USE_SIGHAND
>
> ?? are you sure
>
> > +EXTRA_CFLAGS+=-DLINUX_SCATTERLIST_HAS_PAGE -DPYX_ISCSI_VENDOR='"Linux-iSCSI.org"'
>
> And these are for ??
>
Ok, these are some legacy items that I missed, and can be safely
removed..
> <Makefile>
> > +
> > +all:
> > + $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(CWD) modules CWD=$(CWD) ARCH=$(ARCH) KBUILD_VERBOSE=0
> > +
> > +install ins:
> > + rm -f /lib/modules/`uname -r`/kernel/drivers/scsi/iscsi_target_mod.ko
> > + rm -f /lib/modules/`uname -r`/kernel/drivers/iscsi/iscsi_target_mod.ko
> > + mkdir -p /lib/modules/`uname -r`/kernel/drivers/iscsi
> > + cp -f iscsi_target_mod.ko /lib/modules/`uname -r`/kernel/drivers/iscsi
> > + cp -f target_core_mod.ko /lib/modules/`uname -r`/kernel/drivers/iscsi
> > + depmod -ae
> > +
> > +
> > +
> > +clean:
> > + rm -f $(foreach prog,$(target_core_mod-objs) $(obj-m),$(CWD)/$(prog)) $(CWD)/target_core_mod.mod.o
> > + rm -f target_core_mod.ko target_core_mod.mod.c
> > + rm -f .*.cmd ../common/.*.cmd .make_autoconfig *~
> > + rm -fr .tmp_versions
> > +
> </Makefile>
>
> OK this should go in a Makefile and kept out-of-tree
Ok, Got it
>
> > +
> > diff --git a/drivers/target/Kconfig b/drivers/target/Kconfig
> > new file mode 100644
> > index 0000000..04564f1
> > --- /dev/null
> > +++ b/drivers/target/Kconfig
> > @@ -0,0 +1,7 @@
> > +config TARGET_CORE
> > + tristate "Generic Target Core Engine and ConfigFS Infrastructure"
> > + select CONFIGFS_FS
> > + select SCSI_TGT
> > + default m
> > + ---help---
> > + Say Y here to enable the Storage Engine, Subsystem Plugins, and ConfigFS enabled control path for the Generic Target Engine.
> >
> >
>
> Lots of more configs missing here
>
Thanks for your comments Boaz!
--nab
> Cheers
> Boaz
^ permalink raw reply [flat|nested] 4+ messages in thread
* [RFC PATCH 19/19] Target_Core_Mod Makefile/Kconfig and div64.c
@ 2009-09-18 22:09 Nicholas A. Bellinger
0 siblings, 0 replies; 4+ messages in thread
From: Nicholas A. Bellinger @ 2009-09-18 22:09 UTC (permalink / raw)
To: LKML, linux-scsi
Cc: Andrew Morton, Greg KH, Douglas Gilbert, James Bottomley,
Hannes Reinecke, FUJITA Tomonori, Mike Christie, Joel Becker,
Martin K. Petersen, Christoph Hellwig, Linus Torvalds, Alan Stern,
Boaz Harrosh, Florian Haas, Philipp Reisner, Lars Ellenberg,
Daniel Walker
[RFC PATCH 19/19] Target_Core_Mod Makefile/Kconfig and div64.c
This patch adds the remaining Kbuild and Kconfig items for TCM
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
diff --git a/drivers/target/Kbuild b/drivers/target/Kbuild
new file mode 100644
index 0000000..4dd0f53
--- /dev/null
+++ b/drivers/target/Kbuild
@@ -0,0 +1,54 @@
+EXTRA_CFLAGS += -I$(srctree)/drivers/target/ -I$(srctree)/drivers/scsi/
+
+target_core_mod-y := target_core_configfs.o \
+ target_core_device.o \
+ target_core_hba.o \
+ target_core_plugin.o \
+ target_core_pr.o \
+ target_core_alua.o \
+ target_core_scdb.o \
+ target_core_seobj.o \
+ target_core_tmr.o \
+ target_core_tpg.o \
+ target_core_transport.o \
+ target_core_ua.o
+
+ifdef CONFIG_TCM_IBLOCK
+target_core_mod-y += target_core_iblock.o
+EXTRA_CFLAGS += -DPYX_IBLOCK
+endif
+
+ifdef CONFIG_TCM_PSCSI
+target_core_mod-y += target_core_pscsi.o
+EXTRA_CFLAGS += -DPARALLEL_SCSI
+endif
+
+ifdef CONFIG_TCM_STGT
+target_core_mod-y += target_core_stgt.o
+EXTRA_CFLAGS += -DSTGT_PLUGIN
+endif
+
+ifdef CONFIG_TCM_RAMDISK
+target_core_mod-y += target_core_rd.o
+EXTRA_CFLAGS += -DPYX_RAMDISK
+endif
+
+ifdef CONFIG_TCM_FILEIO
+target_core_mod-y += target_core_file.o
+EXTRA_CFLAGS += -DPYX_FILEIO
+endif
+
+ifdef CONFIG_TCM_SNMP
+target_core_mod-y += target_core_mib.o
+EXTRA_CFLAGS += -DSNMP_SUPPORT
+endif
+
+ifdef CONFIG_TCM_PSCSI_VPD_PAGE_CHECK
+EXTRA_CFLAGS += -DLINUX_VPD_PAGE_CHECK
+endif
+
+ifdef CONFIG_TCM_DEBUG_DEV
+EXTRA_CFLAGS += -DDEBUG_DEV
+endif
+
+obj-$(CONFIG_TARGET_CORE) += target_core_mod.o
diff --git a/drivers/target/Kconfig b/drivers/target/Kconfig
new file mode 100644
index 0000000..607036e
--- /dev/null
+++ b/drivers/target/Kconfig
@@ -0,0 +1,64 @@
+config TARGET_CORE
+ tristate "Generic Target Core Mod (TCM) and ConfigFS Infrastructure"
+ select CONFIGFS_FS
+ default m
+ ---help---
+ Say Y or M here to enable the TCM Storage Engine and ConfigFS enabled control path for target_core_mod
+
+config TCM_IBLOCK
+ tristate "TCM/IBLOCK Subsystem Plugin for Linux/BLOCK"
+ depends on TARGET_CORE
+ default y
+ ---help---
+ Say Y here to enable the TCM/IBLOCK subsystem plugin for non-buffered access to Linux/Block devices using BIO in TCM
+
+config TCM_PSCSI
+ tristate "TCM/pSCSI Subsystem Plugin for Linux/SCSI"
+ depends on TARGET_CORE
+ default y
+ ---help---
+ Say Y here to enable the TCM/pSCSI subsystem plugin for non-buffered passthrough access to Linux/SCSI devices in TCM
+
+config TCM_PSCSI_VPD_PAGE_CHECK
+ tristate "TCM/pSCSI EVPD Page Emulation for Linux/SCSI"
+ depends on TARGET_CORE && TCM_PSCSI
+ default y
+ ---help---
+ Say Y here to enable the TCM/pSCSI EVPD emulation that is required to register emulated SCSI LUNs on some non Linux OSes when using the Linux/SCSI passthrough for certain devices.
+
+config TCM_FILEIO
+ tristate "TCM/FILEIO Subsystem Plugin for Linux/VFS"
+ depends on TARGET_CORE
+ default y
+ ---help---
+ Say Y here to enable the TCM/FILEIO subsystem plugin for buffered access to Linux/VFS files or block devices in TCM
+
+config TCM_RAMDISK
+ tristate "TCM/RAMDISK Subsystem Plugin"
+ depends on TARGET_CORE
+ default y
+ ---help---
+ Say Y here to enable the TCM/RAMDISK subsystem plugins for internal struct page ramdisk device access for performance testing and debugging
+
+config TCM_STGT
+ tristate "TCM/STGT Subsystem Plugin"
+ depends on TARGET_CORE && EXPERIMENTAL
+ select SCSI_TGT
+ default y
+ ---help---
+ Say Y here to enable the WIP TCM/STGT subsystem plugin for accessing STGT device in TCM
+
+config TCM_SNMP
+ tristate "TCM SCSI MIBs"
+ depends on TARGET_CORE && PROC_FS
+ default y
+ ---help---
+ Say Y here to enable the SCSI MIBs via procfs for TCM
+
+config TCM_DEBUG_DEV
+ tristate "TCM Debug device code"
+ depends on TARGET_CORE
+ default n
+ ---help---
+ Say Y here to enable the TCM Debug device code
+
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-09-18 22:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-12 1:58 [RFC PATCH 19/19] Target_Core_Mod Makefile/Kconfig and div64.c Nicholas A. Bellinger
2009-09-13 9:51 ` Boaz Harrosh
2009-09-14 19:57 ` Nicholas A. Bellinger
-- strict thread matches above, loose matches on Subject: below --
2009-09-18 22:09 Nicholas A. Bellinger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox