Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Aug 1999 15:49:16 -0400 (EDT)
From:      Zhihui Zhang <zzhang@cs.binghamton.edu>
To:        freebsd-hackers@freebsd.org
Subject:   Questions on new-bus source code
Message-ID:  <Pine.GSO.3.96.990806144109.24194A-100000@sol.cs.binghamton.edu>

next in thread | raw e-mail | index | archive | help

In FreeBSD new-bus architecture, all devices are linked into a device
tree. The root of the tree is root_bus, it has a child called nexus0 added
during the device configuration phase.  I have two questions about this
new-bus code:

(1) What is the usage of this "nexus0" device?  Its parent (root_bus) does
not declare the probe method, so probing nexus0 can only return ENXIO for
us (from error_method()). 

(2) I guess that the probe process of all devices on the tree is triggered
by root_bus_configure() in subr_bus.c.  It is done from top to bottom,
i.e. the probe process should be propagated down the device tree from
root_bus. Am I right? How does this tree structure achieve the dynamic
feature of device configuring (adding/removing devices on the fly)? 

Having a pig picture often helps to understand the details more readily.

Any help is appreciated.

--------------------------------------------------
Zhihui Zhang.  Please visit http://www.freebsd.org
--------------------------------------------------



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.3.96.990806144109.24194A-100000>