diff options
| author | Poul-Henning Kamp <phk@FreeBSD.org> | 1996-07-21 09:28:50 +0000 |
|---|---|---|
| committer | Poul-Henning Kamp <phk@FreeBSD.org> | 1996-07-21 09:28:50 +0000 |
| commit | 7c60604ada212296834e3cff4f6961632fa9ad0e (patch) | |
| tree | 938cf88f866af13831c387a1aa7fee8175324f3d | |
| parent | 10bc064c3a689bcd7ce5e5677a553f1d5ca76b6e (diff) | |
Notes
| -rw-r--r-- | sys/i386/isa/wd.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/i386/isa/wd.c b/sys/i386/isa/wd.c index df8b99ba73f7f..958c51eaa12a0 100644 --- a/sys/i386/isa/wd.c +++ b/sys/i386/isa/wd.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)wd.c 7.2 (Berkeley) 5/9/91 - * $Id: wd.c,v 1.109 1996/06/08 10:03:35 bde Exp $ + * $Id: wd.c,v 1.110 1996/06/12 05:03:51 gpalmer Exp $ */ /* TODO: @@ -109,6 +109,7 @@ extern void wdstart(int ctrlr); /* can't handle that in all cases */ #define WDOPT_32BIT 0x8000 #define WDOPT_SLEEPHACK 0x4000 +#define WDOPT_FORCEHD(x) (((x)&0x0f00)>>8) #define WDOPT_MULTIMASK 0x00ff @@ -1632,6 +1633,13 @@ failed: du->dk_dd.d_nsectors = wp->wdp_sectors; du->dk_dd.d_secpercyl = du->dk_dd.d_ntracks * du->dk_dd.d_nsectors; du->dk_dd.d_secperunit = du->dk_dd.d_secpercyl * du->dk_dd.d_ncylinders; + if (WDOPT_FORCEHD(du->cfg_flags)) { + du->dk_dd.d_ntracks = WDOPT_FORCEHD(du->cfg_flags); + du->dk_dd.d_secpercyl = + du->dk_dd.d_ntracks * du->dk_dd.d_nsectors; + du->dk_dd.d_ncylinders = + du->dk_dd.d_secperunit / du->dk_dd.d_secpercyl; + } #if 0 du->dk_dd.d_partitions[RAW_PART].p_size = du->dk_dd.d_secperunit; /* dubious ... */ |
