9fa18570a2
Introduce TS_CONNECTED and TS_ZOMBIE states. TS_CONNECTED is set while a connection is established. It is set while (TS_CARR_ON or CLOCAL is set) and TS_ZOMBIE is clear. TS_ZOMBIE is set for on to off transitions of TS_CARR_ON that occur when CLOCAL is clear and is cleared for off to on transitions of CLOCAL. I/o can only occur while TS_CONNECTED is set. TS_ZOMBIE prevents further i/o. Split the input-event sleep address TSA_CARR_ON(tp) into TSA_CARR_ON(tp) and TSA_HUP_OR_INPUT(tp). The former address is now used only for off to on carrier transitions and equivalent CLOCAL transitions. The latter is used for all input events, all carrier transitions and certain CLOCAL transitions. There are some harmless extra wakeups for rare connection- related events. Previously there were too many extra wakeups for non-rare input events. Drivers now call l_modem() instead of setting TS_CARR_ON directly to handle even the initial off to on transition of carrier. They should always have done this. l_modem() now handles TS_CONNECTED and TS_ZOMBIE as well as TS_CARR_ON. gnu/isdn/iitty.c: Set TS_CONNECTED for first open ourself to go with bogusly setting CLOCAL. i386/isa/syscons.c, i386/isa/pcvt/pcvt_drv.c: We fake carrier, so don't also fake CLOCAL. kern/tty.c: Testing TS_CONNECTED instead of TS_CARR_ON fixes TIOCCONS forgetting to test CLOCAL. TS_ISOPEN was tested instead, but that broke when we disabled the clearing of TS_ISOPEN for certain transitions of CLOCAL. Testing TS_CONNECTED fixes ttyselect() returning false success for output to devices in state !TS_CARR_ON && !CLOCAL. Optimize the other selwakeup() call (this is not related to the other changes). kern/tty_pty.c: ptcopen() can be declared in traditional C now that dev_t isn't short. |
||
---|---|---|
.. | ||
ic | ||
matcd | ||
pcvt | ||
sound | ||
aha1542.c | ||
aha1742.c | ||
aha2742.c | ||
aic6360.c | ||
aic7770.c | ||
b004.c | ||
b004.h | ||
bt742a.c | ||
clock.c | ||
creative.h | ||
cronyx.c | ||
ctx.c | ||
ctxreg.h | ||
cx.c | ||
cxreg.h | ||
cy.c | ||
cyreg.h | ||
diskslice_machdep.c | ||
elink.c | ||
elink.h | ||
fd.c | ||
fdc.h | ||
fdreg.h | ||
ft.c | ||
ftreg.h | ||
gpib.c | ||
gpib.h | ||
gpibreg.h | ||
gsc.c | ||
gscreg.h | ||
icu.h | ||
icu.s | ||
if_cx.c | ||
if_ed.c | ||
if_edreg.h | ||
if_eg.c | ||
if_egreg.h | ||
if_el.c | ||
if_elreg.h | ||
if_ep.c | ||
if_epreg.h | ||
if_fe.c | ||
if_fereg.h | ||
if_ie507.h | ||
if_ie.c | ||
if_iereg.h | ||
if_is.c | ||
if_isreg.h | ||
if_ix.c | ||
if_ixreg.h | ||
if_le.c | ||
if_lnc.c | ||
if_lnc.h | ||
if_ze.c | ||
if_zereg.h | ||
if_zp.c | ||
if_zpreg.h | ||
isa_device.h | ||
isa.c | ||
isa.h | ||
iso8859.font | ||
joy.c | ||
kbd.h | ||
kbdtables.h | ||
labpc.c | ||
lpt.c | ||
lptreg.h | ||
matcd.c | ||
matcd.h | ||
mcd.c | ||
mcdreg.h | ||
mse.c | ||
ncr5380.c | ||
npx.c | ||
npx.c.orig | ||
options.h | ||
pas.c | ||
pcaudio.c | ||
pcibus.c | ||
pcic.c | ||
pcic.h | ||
psm.c | ||
rc.c | ||
rcreg.h | ||
readMBR.c | ||
README.le | ||
rtc.h | ||
scd.c | ||
scdreg.h | ||
seagate.c | ||
sio.c | ||
sioreg.h | ||
spigot.c | ||
spkr.c | ||
syscons.c | ||
syscons.h | ||
timerreg.h | ||
tw.c | ||
ultra14f.c | ||
vector.s | ||
wd7000.c | ||
wd.c | ||
wdreg.h | ||
wt.c | ||
wtreg.h |
$Id: README.le,v 1.1 1994/10/01 20:15:43 wollman Exp $ ---------------- This driver is in no way supported by Digital Equipment. See the disclaimers in the sources for more. This driver supports all the DEC EtherWORKS III NICs (DE203, DE204, and DE205) and the later DEC EtherWORKS II NICs (DE200, DE201, DE202, DE422). DEPCA-style boards prior to the DE200 have not been tested and may not work. This driver is not EISA aware. If you are using a DE422 or have configured the EtherWORKS III in EISA mode, make sure you specify the I/O port properly as this driver will *not* probe for it. (The I/O port should be 0xNc00 where N is the EISA slot number). This driver does not yet use the full 128KB allowed by the DE422. Someday, it might. For EtherWORKS III NICs, the driver will override the EEPROM setting of MemoryMode and *always* use the 2K for best results. The driver includes full support for both BPF and IP Multicast. [All paths are relative to the top of sys source area, usually /usr/src/sys.] The following files need to be moved into their respective directories: if_le.c --> i386/isa am7990.h --> i386/isa/ic lemac.h --> i386/isa/ic You will need to apply the patch provided in pat.files.i386 to i386/conf/files.i386 file. After that is done you will need to edit your config file (in i386/conf) and a line similar to: device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr [The above line assumes the board is still at the factory defaults.] Change the port, irq, and iomem value if needed to your configuration. Now you are ready to rebuild your kernel, reboot, and see if the driver can configure your board. When the system boots, you will hopefully something close to: EtherWORKS II: le0 at 0x300-0x30f irq 5 maddr 0xd0000 msize 65536 on isa le0: DE202 ethernet address 08:00:2b:2d:c8:45 bpf: le0 attached EtherWORKS III: le0 at 0x320-0x33f irq 5 maddr 0xd0000 msize 2048 on isa le0: DE205-AB ethernet address 08:00:2b:bb:23:e0 le0 attached in the startup log. If so, the board configured properly and should be ready to use. -- Mail: thomas@lkg.dec.com URL: http://ftp.digital.com/~thomas/