- fill in and use ifp->if_softc
- use if_bpf rather than private cookie variables
- change bpf interface to take advantage of this
- call ether_ifattach() directly from Ethernet drivers
- delete kludge in if_attach() that did this indirectly
and rmx_recvpipe. This has no demonstrable effect on performance.
(ttcp reports about 44 Mbit/s for all the buffer sizes I tried between
16384 and 65536.)
pmap_activate since it's not used anymore. Changed cpu_fork so that
it uses one line of inline assembly rather than calling mvesp() to
get the current stack pointer. Removed mvesp() since it is no longer
being used.
fixes for previous version of new pipes from Bruce Evans. This
new version:
Supports more properly the semantics of select (BDE).
Supports "OLD_PIPE" correctly (kern_descrip.c, BDE).
Eliminates incorrect EPIPE returns (bash 'pipe broken' messages.)
Much faster yet, currently tuned relatively conservatively -- but now
gives approx 50% more perf than the new pipes code did originally.
(That was about 50% more perf than the original BSD pipe code.)
Known bugs outstanding:
No support for async io (SIGIO). Will be included soon.
Next to do:
Merge support for FIFOs.
Submitted by: bde
for me, but has gotten a bit flakey in bidirectional parallel port mode.
Fix a bug in bidirectional parallel port transfers, more work is still
needed here (testers welcome).
Minor cleanup.
drives require ST_Q_SNS_HLP, they also wrongly accept a blocksize of
1024 in the first place (for a QIC-150 cartridge), but complain later
about it. The hack is to only probe for 512 for them.
Reorder the entries in st_decide_mode() so that QIC >= 525 is properly
accepted as variable blocksize.
vs unidirectional transfer modes. The kernel handles hardware, user mode
programs shouldn't get in the way.
This cleans up some really ugly grots that I hated too. :-)
Suggested by: Sujal Patel <smpatel@wam.umd.edu>
* this is my unoptimized driver, it works fine, it's not as fast as it
* could be (yet) -- I have yet to merge in ideas from other QuickCam
* developers.
* warning: this user interface is still in flux pending negotiations
* with other quickcam driver authors. It is _not_ compatible with the
* original linux interface due to the fact that it was too restrictive.