FW: [vortex] Re: 3c59x.c compilation errors.

Bogdan Costescu bogdan.costescu@iwr.uni-heidelberg.de
Wed, 14 Mar 2001 13:44:15 +0100 (CET)


On Wed, 14 Mar 2001, Remko van der Vossen wrote:

> compiler instead. Now I do get other errors.
> They are:
>   structure has no member named 'tbusy' (struct net_device)
>   structure has no member named 'interrupt' (struct net_device)
>   structure has no member named 'start' (struct net_device)

Don's drivers from ftp.scyld.com are not supposed (yet ?) to work with
kernels from 2.4 line. For 2.4, only the driver distributed with the
kernel (drivers/net/3c59x.c) is available.

> and will I be able to use the driver directly from
> a user level program?

No, in the current form. User-level access to device drivers is a big
security problem; for example, you can get direct write access to
/dev/hda1 or you can pass an invalid skb to boomerang_start_xmit() and the
kernel will provide you with a nice "Oops".

You have two solutions (that I know of):
- mmap the NIC registers and access them directly _only_ from user-level.
You can't use simultaneously user and kernel level drivers without a very
rigurous locking for register access (that has to be followed by both
drivers).
- use something like VIA, STP or GAMMA with Linux implementations at:
http://www.nersc.gov/research/FTG/via
http://oss.sgi.com/projects/stp/
http://www.disi.unige.it/project/gamma/
which provide an API for user-level access. Their main intent is to
provide low latency network communication, as the TCP/IP stack has a high
software overhead.

Sincerely,

Bogdan Costescu

IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
E-mail: Bogdan.Costescu@IWR.Uni-Heidelberg.De