--- src/sys/isa/fd.c.orig Thu Oct 23 07:52:52 2003 +++ src/sys/isa/fd.c Tue Nov 4 20:05:13 2003 @@ -1204,6 +1204,8 @@ fd->flags = FD_UA; /* make sure fdautoselect() will be called */ fd->type = FD_DTYPE(flags); + + if (fd->type == FDT_NONE && (fd->fdu == 0 || fd->fdu == 1)) { /* * XXX I think using __i386__ is wrong here since we actually want to probe * for the machine type, not the CPU type (so non-PC arch's like the PC98 will @@ -1211,7 +1213,6 @@ * == i386 breaks the test on FreeBSD/Alpha. */ #if defined(__i386__) || defined(__amd64__) - if (fd->type == FDT_NONE && (fd->fdu == 0 || fd->fdu == 1)) { /* Look up what the BIOS thinks we have. */ if (fd->fdu == 0) { if ((fdc->flags & FDC_ISPCMCIA)) @@ -1229,8 +1230,11 @@ } if (fd->type == FDT_288M_1) fd->type = FDT_288M; - } +#else + fd->type = FDT_144M; #endif /* __i386__ || __amd64__ */ + } + /* is there a unit? */ if (fd->type == FDT_NONE) return (ENXIO);