summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralm <alm@FreeBSD.org>1994-02-07 22:12:45 +0000
committeralm <alm@FreeBSD.org>1994-02-07 22:12:45 +0000
commit4c1e7c072c989ed6879361f969396755d5e4d42a (patch)
treee039d0181aa18308b9b22a1d2ee57e2caad4e7d0
parent60fda7adb150fcace6c4fcdfb4f64f763c76ae46 (diff)
downloadFreeBSD-src-4c1e7c072c989ed6879361f969396755d5e4d42a.zip
FreeBSD-src-4c1e7c072c989ed6879361f969396755d5e4d42a.tar.gz
Tentative fdc patches...
-rw-r--r--sys/dev/fdc/fdc.c1
-rw-r--r--sys/dev/fdc/fdcreg.h40
-rw-r--r--sys/i386/isa/fd.c1
-rw-r--r--sys/i386/isa/fdc.h38
-rw-r--r--sys/i386/isa/fdreg.h40
-rw-r--r--sys/i386/isa/ft.c6
-rw-r--r--sys/isa/fd.c1
-rw-r--r--sys/isa/fdc.h38
-rw-r--r--sys/isa/fdreg.h40
9 files changed, 87 insertions, 118 deletions
diff --git a/sys/dev/fdc/fdc.c b/sys/dev/fdc/fdc.c
index 14a6de3..9fa0636 100644
--- a/sys/dev/fdc/fdc.c
+++ b/sys/dev/fdc/fdc.c
@@ -63,6 +63,7 @@
#include "i386/isa/isa.h"
#include "i386/isa/isa_device.h"
#include "i386/isa/fdreg.h"
+#include "i386/isa/fdc.h"
#include "i386/isa/icu.h"
#include "i386/isa/rtc.h"
diff --git a/sys/dev/fdc/fdcreg.h b/sys/dev/fdc/fdcreg.h
index 895da8c..5deb02c 100644
--- a/sys/dev/fdc/fdcreg.h
+++ b/sys/dev/fdc/fdcreg.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)fdreg.h 7.1 (Berkeley) 5/9/91
- * $Id: fdreg.h,v 1.2 1993/10/16 13:45:50 rgrimes Exp $
+ * $Id: fdreg.h,v 1.3 1994/02/07 04:27:10 alm Exp $
*/
/*
@@ -63,41 +63,3 @@
#define fdin 7 /* Digital Input Register (R) */
#define FDI_DCHG 0x80 /* diskette has been changed */
-/***********************************************************************\
-* Per controller structure. *
-\***********************************************************************/
-struct fdc_data
-{
- int fdcu; /* our unit number */
- int baseport;
- int dmachan;
- int flags;
-#define FDC_ATTACHED 0x01
-#define FDC_HASFTAPE 0x02
-#define FDC_TAPE_BUSY 0x04
- struct fd_data *fd;
- int fdu; /* the active drive */
- struct buf head; /* Head of buf chain */
- struct buf rhead; /* Raw head of buf chain */
- int state;
- int retry;
- int status[7]; /* copy of the registers */
-};
-
-/***********************************************************************\
-* Throughout this file the following conventions will be used: *
-* fd is a pointer to the fd_data struct for the drive in question *
-* fdc is a pointer to the fdc_data struct for the controller *
-* fdu is the floppy drive unit number *
-* fdcu is the floppy controller unit number *
-* fdsu is the floppy drive unit number on that controller. (sub-unit) *
-\***********************************************************************/
-typedef int fdu_t;
-typedef int fdcu_t;
-typedef int fdsu_t;
-typedef struct fd_data *fd_p;
-typedef struct fdc_data *fdc_p;
-
-
-#define FDUNIT(s) (((s)>>6)&03)
-#define FDTYPE(s) ((s)&077)
diff --git a/sys/i386/isa/fd.c b/sys/i386/isa/fd.c
index 14a6de3..9fa0636 100644
--- a/sys/i386/isa/fd.c
+++ b/sys/i386/isa/fd.c
@@ -63,6 +63,7 @@
#include "i386/isa/isa.h"
#include "i386/isa/isa_device.h"
#include "i386/isa/fdreg.h"
+#include "i386/isa/fdc.h"
#include "i386/isa/icu.h"
#include "i386/isa/rtc.h"
diff --git a/sys/i386/isa/fdc.h b/sys/i386/isa/fdc.h
new file mode 100644
index 0000000..3320de3
--- /dev/null
+++ b/sys/i386/isa/fdc.h
@@ -0,0 +1,38 @@
+
+/***********************************************************************\
+* Per controller structure. *
+\***********************************************************************/
+struct fdc_data
+{
+ int fdcu; /* our unit number */
+ int baseport;
+ int dmachan;
+ int flags;
+#define FDC_ATTACHED 0x01
+#define FDC_HASFTAPE 0x02
+#define FDC_TAPE_BUSY 0x04
+ struct fd_data *fd;
+ int fdu; /* the active drive */
+ struct buf head; /* Head of buf chain */
+ struct buf rhead; /* Raw head of buf chain */
+ int state;
+ int retry;
+ int status[7]; /* copy of the registers */
+};
+
+/***********************************************************************\
+* Throughout this file the following conventions will be used: *
+* fd is a pointer to the fd_data struct for the drive in question *
+* fdc is a pointer to the fdc_data struct for the controller *
+* fdu is the floppy drive unit number *
+* fdcu is the floppy controller unit number *
+* fdsu is the floppy drive unit number on that controller. (sub-unit) *
+\***********************************************************************/
+typedef int fdu_t;
+typedef int fdcu_t;
+typedef int fdsu_t;
+typedef struct fd_data *fd_p;
+typedef struct fdc_data *fdc_p;
+
+#define FDUNIT(s) (((s)>>6)&03)
+#define FDTYPE(s) ((s)&077)
diff --git a/sys/i386/isa/fdreg.h b/sys/i386/isa/fdreg.h
index 895da8c..5deb02c 100644
--- a/sys/i386/isa/fdreg.h
+++ b/sys/i386/isa/fdreg.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)fdreg.h 7.1 (Berkeley) 5/9/91
- * $Id: fdreg.h,v 1.2 1993/10/16 13:45:50 rgrimes Exp $
+ * $Id: fdreg.h,v 1.3 1994/02/07 04:27:10 alm Exp $
*/
/*
@@ -63,41 +63,3 @@
#define fdin 7 /* Digital Input Register (R) */
#define FDI_DCHG 0x80 /* diskette has been changed */
-/***********************************************************************\
-* Per controller structure. *
-\***********************************************************************/
-struct fdc_data
-{
- int fdcu; /* our unit number */
- int baseport;
- int dmachan;
- int flags;
-#define FDC_ATTACHED 0x01
-#define FDC_HASFTAPE 0x02
-#define FDC_TAPE_BUSY 0x04
- struct fd_data *fd;
- int fdu; /* the active drive */
- struct buf head; /* Head of buf chain */
- struct buf rhead; /* Raw head of buf chain */
- int state;
- int retry;
- int status[7]; /* copy of the registers */
-};
-
-/***********************************************************************\
-* Throughout this file the following conventions will be used: *
-* fd is a pointer to the fd_data struct for the drive in question *
-* fdc is a pointer to the fdc_data struct for the controller *
-* fdu is the floppy drive unit number *
-* fdcu is the floppy controller unit number *
-* fdsu is the floppy drive unit number on that controller. (sub-unit) *
-\***********************************************************************/
-typedef int fdu_t;
-typedef int fdcu_t;
-typedef int fdsu_t;
-typedef struct fd_data *fd_p;
-typedef struct fdc_data *fdc_p;
-
-
-#define FDUNIT(s) (((s)>>6)&03)
-#define FDTYPE(s) ((s)&077)
diff --git a/sys/i386/isa/ft.c b/sys/i386/isa/ft.c
index 16cb40a..fb8c2e13 100644
--- a/sys/i386/isa/ft.c
+++ b/sys/i386/isa/ft.c
@@ -68,6 +68,7 @@
#include <machine/pio.h>
#include "i386/isa/isa_device.h"
#include "i386/isa/fdreg.h"
+#include "i386/isa/fdc.h"
#include "i386/isa/icu.h"
#include "i386/isa/rtc.h"
#include "ftreg.h"
@@ -280,9 +281,12 @@ int ftattach(isadev, fdup)
fdcu_t fdcu = isadev->id_unit; /* fdc active unit */
fdc_p fdc = fdc_data + fdcu; /* pointer to controller structure */
ftu_t ftu = fdup->id_unit;
- ft_p ft = &ft_data[ftu];
+ ft_p ft;
ftsu_t ftsu = fdup->id_physid;
+ if (ftu >= NFT)
+ return 0;
+ ft = &ft_data[ftu];
/* Probe for tape */
ft->attaching = 1;
ft->type = NO_TYPE;
diff --git a/sys/isa/fd.c b/sys/isa/fd.c
index 14a6de3..9fa0636 100644
--- a/sys/isa/fd.c
+++ b/sys/isa/fd.c
@@ -63,6 +63,7 @@
#include "i386/isa/isa.h"
#include "i386/isa/isa_device.h"
#include "i386/isa/fdreg.h"
+#include "i386/isa/fdc.h"
#include "i386/isa/icu.h"
#include "i386/isa/rtc.h"
diff --git a/sys/isa/fdc.h b/sys/isa/fdc.h
new file mode 100644
index 0000000..3320de3
--- /dev/null
+++ b/sys/isa/fdc.h
@@ -0,0 +1,38 @@
+
+/***********************************************************************\
+* Per controller structure. *
+\***********************************************************************/
+struct fdc_data
+{
+ int fdcu; /* our unit number */
+ int baseport;
+ int dmachan;
+ int flags;
+#define FDC_ATTACHED 0x01
+#define FDC_HASFTAPE 0x02
+#define FDC_TAPE_BUSY 0x04
+ struct fd_data *fd;
+ int fdu; /* the active drive */
+ struct buf head; /* Head of buf chain */
+ struct buf rhead; /* Raw head of buf chain */
+ int state;
+ int retry;
+ int status[7]; /* copy of the registers */
+};
+
+/***********************************************************************\
+* Throughout this file the following conventions will be used: *
+* fd is a pointer to the fd_data struct for the drive in question *
+* fdc is a pointer to the fdc_data struct for the controller *
+* fdu is the floppy drive unit number *
+* fdcu is the floppy controller unit number *
+* fdsu is the floppy drive unit number on that controller. (sub-unit) *
+\***********************************************************************/
+typedef int fdu_t;
+typedef int fdcu_t;
+typedef int fdsu_t;
+typedef struct fd_data *fd_p;
+typedef struct fdc_data *fdc_p;
+
+#define FDUNIT(s) (((s)>>6)&03)
+#define FDTYPE(s) ((s)&077)
diff --git a/sys/isa/fdreg.h b/sys/isa/fdreg.h
index 895da8c..5deb02c 100644
--- a/sys/isa/fdreg.h
+++ b/sys/isa/fdreg.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)fdreg.h 7.1 (Berkeley) 5/9/91
- * $Id: fdreg.h,v 1.2 1993/10/16 13:45:50 rgrimes Exp $
+ * $Id: fdreg.h,v 1.3 1994/02/07 04:27:10 alm Exp $
*/
/*
@@ -63,41 +63,3 @@
#define fdin 7 /* Digital Input Register (R) */
#define FDI_DCHG 0x80 /* diskette has been changed */
-/***********************************************************************\
-* Per controller structure. *
-\***********************************************************************/
-struct fdc_data
-{
- int fdcu; /* our unit number */
- int baseport;
- int dmachan;
- int flags;
-#define FDC_ATTACHED 0x01
-#define FDC_HASFTAPE 0x02
-#define FDC_TAPE_BUSY 0x04
- struct fd_data *fd;
- int fdu; /* the active drive */
- struct buf head; /* Head of buf chain */
- struct buf rhead; /* Raw head of buf chain */
- int state;
- int retry;
- int status[7]; /* copy of the registers */
-};
-
-/***********************************************************************\
-* Throughout this file the following conventions will be used: *
-* fd is a pointer to the fd_data struct for the drive in question *
-* fdc is a pointer to the fdc_data struct for the controller *
-* fdu is the floppy drive unit number *
-* fdcu is the floppy controller unit number *
-* fdsu is the floppy drive unit number on that controller. (sub-unit) *
-\***********************************************************************/
-typedef int fdu_t;
-typedef int fdcu_t;
-typedef int fdsu_t;
-typedef struct fd_data *fd_p;
-typedef struct fdc_data *fdc_p;
-
-
-#define FDUNIT(s) (((s)>>6)&03)
-#define FDTYPE(s) ((s)&077)
OpenPOWER on IntegriCloud