Author: imp
Date: Thu Jun 14 01:15:19 2018
New Revision: 335101
URL: https://svnweb.freebsd.org/changeset/base/335101

Log:
  NVME support is only for x86 and powerpc64.
  
  Implement MK_NVME now that the expression for where NVMe is
  complicated. Default it to "yes" for x86 and powerpc64 and
  no everywhere else. Use it in camcontrol to define WITH_NVME
  for those platforms where we support nvme.
  
  This should fix the newly introduced nvme files to camcontrol
  which were building everywhere.
  
  Pointy Hat To: imp
  Sponsored by: Netflix

Modified:
  head/sbin/Makefile
  head/sbin/Makefile.amd64
  head/sbin/Makefile.i386
  head/sbin/Makefile.powerpc64
  head/sbin/camcontrol/Makefile
  head/sbin/camcontrol/camcontrol.c
  head/share/mk/src.opts.mk

Modified: head/sbin/Makefile
==============================================================================
--- head/sbin/Makefile  Thu Jun 14 00:20:55 2018        (r335100)
+++ head/sbin/Makefile  Thu Jun 14 01:15:19 2018        (r335101)
@@ -82,6 +82,7 @@ SUBDIR.${MK_IPFW}+=   natd
 SUBDIR.${MK_ISCSI}+=   iscontrol
 SUBDIR.${MK_NAND}+=    nandfs
 SUBDIR.${MK_NAND}+=    newfs_nandfs
+SUBDIR.${MK_NVME}+=    nvmecontrol
 SUBDIR.${MK_OPENSSL}+= decryptcore
 SUBDIR.${MK_PF}+=      pfctl
 SUBDIR.${MK_PF}+=      pflogd

Modified: head/sbin/Makefile.amd64
==============================================================================
--- head/sbin/Makefile.amd64    Thu Jun 14 00:20:55 2018        (r335100)
+++ head/sbin/Makefile.amd64    Thu Jun 14 01:15:19 2018        (r335101)
@@ -2,4 +2,3 @@
 
 SUBDIR += bsdlabel
 SUBDIR += fdisk
-SUBDIR += nvmecontrol

Modified: head/sbin/Makefile.i386
==============================================================================
--- head/sbin/Makefile.i386     Thu Jun 14 00:20:55 2018        (r335100)
+++ head/sbin/Makefile.i386     Thu Jun 14 01:15:19 2018        (r335101)
@@ -2,5 +2,4 @@
 
 SUBDIR += bsdlabel
 SUBDIR += fdisk
-SUBDIR += nvmecontrol
 SUBDIR += sconfig

Modified: head/sbin/Makefile.powerpc64
==============================================================================
--- head/sbin/Makefile.powerpc64        Thu Jun 14 00:20:55 2018        
(r335100)
+++ head/sbin/Makefile.powerpc64        Thu Jun 14 01:15:19 2018        
(r335101)
@@ -2,4 +2,3 @@
 
 SUBDIR += bsdlabel
 SUBDIR += fdisk
-SUBDIR += nvmecontrol

Modified: head/sbin/camcontrol/Makefile
==============================================================================
--- head/sbin/camcontrol/Makefile       Thu Jun 14 00:20:55 2018        
(r335100)
+++ head/sbin/camcontrol/Makefile       Thu Jun 14 01:15:19 2018        
(r335101)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <src.opts.mk>
+
 PACKAGE=runtime
 PROG=  camcontrol
 SRCS=  camcontrol.c util.c
@@ -8,11 +10,13 @@ SRCS+=       attrib.c epc.c fwdownload.c modeedit.c persist.
 .else
 CFLAGS+= -DMINIMALISTIC
 .endif
+.if ${MK_NVME} != "no"
 .PATH: ${SRCTOP}/sbin/nvmecontrol
-CFLAGS+= -I${SRCTOP}/sbin/nvmecontrol
+CFLAGS+= -I${SRCTOP}/sbin/nvmecontrol -DWITH_NVME
 SRCS+= identify_ext.c nc_util.c
 .PATH: ${SRCTOP}/sys/dev/nvme
 SRCS+= nvme_util.c
+.endif
 # This is verboten
 .if ${MACHINE_CPUARCH} == "arm"
 WARNS?= 3

Modified: head/sbin/camcontrol/camcontrol.c
==============================================================================
--- head/sbin/camcontrol/camcontrol.c   Thu Jun 14 00:20:55 2018        
(r335100)
+++ head/sbin/camcontrol/camcontrol.c   Thu Jun 14 01:15:19 2018        
(r335101)
@@ -63,7 +63,9 @@ __FBSDID("$FreeBSD$");
 #include <cam/mmc/mmc_all.h>
 #include <camlib.h>
 #include "camcontrol.h"
+#ifdef WITH_NVME
 #include "nvmecontrol_ext.h"
+#endif
 
 typedef enum {
        CAM_CMD_NONE            = 0x00000000,
@@ -281,7 +283,9 @@ static int print_dev_ata(struct device_match_result *d
 static int print_dev_semb(struct device_match_result *dev_result, char 
*tmpstr);
 static int print_dev_mmcsd(struct device_match_result *dev_result,
     char *tmpstr);
+#ifdef WITH_NVME
 static int print_dev_nvme(struct device_match_result *dev_result, char 
*tmpstr);
+#endif
 #ifndef MINIMALISTIC
 static int testunitready(struct cam_device *device, int task_attr,
                         int retry_count, int timeout, int quiet);
@@ -602,12 +606,14 @@ getdevtree(int argc, char **argv, char *combinedopt)
                                                skip_device = 1;
                                                break;
                                        }
+#ifdef WITH_NVME
                                } else if (dev_result->protocol == PROTO_NVME) {
                                        if (print_dev_nvme(dev_result,
                                            &tmpstr[0]) != 0) {
                                                skip_device = 1;
                                                break;
                                        }
+#endif
                                } else {
                                    sprintf(tmpstr, "<>");
                                }
@@ -763,6 +769,7 @@ print_dev_mmcsd(struct device_match_result *dev_result
        return (0);
 }
 
+#ifdef WITH_NVME
 static int
 nvme_get_cdata(struct cam_device *dev, struct nvme_controller_data *cdata)
 {
@@ -824,6 +831,7 @@ print_dev_nvme(struct device_match_result *dev_result,
        cam_close_device(dev);
        return (0);
 }
+#endif
 
 #ifndef MINIMALISTIC
 static int
@@ -2402,6 +2410,7 @@ ataidentify(struct cam_device *device, int retry_count
        return (0);
 }
 
+#ifdef WITH_NVME
 static int
 nvmeidentify(struct cam_device *device, int retry_count __unused, int timeout 
__unused)
 {
@@ -2413,10 +2422,12 @@ nvmeidentify(struct cam_device *device, int retry_coun
 
        return (0);
 }
+#endif
 
 static int
 identify(struct cam_device *device, int retry_count, int timeout)
 {
+#ifdef WITH_NVME
        struct ccb_pathinq cpi;
 
        if (get_cpi(device, &cpi) != 0) {
@@ -2427,6 +2438,7 @@ identify(struct cam_device *device, int retry_count, i
        if (cpi.protocol == PROTO_NVME) {
                return (nvmeidentify(device, retry_count, timeout));
        }
+#endif
        return (ataidentify(device, retry_count, timeout));
 }
 #endif /* MINIMALISTIC */
@@ -5206,6 +5218,7 @@ cts_print(struct cam_device *device, struct ccb_trans_
                                "enabled" : "disabled");
                }
        }
+#ifdef WITH_NVME
        if (cts->protocol == PROTO_NVME) {
                struct ccb_trans_settings_nvme *nvmex =
                    &cts->xport_specific.nvme;
@@ -5222,6 +5235,7 @@ cts_print(struct cam_device *device, struct ccb_trans_
                            nvmex->speed, nvmex->max_speed);
                }
        }
+#endif
 }
 
 /*

Modified: head/share/mk/src.opts.mk
==============================================================================
--- head/share/mk/src.opts.mk   Thu Jun 14 00:20:55 2018        (r335100)
+++ head/share/mk/src.opts.mk   Thu Jun 14 01:15:19 2018        (r335101)
@@ -322,6 +322,13 @@ __DEFAULT_NO_OPTIONS+=CXGBETOOL
 __DEFAULT_NO_OPTIONS+=MLX5TOOL
 .endif
 
+# NVME is only x86 and powerpc64
+.if ${__T} == "amd64" || ${__T} == "i386" || ${__T} == "powerpc64"
+__DEFAULT_YES_OPTIONS+=NVME
+.else
+__DEFAULT_NO_OPTIONS+=NVME
+.endif
+
 .include <bsd.mkopt.mk>
 
 #
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to