Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F142086291
D51388.id166476.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D51388.id166476.diff
View Options
diff --git a/sys/dev/nvd/nvd.c b/sys/dev/nvd/nvd.c
--- a/sys/dev/nvd/nvd.c
+++ b/sys/dev/nvd/nvd.c
@@ -29,6 +29,7 @@
#include <sys/param.h>
#include <sys/bio.h>
+#include <sys/bus.h>
#include <sys/devicestat.h>
#include <sys/kernel.h>
#include <sys/malloc.h>
@@ -47,6 +48,8 @@
#include <dev/pci/pcivar.h>
+#include "nvme_if.h"
+
#define NVD_STR "nvd"
struct nvd_disk;
@@ -538,11 +541,55 @@
return (nvdc_fail(dev));
}
+static int
+nvdc_ns_added(device_t dev, struct nvme_namespace *ns)
+{
+ struct nvd_controller *sc = device_get_softc(dev);
+
+ nvd_new_disk(ns, sc);
+ return (0);
+}
+
+static int
+nvdc_ns_removed(device_t dev, struct nvme_namespace *ns)
+{
+ // XXX NOT YET
+ return ENXIO;
+}
+
+static int
+nvdc_ns_changed(device_t dev, struct nvme_namespace *ns)
+{
+ // XXX NOT YET
+ return ENXIO;
+}
+
+static int
+nvdc_controller_failed(device_t dev)
+{
+ // XXX NOT YET
+ return ENXIO;
+}
+
+static int
+nvdc_handle_aen(device_t dev, const struct nvme_completion *cpl,
+ uint32_t pg_nr, void *page, uint32_t page_len)
+{
+ /* Do nothing */
+ return (0);
+}
+
static device_method_t nvdc_methods[] = {
/* Device interface */
- DEVMETHOD(device_probe, nvdc_probe),
- DEVMETHOD(device_attach, nvdc_attach),
- DEVMETHOD(device_detach, nvdc_detach),
+ DEVMETHOD(device_probe, nvdc_probe),
+ DEVMETHOD(device_attach, nvdc_attach),
+ DEVMETHOD(device_detach, nvdc_detach),
+ /* Nvme controller messages */
+ DEVMETHOD(nvme_ns_added, nvdc_ns_added),
+ DEVMETHOD(nvme_ns_removed, nvdc_ns_removed),
+ DEVMETHOD(nvme_ns_changed, nvdc_ns_changed),
+ DEVMETHOD(nvme_controller_failed, nvdc_controller_failed),
+ DEVMETHOD(nvme_handle_aen, nvdc_handle_aen),
{ 0, 0 }
};
diff --git a/sys/modules/nvd/Makefile b/sys/modules/nvd/Makefile
--- a/sys/modules/nvd/Makefile
+++ b/sys/modules/nvd/Makefile
@@ -1,6 +1,6 @@
.PATH: ${SRCTOP}/sys/dev/nvd
KMOD= nvd
-SRCS= nvd.c opt_geom.h device_if.h bus_if.h pci_if.h
+SRCS= nvd.c opt_geom.h device_if.h bus_if.h nvmec_if.h pci_if.h
.include <bsd.kmod.mk>
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Jan 16, 10:14 PM (15 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27671204
Default Alt Text
D51388.id166476.diff (1 KB)
Attached To
Mode
D51388: nvd: Connect nvme_if methods
Attached
Detach File
Event Timeline
Log In to Comment