Module Name: src
Committed By: mlelstv
Date: Wed Apr 24 23:39:23 UTC 2019
Modified Files:
src/sys/dev/ic: nvme.c nvmevar.h
Log Message:
Expose device type. You can query it with e.g. drvctl -p ld0 disk-info/type.
To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 src/sys/dev/ic/nvme.c
cvs rdiff -u -r1.18 -r1.19 src/sys/dev/ic/nvmevar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/ic/nvme.c
diff -u src/sys/dev/ic/nvme.c:1.41 src/sys/dev/ic/nvme.c:1.42
--- src/sys/dev/ic/nvme.c:1.41 Sat Dec 1 15:07:58 2018
+++ src/sys/dev/ic/nvme.c Wed Apr 24 23:39:23 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: nvme.c,v 1.41 2018/12/01 15:07:58 jdolecek Exp $ */
+/* $NetBSD: nvme.c,v 1.42 2019/04/24 23:39:23 mlelstv Exp $ */
/* $OpenBSD: nvme.c,v 1.49 2016/04/18 05:59:50 dlg Exp $ */
/*
@@ -18,7 +18,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nvme.c,v 1.41 2018/12/01 15:07:58 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nvme.c,v 1.42 2019/04/24 23:39:23 mlelstv Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -479,6 +479,7 @@ nvme_rescan(device_t self, const char *a
naa.naa_nsid = i + 1;
naa.naa_qentries = (ioq_entries - 1) * sc->sc_nq;
naa.naa_maxphys = sc->sc_mdts;
+ naa.naa_typename = sc->sc_modelname;
sc->sc_namespaces[i].dev = config_found(sc->sc_dev, &naa,
nvme_print);
}
@@ -1449,6 +1450,8 @@ nvme_identify(struct nvme_softc *sc, u_i
aprint_normal_dev(sc->sc_dev, "%s, firmware %s, serial %s\n", mn, fr,
sn);
+ strlcpy(sc->sc_modelname, mn, sizeof(sc->sc_modelname));
+
if (sc->sc_identify.mdts > 0) {
mdts = (1 << sc->sc_identify.mdts) * (1 << mps);
if (mdts < sc->sc_mdts)
Index: src/sys/dev/ic/nvmevar.h
diff -u src/sys/dev/ic/nvmevar.h:1.18 src/sys/dev/ic/nvmevar.h:1.19
--- src/sys/dev/ic/nvmevar.h:1.18 Sat Dec 1 15:07:58 2018
+++ src/sys/dev/ic/nvmevar.h Wed Apr 24 23:39:23 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: nvmevar.h,v 1.18 2018/12/01 15:07:58 jdolecek Exp $ */
+/* $NetBSD: nvmevar.h,v 1.19 2019/04/24 23:39:23 mlelstv Exp $ */
/* $OpenBSD: nvmevar.h,v 1.8 2016/04/14 11:18:32 dlg Exp $ */
/*
@@ -139,6 +139,8 @@ struct nvme_softc {
uint32_t sc_quirks;
#define NVME_QUIRK_DELAY_B4_CHK_RDY __BIT(0)
+
+ char sc_modelname[81];
};
#define lemtoh16(p) le16toh(*((uint16_t *)(p)))
@@ -152,6 +154,7 @@ struct nvme_attach_args {
uint16_t naa_nsid;
uint32_t naa_qentries; /* total number of queue slots */
uint32_t naa_maxphys; /* maximum device transfer size */
+ const char *naa_typename; /* identifier */
};
int nvme_attach(struct nvme_softc *);