1*41073Swilliam /*- 2*41073Swilliam * Copyright (c) 1990 The Regents of the University of California. 3*41073Swilliam * All rights reserved. 4*41073Swilliam * 5*41073Swilliam * This code is derived from software contributed to Berkeley by 6*41073Swilliam * William Jolitz. 7*41073Swilliam * 8*41073Swilliam * %sccs.include.noredist.c% 9*41073Swilliam * 10*41073Swilliam * @(#)confxx.c 7.1 (Berkeley) 04/24/90 11*41073Swilliam */ 12*41073Swilliam 13*41073Swilliam #include "../machine/pte.h" 14*41073Swilliam 15*41073Swilliam #include "../h/param.h" 16*41073Swilliam #include "../h/inode.h" 17*41073Swilliam #include "../h/fs.h" 18*41073Swilliam #include "saio.h" 19*41073Swilliam 20*41073Swilliam devread(io) 21*41073Swilliam register struct iob *io; 22*41073Swilliam { 23*41073Swilliam int cc; 24*41073Swilliam 25*41073Swilliam io->i_flgs |= F_RDDATA; 26*41073Swilliam io->i_error = 0; 27*41073Swilliam cc = (*devsw[0].dv_strategy)(io, READ); 28*41073Swilliam io->i_flgs &= ~F_TYPEMASK; 29*41073Swilliam return (cc); 30*41073Swilliam } 31*41073Swilliam 32*41073Swilliam devwrite(io) 33*41073Swilliam register struct iob *io; 34*41073Swilliam { 35*41073Swilliam int cc; 36*41073Swilliam 37*41073Swilliam io->i_flgs |= F_WRDATA; 38*41073Swilliam io->i_error = 0; 39*41073Swilliam cc = (*devsw[0].dv_strategy)(io, WRITE); 40*41073Swilliam io->i_flgs &= ~F_TYPEMASK; 41*41073Swilliam return (cc); 42*41073Swilliam } 43*41073Swilliam 44*41073Swilliam devopen(io) 45*41073Swilliam register struct iob *io; 46*41073Swilliam { 47*41073Swilliam 48*41073Swilliam (*devsw[0].dv_open)(io); 49*41073Swilliam } 50*41073Swilliam 51*41073Swilliam devclose(io) 52*41073Swilliam register struct iob *io; 53*41073Swilliam { 54*41073Swilliam 55*41073Swilliam (*devsw[0].dv_close)(io); 56*41073Swilliam } 57*41073Swilliam 58*41073Swilliam devioctl(io, cmd, arg) 59*41073Swilliam register struct iob *io; 60*41073Swilliam int cmd; 61*41073Swilliam caddr_t arg; 62*41073Swilliam { 63*41073Swilliam 64*41073Swilliam return ((*devsw[0].dv_ioctl)(io, cmd, arg)); 65*41073Swilliam } 66*41073Swilliam 67*41073Swilliam /*ARGSUSED*/ 68*41073Swilliam nullsys(io) 69*41073Swilliam struct iob *io; 70*41073Swilliam { 71*41073Swilliam 72*41073Swilliam ; 73*41073Swilliam } 74*41073Swilliam 75*41073Swilliam /*ARGSUSED*/ 76*41073Swilliam nullioctl(io, cmd, arg) 77*41073Swilliam struct iob *io; 78*41073Swilliam int cmd; 79*41073Swilliam caddr_t arg; 80*41073Swilliam { 81*41073Swilliam 82*41073Swilliam return (ECMD); 83*41073Swilliam } 84*41073Swilliam 85*41073Swilliam int nullsys(), nullioctl(); 86*41073Swilliam int xxstrategy(), xxopen()/*, xxioctl()*/; 87*41073Swilliam 88*41073Swilliam struct devsw devsw[] = { 89*41073Swilliam { "XX", xxstrategy, xxopen, nullsys, /*xxioctl*/ }, 90*41073Swilliam { 0, 0, 0, 0, 0 } 91*41073Swilliam }; 92*41073Swilliam #ifdef TP 93*41073Swilliam char bootprog[] = "XX0b:" ; 94*41073Swilliam #else 95*41073Swilliam char bootprog[] = "XX0a:/boot" ; 96*41073Swilliam #endif 97*41073Swilliam int ndevs = 1 ; 98