Deleted Added
full compact
fdc.c (7780) fdc.c (7945)
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.56 1995/04/06 07:20:15 rgrimes Exp $
46 * $Id: fd.c,v 1.57 1995/04/12 20:47:41 wollman Exp $
47 *
48 */
49
50#include "ft.h"
51#if NFT < 1
52#undef NFDC
53#endif
54#include "fd.h"

--- 498 unchanged lines hidden (view full) ---

553 unsigned fdt;
554 fdu_t fdu;
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;
47 *
48 */
49
50#include "ft.h"
51#if NFT < 1
52#undef NFDC
53#endif
54#include "fd.h"

--- 498 unchanged lines hidden (view full) ---

553 unsigned fdt;
554 fdu_t fdu;
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];
563 caddr_t key;
564#endif /* DEVFS */
561
562 fdc->fdcu = fdcu;
563 fdc->flags |= FDC_ATTACHED;
564 fdc->dmachan = dev->id_drq;
565 fdc->state = DEVIDLE;
566 /* reset controller, turn motor off, clear fdout mirror reg */
567 outb(fdc->baseport + FDOUT, ((fdc->fdout = 0)));
568

--- 128 unchanged lines hidden (view full) ---

697
698 fd_registerdev(fdcu, fdu);
699 switch (fdt) {
700 case RTCFDT_12M:
701 printf("1.2MB 5.25in\n");
702 fd->type = FD_1200;
703 kdc_fd[fdu].kdc_description =
704 "1.2MB (1200K) 5.25in floppy disk drive";
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)));
572

--- 128 unchanged lines hidden (view full) ---

701
702 fd_registerdev(fdcu, fdu);
703 switch (fdt) {
704 case RTCFDT_12M:
705 printf("1.2MB 5.25in\n");
706 fd->type = FD_1200;
707 kdc_fd[fdu].kdc_description =
708 "1.2MB (1200K) 5.25in floppy disk drive";
709#ifdef DEVFS
710 sprintf(name,"fd%d.1200",fdu);
711#endif /* DEVFS */
705 break;
706 case RTCFDT_144M:
707 printf("1.44MB 3.5in\n");
708 fd->type = FD_1440;
709 kdc_fd[fdu].kdc_description =
710 "1.44MB (1440K) 3.5in floppy disk drive";
712 break;
713 case RTCFDT_144M:
714 printf("1.44MB 3.5in\n");
715 fd->type = FD_1440;
716 kdc_fd[fdu].kdc_description =
717 "1.44MB (1440K) 3.5in floppy disk drive";
718#ifdef DEVFS
719 sprintf(name,"fd%d.1440",fdu);
720#endif /* DEVFS */
711 break;
712 case RTCFDT_288M:
713 printf("2.88MB 3.5in - 1.44MB mode\n");
714 fd->type = FD_1440;
715 kdc_fd[fdu].kdc_description =
716 "2.88MB (2880K) 3.5in floppy disk drive in 1.44 mode";
721 break;
722 case RTCFDT_288M:
723 printf("2.88MB 3.5in - 1.44MB mode\n");
724 fd->type = FD_1440;
725 kdc_fd[fdu].kdc_description =
726 "2.88MB (2880K) 3.5in floppy disk drive in 1.44 mode";
727#ifdef DEVFS
728 sprintf(name,"fd%d.1440",fdu);
729#endif /* DEVFS */
717 break;
718 case RTCFDT_360K:
719 printf("360KB 5.25in\n");
720 fd->type = FD_360;
721 kdc_fd[fdu].kdc_description =
722 "360KB 5.25in floppy disk drive";
730 break;
731 case RTCFDT_360K:
732 printf("360KB 5.25in\n");
733 fd->type = FD_360;
734 kdc_fd[fdu].kdc_description =
735 "360KB 5.25in floppy disk drive";
736#ifdef DEVFS
737 sprintf(name,"fd%d.360",fdu);
738#endif /* DEVFS */
723 break;
724 case RTCFDT_720K:
725 printf("720KB 3.5in\n");
726 fd->type = FD_720;
727 kdc_fd[fdu].kdc_description =
728 "720KB 3.5in floppy disk drive";
739 break;
740 case RTCFDT_720K:
741 printf("720KB 3.5in\n");
742 fd->type = FD_720;
743 kdc_fd[fdu].kdc_description =
744 "720KB 3.5in floppy disk drive";
745#ifdef DEVFS
746 sprintf(name,"fd%d.720",fdu);
747#endif /* DEVFS */
729 break;
730 default:
731 printf("unknown\n");
732 fd->type = NO_TYPE;
748 break;
749 default:
750 printf("unknown\n");
751 fd->type = NO_TYPE;
752#ifdef DEVFS
753 sprintf(name,"fd%d.xxxx",fdu);
754#endif /* DEVFS */
733 break;
734 }
735 kdc_fd[fdu].kdc_state = DC_IDLE;
755 break;
756 }
757 kdc_fd[fdu].kdc_state = DC_IDLE;
758#ifdef DEVFS
759 key = dev_add("/disks/rfloppy",name,(caddr_t)Fdopen,fdu * 8,
760 0,0,0,0644);
761 key = dev_add("/disks/floppy",name,(caddr_t)Fdopen,fdu * 8,
762 1,0,0,0644);
763#endif /* DEVFS */
736 if (dk_ndrive < DK_NDRIVE) {
737 sprintf(dk_names[dk_ndrive], "fd%d", fdu);
738 fd->dkunit = dk_ndrive++;
739 /*
740 * XXX assume rate is FDC_500KBPS.
741 */
742 dk_wpms[dk_ndrive] = 500000 / 8 / 2;
743 } else {

--- 1154 unchanged lines hidden ---
764 if (dk_ndrive < DK_NDRIVE) {
765 sprintf(dk_names[dk_ndrive], "fd%d", fdu);
766 fd->dkunit = dk_ndrive++;
767 /*
768 * XXX assume rate is FDC_500KBPS.
769 */
770 dk_wpms[dk_ndrive] = 500000 / 8 / 2;
771 } else {

--- 1154 unchanged lines hidden ---