Date: Wed, 17 Dec 1997 10:37:58 +1030 From: Mike Smith <mike@smith.net.au> To: ada@bsd.org Cc: hackers@FreeBSD.ORG Subject: Re: Bus/Processor specific I/O methods - was Re: Beginning SPARC port Message-ID: <199712170007.KAA00363@word.smith.net.au> In-Reply-To: Your message of "Tue, 16 Dec 1997 19:39:58 %2B1100." <199712160839.TAA05709@noether.blah.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> There is a fundamental problem between this and devfs: Nope. 8) > if devfs waits for the driver to create device nodes, and the driver waits > until its device entry is touched before it's loaded, how does the > process begin? The probe/attach code is in a separate section in the driver module. It's loaded and run based on the bus' probing policy (eg. PCI & PnP load/run on an ID match, ISA loads and probes based on config data), and then discarded. This creates a lazy binding between the device nodes and the module object, which is resolved (the body of the module object is loaded) on first open. The kernel should probably keep the module open to prevent it being deleted/unmounted, and the probe/attach will almost certainly leave data for each instance attached lying around. This is consistent with the conceptual difference between "is it there" (probe/attach) and "I want to use it" (open). mike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712170007.KAA00363>