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 ---