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>