Commit Graph

23 Commits

Author SHA1 Message Date
Andrey A. Chernov
c4ff2eb1dd Newly implemented ioctls list:
DIOCGDINFO, DIOCGPART, DIOCWDINFO, DIOCSDINFO, CDIOCPLAYMSF, CDIOCRESET,
CDIOCEJECT.

CDIOCPLAYBLOCKS removed (old implementation completely wrong and I don't
know how to implement it correctly).

All routines now detects media change correctly.

DELAY_GETREPLAY increased for long time access from first track
to last.

mcd_waitrdy() now use MIN_DELAY=15 as minimal delay which independs
of machine speed.

mcd_doread() now uses real status (old code uses obsoleted soft copy of it).

clear XBSY on error in mcd_doread()

mcd_statrt(): add missing splx(s), cause dead hang with unmatched slpbio()

optimize mcd_doread(), don't set CD mode each time, keep soft copy of mode.

call getdisklabel() _after_ mcdsize() for proper sizes

mcdopen(): old code forget to set MCDREADRAW in flags when open RAW
partition, doread check it for setting RAW CD mode.

Do nothing on stray interrupt (which sometimes occurse, because driver
read data block too slow, DOS driver use 'insb' here). Old stray code
cause timeouts.

Read toc entries code rewritten to return many requested entries
(as supposed) instead of one entry with incorrect structure.

CMDREAD2 requests covered with disable_intr()/enable_intr()
(from DOS driver)

Read junk code added after read block code in doread (from DOS driver)

mcd_read_toc() code fixed to read all needed entries, old code cause
some audio tracks is not played.

mcd_playtracks() code fixed to proper check valid track range.

New binary read modes implemented (from DOS driver).
1994-09-03 16:48:13 +00:00
Andrey A. Chernov
3b2dc1fcd6 Raw partition is 2 now 1994-08-29 21:19:27 +00:00
Andrey A. Chernov
67f5dcad6b Bruce was right, stupid device returns non-busy state too early,
add only one DELAY(10) after inb(non_busy) now
1994-08-28 20:37:59 +00:00
Andrey A. Chernov
de662aeac4 Continue previous fix:
Add MIN_DELAY definition instead of hard-coded 10
1994-08-27 15:28:34 +00:00
Andrey A. Chernov
e84e5d655f 1) Raw partition number was incorrectly 0, changed to 3
2) DELAY(1) does nothing, it affects audio playing f.e:
driver can't play second half of disk, changed to DELAY(10)
3) Debugging messages #ifdef DEBUGed
1994-08-27 13:15:25 +00:00
Garrett Wollman
f540b1065a Change all #includes to follow the current Berkeley style. Some of these
``changes'' are actually not changes at all, but CVS sometimes has trouble
telling the difference.

This also includes support for second-directory compiles.  This is not
quite complete yet, as `config' doesn't yet do the right thing.  You can
still make it work trivially, however, by doing the following:

rm /sys/compile
mkdir /usr/obj/sys/compile
ln -s M-. /sys/compile
cd /sys/i386/conf
config MYKERNEL
cd ../../compile/MYKERNEL
ln -s /sys @
rm machine
ln -s @/i386/include machine
make depend
make
1994-08-13 03:50:34 +00:00
Rodney W. Grimes
26f9a76710 The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.
Reviewed by:	Rodney W. Grimes
Submitted by:	John Dyson and David Greenman
1994-05-25 09:21:21 +00:00
Gary Clark II
698a2ca9f2 Change old alias b_cylin to b_resid 1994-04-30 17:03:33 +00:00
David Greenman
0e195446b7 Bug fixes and performance improvements from John Dyson and myself:
1) check va before clearing the page clean flag. Not doing so was
	causing the vnode pager error 5 messages when paging from
	NFS. (pmap.c)
2) put back interrupt protection in idle_loop. Bruce didn't think
	it was necessary, John insists that it is (and I agree). (swtch.s)
3) various improvements to the clustering code (vm_machdep.c). It's
	now enabled/used by default.
4) bad disk blocks are now handled properly when doing clustered IOs.
	(wd.c, vm_machdep.c)
5) bogus bad block handling fixed in wd.c.
6) algorithm improvements to the pageout/pagescan daemons. It's amazing
	how well 4MB machines work now.
1994-04-20 07:06:57 +00:00
Andreas Schulz
308352e4d4 Changed the raw partition number from 3 to 0. This change lets us use
/dev/mcd0a instead of /dev/mcd0d. This is more conforming to the /dev/cd0a
for the SCSI cdrom drives. It breaks the convention d the whole drive.
But the question is, do we really need partitions on cdrom drives ?
1994-03-21 20:59:55 +00:00
Jordan K. Hubbard
18e494b593 Used definable status codes (some may be sharable, esp the door open codes, but
it still looks a little suspicious that so many of the status codes are missing
so I'm not going to adopt all of the existing ones yet.  Try to be more
descriptive in the use of hex constants.
1994-03-06 14:14:49 +00:00
Andreas Schulz
563ac84861 Added more status bytes for the mitsumi drive. This is only an ugly
hack in the moment for testing purposes and to get the drive going
again.
0x20 means empty drive.
0x30 means closed drive with CDROM inserted.
0x80 means drive pulled out, but door closed.
0xa0 means drive pulled out and door open.
Luckily none of these values are the same as that reported for Ethernet
cards ( 0 for WD8003E, 0x40 for WD8013EPC, 0x60 for NE2000).
The bad part is, the probe code gets the WD8003E so hosed, that it is
no longer usable after it. No problem with the WD8013EPC.
1994-03-05 21:41:51 +00:00
Jordan K. Hubbard
73787aa3f2 This should stop the false probes in their slimey little tracks. 1994-03-05 03:54:19 +00:00
Rodney W. Grimes
41553a650d This is Jordans probe code fixes. Tested on LU002, FX001D. Then I went
in and cleaned the spaces vs tabs up, and made the code a little closer
to KNF.
1994-02-22 08:44:31 +00:00
David Greenman
958896a15f Fixed bug in probe that was causing it to always probe true. 1994-02-07 15:46:22 +00:00
Rodney W. Grimes
51c16d62df Update for new format of cd_toc_entry that was changed in sys/cdio.h. 1994-02-06 11:33:25 +00:00
Andreas Schulz
3926f9e8f3 Added the correct typecast's to the untimeout calls. Added a missing
return statement in the probe. This should have fixed all compiler warnings.
1994-01-22 18:00:54 +00:00
Nate Williams
954c7b2b78 Reduced the delay amounts per patch submitted by gclarkii@netport.neosoft.com 1994-01-18 02:20:15 +00:00
Jordan K. Hubbard
26e25527db From Gary Clark II:
1. Fixed probe to work with FX mitsumi's.

2. Added some defines in prep for adding interupts and dma
1994-01-16 23:34:17 +00:00
Garrett Wollman
aaf08d94ca Make everything compile with -Wtraditional. Make it easier to distribute
a binary link-kit.  Make all non-optional options (pagers, procfs) standard,
and update LINT to reflect new symtab requirements.

NB: -Wtraditional will henceforth be forgotten.  This editing pass was
primarily intended to detect any constructions where the old code might
have been relying on traditional C semantics or syntax.  These were all
fixed, and the result of fixing some of them means that -Wall is now a
realistic possibility within a few weeks.
1993-12-19 00:55:01 +00:00
Garrett Wollman
381fe1aaf4 Make the LINT kernel compile with -W -Wreturn-type -Wcomment -Werror, and
add same (sans -Werror) to Makefile for future compilations.
1993-11-25 01:38:01 +00:00
Rodney W. Grimes
6f78ca6026 Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some
minor cleanup.  Added $Id$ to files that did not have any version info, etc
1993-10-16 13:48:52 +00:00
Rodney W. Grimes
54b7aa6d2b Mitsumi cd rom driver from Holger Viet as fixed up by Gary Clark II.
Still a little rought, but it seems to be working.
1993-10-12 06:08:31 +00:00