summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/dev/nvme/nvme.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-09-18 13:39:58 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-11-13 13:03:55 +0100
commitab4be9ec77c51939d94ff241b9746be38290a146 (patch)
tree6acbe351add59b91035366617324d8c6a86ce502 /freebsd/sys/dev/nvme/nvme.h
parentNVME(4): Add SGL descriptor (diff)
downloadrtems-libbsd-ab4be9ec77c51939d94ff241b9746be38290a146.tar.bz2
NVME(4): Add support for SGL
Update #3821.
Diffstat (limited to 'freebsd/sys/dev/nvme/nvme.h')
-rw-r--r--freebsd/sys/dev/nvme/nvme.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/freebsd/sys/dev/nvme/nvme.h b/freebsd/sys/dev/nvme/nvme.h
index 27259dc2..0a772fa4 100644
--- a/freebsd/sys/dev/nvme/nvme.h
+++ b/freebsd/sys/dev/nvme/nvme.h
@@ -37,6 +37,9 @@
#include <sys/param.h>
#include <sys/endian.h>
+#ifdef __rtems__
+#include <sys/_iovec.h>
+#endif /* __rtems__ */
#define NVME_PASSTHROUGH_CMD _IOWR('n', 0, struct nvme_pt_command)
#define NVME_RESET_CONTROLLER _IO('n', 1)
@@ -1607,11 +1610,23 @@ int nvme_ns_cmd_write(struct nvme_namespace *ns, void *payload,
void *cb_arg);
int nvme_ns_cmd_write_bio(struct nvme_namespace *ns, struct bio *bp,
nvme_cb_fn_t cb_fn, void *cb_arg);
+#ifdef __rtems__
+int nvme_ns_cmd_write_iov(struct nvme_namespace *ns,
+ const struct iovec *iov, uint64_t lba,
+ uint32_t lba_count, nvme_cb_fn_t cb_fn,
+ void *cb_arg);
+#endif /* __rtems__ */
int nvme_ns_cmd_read(struct nvme_namespace *ns, void *payload,
uint64_t lba, uint32_t lba_count, nvme_cb_fn_t cb_fn,
void *cb_arg);
int nvme_ns_cmd_read_bio(struct nvme_namespace *ns, struct bio *bp,
nvme_cb_fn_t cb_fn, void *cb_arg);
+#ifdef __rtems__
+int nvme_ns_cmd_read_iov(struct nvme_namespace *ns,
+ const struct iovec *iov, uint64_t lba,
+ uint32_t lba_count, nvme_cb_fn_t cb_fn,
+ void *cb_arg);
+#endif /* __rtems__ */
int nvme_ns_cmd_deallocate(struct nvme_namespace *ns, void *payload,
uint8_t num_ranges, nvme_cb_fn_t cb_fn,
void *cb_arg);