Bruce Evans b39b673d37 i386/exception.s,
Keep track of interrupt nesting level.  It is normally 0
	for syscalls and traps, but is fudged to 1 for their exit
	processing in case they metamorphose into an interrupt
	handler.

i386/genassym.c;
	Remove support for the obsolete pcb_iml and pcb_cmap2.

	Add support for pcb_inl.

i386/swtch.s:
	Fudge the interrupt nesting level across context switches and in
	the idle loop so that the work for preemptive context switches
	gets counted as interrupt time, the work for voluntary context
	switches gets counted mostly as system time (the part when
	curproc == 0 gets counted as interrupt time), and only truly idle
	time gets counted as idle time.

	Remove obsolete support (commented out and otherwise) for pcb_iml.

	Load curpcb just before curproc instead of just after so that
	curpcb is always valid if curproc is.  A few more changes like
	this may fix tracing through context switches.

	Remove obsolete function swtch_to_inactive().

include/cpu.h:
	Use the new interrupt nesting level variable to implement a
	non-fake CLF_INTR() so that accounting for the interrupt state
	works.

	You can use top, iostat or (best) an up to date systat to see
	interrupt overheads.  I see the expected huge interrupt overheads
	for ISA devices (on a 486DX/33, about 55% for an IDE drive
	transferring 1250K/sec and the same for a WD8013EBT network card
	transferring 1100K/sec).  The huge interrupt overheads for serial
	devices are unfortunately normally invisible.

include/pcb.h:
	Remove the obsolete pcb_iml and pcb_cmap2.  Replace them by
	padding to preserve binary compatibility.

	Use part of the new padding for pcb_inl.

isa/icu.s:
isa/vector.s:
	Keep track of interrupt nesting level.
1994-12-03 10:03:19 +00:00
..
1994-11-01 17:26:50 +00:00
1994-11-01 17:26:50 +00:00
1994-08-24 22:32:44 +00:00
1994-11-30 12:04:28 +00:00
1994-12-03 10:03:19 +00:00
1994-08-02 07:55:43 +00:00
1994-08-24 22:32:44 +00:00
1994-09-29 08:29:21 +00:00
1994-11-08 05:41:34 +00:00
1994-11-13 21:19:18 +00:00
1994-10-27 08:03:15 +00:00
1994-10-22 09:55:02 +00:00
1994-12-03 10:03:19 +00:00
1994-10-25 08:57:39 +00:00
1993-12-13 18:38:44 +00:00

$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/