summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/vax/vax/conf.c38
1 files changed, 31 insertions, 7 deletions
diff --git a/sys/arch/vax/vax/conf.c b/sys/arch/vax/vax/conf.c
index c572772a86b..41f34fa1d2c 100644
--- a/sys/arch/vax/vax/conf.c
+++ b/sys/arch/vax/vax/conf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: conf.c,v 1.11 1997/01/17 08:44:25 maja Exp $ */
+/* $OpenBSD: conf.c,v 1.12 1997/05/28 23:17:59 niklas Exp $ */
/* $NetBSD: conf.c,v 1.27 1997/01/07 11:35:20 mrg Exp $ */
/*-
@@ -183,17 +183,17 @@ struct consdev constab[]={
/* Special for console storage */
#define dev_type_rw(n) int n __P((dev_t, int, int, struct proc *))
-/* plotters - open, close, write, ioctl, poll */
+/* plotters - open, close, write, ioctl, select */
#define cdev_plotter_init(c,n) { \
dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \
dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \
- 0, dev_init(c,n,poll), (dev_type_mmap((*))) enodev }
+ 0, dev_init(c,n,select), (dev_type_mmap((*))) enodev }
/* console mass storage - open, close, read/write */
#define cdev_cnstore_init(c,n) { \
dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \
dev_init(c,n,write), (dev_type_ioctl((*))) enodev, \
- (dev_type_stop((*))) enodev, 0, (dev_type_poll((*))) enodev, \
+ (dev_type_stop((*))) enodev, 0, (dev_type_select((*))) enodev, \
(dev_type_mmap((*))) enodev }
#define cdev_lp_init(c,n) { \
@@ -205,13 +205,13 @@ struct consdev constab[]={
#define cdev_graph_init(c,n) { \
dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \
dev_init(c,n,write), dev_init(c,n,ioctl), dev_init(c,n,stop), \
- 0, dev_init(c,n,poll), (dev_type_mmap((*))) enodev }
+ 0, dev_init(c,n,select), (dev_type_mmap((*))) enodev }
/* Ingres */
#define cdev_ingres_init(c,n) { \
dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) nullop, \
(dev_type_write((*))) nullop, dev_init(c,n,ioctl), \
- (dev_type_stop((*))) nullop, 0, (dev_type_poll((*))) nullop, \
+ (dev_type_stop((*))) nullop, 0, (dev_type_select((*))) nullop, \
(dev_type_mmap((*))) enodev }
@@ -279,6 +279,7 @@ cdev_decl(crl);
#define crxwrite crxrw
cdev_decl(crx);
+#ifdef notyet
#if VAX780
#define NCFL 1
#else
@@ -287,6 +288,7 @@ cdev_decl(crx);
#define cflread cflrw
#define cflwrite cflrw
cdev_decl(cfl);
+#endif
#include "dz.h"
cdev_decl(dz);
@@ -371,7 +373,11 @@ struct cdevsw cdevsw[] =
cdev_notdef(), /* 5 */
cdev_plotter_init(NVP,vp), /* 6: Versatec plotter */
cdev_swap_init(1,sw), /* 7 */
+#ifdef notyet
cdev_cnstore_init(NCFL,cfl), /* 8: 11/780 console floppy */
+#else
+ cdev_notdef(), /* 8 */
+#endif
cdev_disk_init(NRA,ra), /* 9: MSCP disk interface */
cdev_plotter_init(NVA,va), /* 10: Benson-Varian plotter */
cdev_disk_init(NRK,rk), /* 11: RK06/07 */
@@ -405,7 +411,7 @@ struct cdevsw cdevsw[] =
cdev_audio_init(NNP,np), /* 39: NP Intelligent Board */
cdev_graph_init(NQV,qv), /* 40: QVSS graphic display */
cdev_graph_init(NQD,qd), /* 41: QDSS graphic display */
- cdev_gen_init(NIPF,ipl), /* 42: ip filtering */
+ cdev_gen_ipf(NIPF,ipl), /* 42: ip filtering */
cdev_ingres_init(NII,ii), /* 43: Ingres device */
cdev_notdef(), /* 44 was Datakit */
cdev_notdef(), /* 45 was Datakit */
@@ -546,3 +552,21 @@ iszerodev(dev)
return (major(dev) == 3 && minor(dev) == 12);
}
+
+/*
+ * Convert a character device number to a block device number.
+ */
+dev_t
+blktochr(dev)
+ dev_t dev;
+{
+ int blkmaj = major(dev);
+ int i;
+
+ if (blkmaj >= nblkdev)
+ return (NODEV);
+ for (i = 0; i < sizeof(chrtoblktbl)/sizeof(chrtoblktbl[0]); i++)
+ if (blkmaj == chrtoblktbl[i])
+ return (makedev(i, minor(dev)));
+ return (NODEV);
+}