Skip site navigation (1)Skip section navigation (2)
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>