[rtems-libbsd commit] NVME(4): Add NVME_GET_NAMESPACE IO control

Sebastian Huber sebh at rtems.org
Wed Nov 13 12:07:44 UTC 2019


Module:    rtems-libbsd
Branch:    master
Commit:    7cfd4a5edb73f0cd1bf8476d38e176ec07f4479a
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=7cfd4a5edb73f0cd1bf8476d38e176ec07f4479a

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri Sep 20 14:00:43 2019 +0200

NVME(4): Add NVME_GET_NAMESPACE IO control

Update #3821.

---

 freebsd/sys/dev/nvme/nvme.h    | 3 +++
 freebsd/sys/dev/nvme/nvme_ns.c | 5 +++++
 2 files changed, 8 insertions(+)

diff --git a/freebsd/sys/dev/nvme/nvme.h b/freebsd/sys/dev/nvme/nvme.h
index 0a772fa..16b9aa5 100644
--- a/freebsd/sys/dev/nvme/nvme.h
+++ b/freebsd/sys/dev/nvme/nvme.h
@@ -44,6 +44,9 @@
 #define	NVME_PASSTHROUGH_CMD		_IOWR('n', 0, struct nvme_pt_command)
 #define	NVME_RESET_CONTROLLER		_IO('n', 1)
 #define	NVME_GET_NSID			_IOR('n', 2, struct nvme_get_nsid)
+#ifdef __rtems__
+#define	NVME_GET_NAMESPACE		_IOR('n', 10, struct nvme_namespace *)
+#endif /* __rtems__ */
 
 #define	NVME_IO_TEST			_IOWR('n', 100, struct nvme_io_test)
 #define	NVME_BIO_TEST			_IOWR('n', 101, struct nvme_io_test)
diff --git a/freebsd/sys/dev/nvme/nvme_ns.c b/freebsd/sys/dev/nvme/nvme_ns.c
index d23061d..01b84ec 100644
--- a/freebsd/sys/dev/nvme/nvme_ns.c
+++ b/freebsd/sys/dev/nvme/nvme_ns.c
@@ -96,6 +96,11 @@ nvme_ns_ioctl(struct cdev *cdev, u_long cmd, caddr_t arg, int flag,
 		gnsid->nsid = ns->id;
 		break;
 	}
+#ifdef __rtems__
+	case NVME_GET_NAMESPACE:
+		*(struct nvme_namespace **)arg = ns;
+		break;
+#endif /* __rtems__ */
 	case DIOCGMEDIASIZE:
 		*(off_t *)arg = (off_t)nvme_ns_get_size(ns);
 		break;



More information about the vc mailing list