Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/dev/ic



On Tue, May 13, 2003 at 07:00:01AM -0700, Jason Thorpe wrote:
> 
> On Tuesday, May 13, 2003, at 01:35  AM, dyoung%netbsd.org@localhost wrote:
> 
> >2 Adopt the macros WI_LOCK/WI_UNLOCK for synchronization. FreeBSD
> >  uses a different synchronization mechanism.
> 
> Please tell me that you're not removing the existing spl*() stuff from 
> the driver, and that the WI_{LOCK,UNLOCK}macros are just noop stubs.
> 
> Our synchronization *semantics* are also different from FreeBSD, and 
> blindly making a driver match is likely to cause problems.

  On NetBSD, WI_LOCK/WI_UNLOCK wrap splnet/splx.  I have not blindly
  made wi match: I've made sure all the locking/unlocking is still
  correct by an spl interpretation.

  This is NOT a satisfactory way to unify the Free/Net code, especially
  since there is an IEEE80211_LOCK/_UNLOCK, also, which if I use according
  to the spl interpretation while Free uses it by their interpretation,
  FreeBSD will deadlock.

  I will see if I can work out a compromise with FreeBSD. In the mean
  time, I think I will switch back to splnet.

> >5 Bug fix: if IFF_ALLMULTI, don't filter any multicasts.
> 
> Our IFF_ALLMULTI semantics are different from FreeBSD; making a 
> driver's IFF_ALLMULTI handling match FreeBSD is broken by definition.

  Enami pointed it out and I've fixed it. Is there any guide to FreeBSD /
  NetBSD differences on-line?

Dave

-- 
David Young             OJC Technologies
dyoung%ojctech.com@localhost      Urbana, IL * (217) 278-3933



Home | Main Index | Thread Index | Old Index