fdc.c (d3628763db3974826e46a036aa54333147fbe238) | fdc.c (8af5d536ffbd13a97c1332dc307ebf3a8a64c6f4) |
---|---|
1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Don Ahn. 7 * 8 * Copyright (c) 1993, 1994 by --- 29 unchanged lines hidden (view full) --- 38 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 39 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 40 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 41 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 42 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 43 * SUCH DAMAGE. 44 * 45 * from: @(#)fd.c 7.4 (Berkeley) 5/25/91 | 1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Don Ahn. 7 * 8 * Copyright (c) 1993, 1994 by --- 29 unchanged lines hidden (view full) --- 38 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 39 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 40 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 41 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 42 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 43 * SUCH DAMAGE. 44 * 45 * from: @(#)fd.c 7.4 (Berkeley) 5/25/91 |
46 * $Id: fd.c,v 1.61.2.1 1995/06/08 10:26:23 davidg Exp $ | 46 * $Id: fd.c,v 1.62 1995/06/11 19:31:19 rgrimes Exp $ |
47 * 48 */ 49 50#include "ft.h" 51#if NFT < 1 52#undef NFDC 53#endif 54#include "fd.h" --- 22 unchanged lines hidden (view full) --- 77#include <i386/isa/fdreg.h> 78#include <i386/isa/fdc.h> 79#include <i386/isa/rtc.h> 80#include <machine/stdarg.h> 81#if NFT > 0 82#include <sys/ftape.h> 83#include <i386/isa/ftreg.h> 84#endif | 47 * 48 */ 49 50#include "ft.h" 51#if NFT < 1 52#undef NFDC 53#endif 54#include "fd.h" --- 22 unchanged lines hidden (view full) --- 77#include <i386/isa/fdreg.h> 78#include <i386/isa/fdc.h> 79#include <i386/isa/rtc.h> 80#include <machine/stdarg.h> 81#if NFT > 0 82#include <sys/ftape.h> 83#include <i386/isa/ftreg.h> 84#endif |
85#ifdef DEVFS 86#include <sys/devfsext.h> 87#endif |
|
85 86static int fd_goaway(struct kern_devconf *, int); 87static int fdc_goaway(struct kern_devconf *, int); 88static int 89fd_externalize(struct proc *, struct kern_devconf *, void *, size_t); 90 91/* 92 * Templates for the kern_devconf structures used when we attach. --- 459 unchanged lines hidden (view full) --- 552 fdcu_t fdcu = dev->id_unit; 553 fdc_p fdc = fdc_data + fdcu; 554 fd_p fd; 555 int fdsu, st0, st3, i, unithasfd; 556 struct isa_device *fdup; 557 int ic_type = 0; 558#ifdef DEVFS 559 char name[64]; | 88 89static int fd_goaway(struct kern_devconf *, int); 90static int fdc_goaway(struct kern_devconf *, int); 91static int 92fd_externalize(struct proc *, struct kern_devconf *, void *, size_t); 93 94/* 95 * Templates for the kern_devconf structures used when we attach. --- 459 unchanged lines hidden (view full) --- 555 fdcu_t fdcu = dev->id_unit; 556 fdc_p fdc = fdc_data + fdcu; 557 fd_p fd; 558 int fdsu, st0, st3, i, unithasfd; 559 struct isa_device *fdup; 560 int ic_type = 0; 561#ifdef DEVFS 562 char name[64]; |
560 caddr_t key; | 563 void *key; |
561#endif /* DEVFS */ 562 563 fdc->fdcu = fdcu; 564 fdc->flags |= FDC_ATTACHED; 565 fdc->dmachan = dev->id_drq; 566 fdc->state = DEVIDLE; 567 /* reset controller, turn motor off, clear fdout mirror reg */ 568 outb(fdc->baseport + FDOUT, ((fdc->fdout = 0))); --- 179 unchanged lines hidden (view full) --- 748#ifdef DEVFS 749 sprintf(name,"fd%d.xxxx",fdu); 750#endif /* DEVFS */ 751 break; 752 } 753 kdc_fd[fdu].kdc_state = DC_IDLE; 754#ifdef DEVFS 755 key = dev_add("/disks/rfloppy",name,(caddr_t)Fdopen,fdu * 8, | 564#endif /* DEVFS */ 565 566 fdc->fdcu = fdcu; 567 fdc->flags |= FDC_ATTACHED; 568 fdc->dmachan = dev->id_drq; 569 fdc->state = DEVIDLE; 570 /* reset controller, turn motor off, clear fdout mirror reg */ 571 outb(fdc->baseport + FDOUT, ((fdc->fdout = 0))); --- 179 unchanged lines hidden (view full) --- 751#ifdef DEVFS 752 sprintf(name,"fd%d.xxxx",fdu); 753#endif /* DEVFS */ 754 break; 755 } 756 kdc_fd[fdu].kdc_state = DC_IDLE; 757#ifdef DEVFS 758 key = dev_add("/disks/rfloppy",name,(caddr_t)Fdopen,fdu * 8, |
756 0,0,0,0644); | 759 DV_CHR,0,0,0644); |
757 key = dev_add("/disks/floppy",name,(caddr_t)Fdopen,fdu * 8, | 760 key = dev_add("/disks/floppy",name,(caddr_t)Fdopen,fdu * 8, |
758 1,0,0,0644); | 761 DV_BLK,0,0,0644); |
759#endif /* DEVFS */ 760 if (dk_ndrive < DK_NDRIVE) { 761 sprintf(dk_names[dk_ndrive], "fd%d", fdu); 762 fd->dkunit = dk_ndrive++; 763 /* 764 * XXX assume rate is FDC_500KBPS. 765 */ 766 dk_wpms[dk_ndrive] = 500000 / 8 / 2; --- 1155 unchanged lines hidden --- | 762#endif /* DEVFS */ 763 if (dk_ndrive < DK_NDRIVE) { 764 sprintf(dk_names[dk_ndrive], "fd%d", fdu); 765 fd->dkunit = dk_ndrive++; 766 /* 767 * XXX assume rate is FDC_500KBPS. 768 */ 769 dk_wpms[dk_ndrive] = 500000 / 8 / 2; --- 1155 unchanged lines hidden --- |