Re: cvs commit: src/sys/modules/iwi Makefile src/sys/dev/iwi if_iwi.c if_iwireg.h if_iwivar.h

From: Warner Losh (imp_at_bsdimp.com)
Date: 11/21/05

  • Next message: Warner Losh: "Re: cvs commit: src/sys/modules/iwi Makefile src/sys/dev/iwi if_iwi.c if_iwireg.h if_iwivar.h"
    Date: Mon, 21 Nov 2005 11:27:24 -0700 (MST)
    To: scottl@samsco.org
    
    

    scottl> Scott Long
    scottl> I guess my vote would be to have a devd mechanism where the kernel
    scottl> can ask for a module via a particular key, devd maps the key to a file
    scottl> via its config file and loads it into kernel space as a KLD, and then
    scottl> the kernel unloads the KLD when its done with it. For things like isp,
    scottl> nothing would change, and for iwi you'd get a reliable way of getting
    scottl> bits into the kernel that doesn't require messing with the VFS layer
    scottl> or hard-coding knowledge of the filesystem layout into the driver.

    Apart from my other objections to kld, I really don't like getting
    devd involved in this. devd is a passive listener. It listens for
    events and then runs programs. It is not there to interact with the
    kernel in synchronous manner. Everything is queued and there's
    deliberately no meachanism for a reply.

    There's also no reason to have a third party involved to load the
    module. None of the other automatic kldload parts of the kernel need
    this. Why is driver firmware any different? You can easily define
    the interface to be load module "$driver-fw-$type" and the driver can
    take care of the sprintf to fill in the string. A carefully chosen
    interface here can help eliminate the extra layers of complexity. How
    the heck would devd know how to convert the particular key into
    something meaningful? How would concentrating the quirks of all
    possible drivers in devd be better than localizing them in the driver
    itself?

    Warner
    _______________________________________________
    freebsd-arch@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-arch
    To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"


  • Next message: Warner Losh: "Re: cvs commit: src/sys/modules/iwi Makefile src/sys/dev/iwi if_iwi.c if_iwireg.h if_iwivar.h"

    Relevant Pages

    • Re: HAL/freebsd architecture
      ... :> think that these would be useful for many more applications than just hald. ... This is so that we could preserve current devd functionality ... :> either already done in kernel as well or it better be done in kernel. ... asked developers include extending the ldev driver (luigi's Linux device ...
      (freebsd-arch)
    • Re: cvs commit: src/sys/modules/iwi Makefile src/sys/dev/iwi if_iwi.c if_iwireg.h if_iwivar.h
      ... > scottl> can ask for a module via a particular key, devd maps the key to a file ... > scottl> via its config file and loads it into kernel space as a KLD, ... Why is driver firmware any different? ...
      (freebsd-arch)
    • Re: Re: cvs commit: src/sys/modules/iwi Makefile src/sys/dev/iwi if_iwi.c if_iwi
      ... >scottl> can ask for a module via a particular key, devd maps the key to a file ... >scottl> via its config file and loads it into kernel space as a KLD, ... Why not just make the loader able to load an arbitrary ...
      (freebsd-arch)
    • Re: HAL/freebsd architecture
      ... :> think that these would be useful for many more applications than just hald. ... This is so that we could preserve current devd functionality ... :> either already done in kernel as well or it better be done in kernel. ...
      (freebsd-arch)
    • devd panic on i386 7.2 Release with CARP
      ... I am having a problem with one of my freebsd 7.2R boxes panicing on start of devd after upgrading to 7.2R. ... custom kernel does not panic with devd_enable="NO" set in rc.conf, ... My kernel config is pretty simple, I am building a test i386 box with a carp kernel to try and repro this on another box, but that box is really slow. ... page fault while in kernel mode ...
      (freebsd-stable)

  • Quantcast