svn commit: r335101 - in head: sbin sbin/camcontrol share/mk
Warner Losh
imp at FreeBSD.org
Thu Jun 14 01:15:22 UTC 2018
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>
#
More information about the svn-src-head
mailing list