Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 May 1995 12:20:49 -0700
From:      David Greenman <davidg@Root.COM>
To:        Masahiro SEKIGUCHI <seki@sysrap.cs.fujitsu.co.jp>
Cc:        FreeBSD-Hackers@FreeBSD.org
Subject:   Re: Questions/comments on ed driver 
Message-ID:  <199505121920.MAA00152@corbin.Root.COM>
In-Reply-To: Your message of "Fri, 12 May 95 19:27:46 %2B0200." <9505121027.AA23423@seki.sysrap.cs.fujitsu.co.jp> 

next in thread | previous in thread | raw e-mail | index | archive | help
>I examined the ed driver (of 950412 SNAP.)  I found some (essentially
>2) strangeness in it.  I'm not sure I found bugs or just
>misunderstood.
>
>It is appreciated if you hackers give me comments.
>
>1.  If_ed.c defines ETHER_MAX be 1518 and ETHER_MIN 64.  The length
>includes 4 bytes for CRC.  However, it looks like the program compares
>them against packet lengths *without* CRC.

   Actually, the other 4 bytes is for the DS8390 packet header. The comparison
is correct.

>2.  When put into 16 bit operation (isa16bit is on), if_ed.c turns the
>interface in 16 bit mode just before data transfer, and then back in 8
>bit mode everytime.  The comment says it makes DOS reboot process
>happy, but, if so, why cannot the back-in-8-bit process be done only
>in kdc_shutdown() hook?

   There are two reasons to do it the way it is: 1) because it makes the system
capable of rebooting - the video BIOS ROMs in most machines are 8 bit and gets
unhappy when some other card in the system is in 16 bit mode. It is true that
the kdc_shutdown mechanism could be used to switch it, but this is a very
recent capability. ...and 2) doing it this way allows you to have a mixture of
8 and 16 bit network cards in the system simultaneously. This is the reason
that the code hasn't been changed to switch via kdc_shutdown.

-DG



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199505121920.MAA00152>