keyboard and video card drivers.
Because of the changes, you are required to update your kernel
configuration file now!
The files in sys/dev/syscons are still i386-specific (but less so than
before), and won't compile for alpha and PC98 yet.
syscons still directly accesses the video card registers here and
there; this will be rectified in the later stages.
+ ECP parallel port chipset FIFO detection
+ DMA+FIFO parallel I/O handled as chipset specific
+ nlpt updated in order to use the above enhanced parallel I/O.
Use 'lptcontrol -e' to use enhanced I/O
+ Various options documented in LINT
+ Full IEEE1284 NIBBLE and BYTE modes support. See ppbus(4) for
an overview of the IEEE1284 standard
+ Detection of PnP parallel devices at boot
+ Read capability added to nlpt driver to get IEEE1284 compliant
printer status with a simple 'cat /dev/lpt0'
+ IEEE1284 peripheral emulation added to BYTE mode. Two computers
may dialog according to IEEE1284 signaling method.
See PERIPH_1284 option and /sys/dev/ppbus/ppi.c
All this code is supposed to provide basic functions for IEEE1284 programming.
ppi.c and nlpt.c may act as examples.
version and the asm version are inlined, and everything is cached,
the asm version is 1.75 times slower than the C version on P5's.
On K6's, it is only 1.25 times slower.
fixing it. See rev.1.22 of ../sound/audio.c for fixes. When both
the C version and the asm version are inlined, and everything is cached,
the asm version is 1.75 times slower than the C version on P5's. On
K6's, it is only 1.25 times slower.
versions of gcc and broken for current versions of egcs. The asm
here (for translate_bytes()) is now an interesting example of one
that needs to be volatile to work.
Fixed missing "memory" in the clobber list for translate_bytes().
Submitted by: "John S. Dyson" <dyson@iquest.net> but rewritten by me
from sc, vt and sio drivers. Use instead a linker_set to collect them.
Staticize ??cngetc(), ??cnputc(), etc functions in sc and vt drivers.
We must still have siocngetc() and siocnputc() as globals because they
are directly referred to by i386-gdbstub.c :-(
Oked by: bde
- Special registers of IO-DATA device's RSA series are defined in
ic/rsa.h (new file).
Pointed out by: Bruce Evans <bde@zeta.org.au>
Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
deltas, but it is possible since I had a few merge conflicts over the last
few days while this has been sitting ready to go.
(Part 1 was committed to the config files, but cvs aborted grrr..)
Approved by: core
in cyopen() were done in a different order than in sioopen(), partly
to (ab)use a side effect of comparam() and partly because I didn't
understand what the reset was doing (it flushes the fifos). This
turned out to be more than a cosmetic problem. Flushing the fifos
quite late is good for discarding input that arrived while the line
state was being initialized, and in the cy driver it also seems to
reduce a problem with input that arrived long ago during the previous
close (the UART loses sync too easily and for too long).
change the original code but add an extra option "ALI_V" to check the
precise IDE port.(especially, secondary) Use the same option "ALI_V" on
the kernel config file to prevent generic DMA check causes wrong result.
(It seems buggy even on PIIX4 chipset, and I don't know when this bug start)
Should I add the option "ALI_V" into /sys/i386/conf/LINT ?
ethernet driver.
The BUGS section is still impressive, but the driver seems to work for
me now. Disclaimer: i haven't been able to test this under -current
so far (but it compiles, and the notebook it's intended for can now be
updated to -current more easy than before). Don't be afraid of the
many #ifdefs on __FreeBSD_version in the imported file; i want them in
the repository on the vendor-branch so other people can also manually
integrate it into older systems. I'll clean it up on the -current
branch in a followup commit. The vendor-banch version right now
supports systems back to 2.2R.
This driver should be layered upon ppc(4), but i currently have no
idea how to do this.
Eventually i'll further develop the driver to also support the more
modern RTL 8012 success, which seems to be present in a number of
cheap pocket ethernet adapters these days. Right now, i doubt it will
run with the 8012 without any changes.
Finally a big Thanks! to RealTek for promptly providing me with
documentation and with the source code for the 8012 pocket driver upon
request. I wish all vendors were that cooperative!.
The optimisation of only waiting before issuing new commands is
obviously invalid in general and it caused many errors in NIST-PCTS.
I think the errors were mostly for characters sent with the wrong
parity, etc., after a half complete tcsetattr().
Use microtime() instead of a magic loop count to limit the wait.
The wait is a busy-wait :-( and normally takes about 500 usec.
almost works properly. Unfortunately, there is no way to flush
the rx fifo without resetting the channel, which also flushes the
tx fifo. We avoid resetting even when both fifos need to be flushed,
since resetting seems to cause the rx to lose sync if it is done
while data is arriving.
Reminded by: NIST-PCTS
hardware is interrupt-driven to a fault and sending a BREAK requires
mode switching. Always running in the BREAK-capable mode as in PR 8318
would double the overhead for sending \0's.
Reminded by: PR 8318
Not tested on the if_sr, if_cx and if_ar drivers, but
expected to work just the same as it used to.
Any users of these drivers (or even better: donors
of hardware for them) please contact phk@freebsd.org
so we can test the next batch of changes to if_sppp.