summaryrefslogtreecommitdiff
path: root/emulators/vmware3/files/cdevsw.patch
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/vmware3/files/cdevsw.patch')
-rw-r--r--emulators/vmware3/files/cdevsw.patch130
1 files changed, 130 insertions, 0 deletions
diff --git a/emulators/vmware3/files/cdevsw.patch b/emulators/vmware3/files/cdevsw.patch
new file mode 100644
index 000000000000..e8f15423009a
--- /dev/null
+++ b/emulators/vmware3/files/cdevsw.patch
@@ -0,0 +1,130 @@
+--- vmmon-only/freebsd/driver.c_original Wed Mar 5 19:22:35 2003
++++ vmmon-only/freebsd/driver.c Wed Mar 5 19:22:44 2003
+@@ -155,6 +155,14 @@
+
+ /* static struct cdevsw vmmon_cdevsw = { */
+ static struct cdevsw vmmon_cdevsw = {
++#if __FreeBSD_version >= 500104
++ .d_open = FreeBSD_Driver_Open,
++ .d_close = FreeBSD_Driver_Close,
++ .d_ioctl = FreeBSD_Driver_Ioctl,
++ .d_poll = FreeBSD_Driver_Poll,
++ .d_name = DEVICE_NAME,
++ .d_maj = CDEV_MAJOR
++#else
+ /* open */ FreeBSD_Driver_Open,
+ /* close */ FreeBSD_Driver_Close,
+ /* read */ noread,
+@@ -169,8 +177,7 @@
+ /* psize */ nopsize,
+ /* flags */ 0,
+ /* bmaj */ -1
+-
+-
++#endif
+ };
+
+
+@@ -242,7 +249,11 @@
+ sprintf(freebsdState.deviceBuf,DEVICE_NAME);
+ freebsdState.major = CDEV_MAJOR;
+ freebsdState.minor = CDEV_MINOR;
++#if __FreeBSD_version < 500104
+ retval = cdevsw_add(&vmmon_cdevsw);
++#else
++ retval = 0;
++#endif
+
+ #endif
+ if (retval) {
+@@ -273,12 +284,14 @@
+ int retval=0;
+
+ destroy_dev(vmmon_dev);
++#if __FreeBSD_version < 500104
+ retval = cdevsw_remove(&vmmon_cdevsw);
+ if (retval) {
+ Warning("Module %s: error unregistering\n", freebsdState.deviceBuf);
+ } else {
+ Log("Module %s: unloaded\n", freebsdState.deviceBuf);
+ }
++#endif
+
+ return 0;
+ }
+--- vmnet-only/freebsd/vmnet.c_original Wed Mar 5 19:21:51 2003
++++ vmnet-only/freebsd/vmnet.c Wed Mar 5 19:22:00 2003
+@@ -103,6 +103,16 @@
+ static int vmnet_modeevent(module_t mod, int cmd, void *arg);
+
+ static struct cdevsw vmnet_cdevsw = {
++#if __FreeBSD_version >= 500104
++ .d_open = vmnet_open,
++ .d_close = vmnet_close,
++ .d_read = vmnet_read,
++ .d_write = vmnet_write,
++ .d_ioctl = vmnet_ioctl,
++ .d_poll = vmnet_poll,
++ .d_name = DEVICE_NAME,
++ .d_maj = CDEV_MAJOR
++#else
+ /* open */ vmnet_open,
+ /* close */ vmnet_close,
+ /* read */ vmnet_read,
+@@ -115,10 +125,11 @@
+ /* maj */ CDEV_MAJOR,
+ /* dump */ nodump,
+ /* psize */ nopsize,
+- /* flags */ 0,
+- /* bmaj */ -1
++ /* flags */ 0, -/* bmaj */ -1
++#endif
+ };
+
++
+ /*
+ * Now declare the module to the system.
+ * IMPORTANT: Must be before netgraph node declaration.
+@@ -164,7 +175,7 @@
+
+ s = splimp();
+ if_attach(ifp);
+- ether_ifattach(ifp, ETHER_BPF_SUPPORTED);
++ ether_ifattach(ifp);
+ bpfattach(ifp, DLT_EN10MB, sizeof(struct ether_header));
+ splx(s);
+
+@@ -604,11 +615,13 @@
+ static int
+ init_module(void)
+ {
+-int error;
++ int error = 0;
+
++#if __FreeBSD_version < 500104
+ error = cdevsw_add(&vmnet_cdevsw);
+ if (error)
+ return error;
++#endif
+
+ return error;
+ }
+@@ -618,7 +631,7 @@
+ static int
+ cleanup_module(void)
+ {
+- int error;
++ int error = 0;
+ struct vmnet_softc *sc;
+
+ DLog(Lenter, "");
+@@ -629,7 +642,9 @@
+ return error;
+ }
+ }
++#if __FreeBSD_version < 500104
+ error = cdevsw_remove(&vmnet_cdevsw);
++#endif
+ DLog(Linfo, "return %d", error);
+ return error;
+ }