Date: Mon, 06 Jun 2005 22:45:13 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: fierykylin@gmail.com Cc: freebsd-current@freebsd.org, freebsd-questions@freebsd.org Subject: Re: what is the init entrance for pci bus scan in FREEbsd? Message-ID: <20050606.224513.131763662.imp@bsdimp.com> In-Reply-To: <87ab37ab050606211290c3220@mail.gmail.com> References: <87ab37ab05060108167dee1d6@mail.gmail.com> <20050605.110508.101566419.imp@bsdimp.com> <87ab37ab050606211290c3220@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <87ab37ab050606211290c3220@mail.gmail.com> kylin <fierykylin@gmail.com> writes: : On 6/6/05, M. Warner Losh <imp@bsdimp.com> wrote: : > I'm not sure I understand what you are getting at here. First, devd : > already provides 95% of the infrastructure to do things when devices : > are added to the system. : sorry ,i ignore it!! it is really a lite tool:) ,but it seems that : /dev/devctl does not present the function to write to the devctl,then : I think it is impossible to give order to disable or enable the pci : slots without making changes. OK. You need a daemon to respond to the state diagram of the pci hot plug interaction model. : then it is devd that should come into play( like the sbin/hotplug in : linux?):) Yes. devd predates hotplug in Linux, but not by much (they both were worked on in parallel). : > Second, you assume that linux's way of doing things is how FreeBSD : > does things. This isn't the case. FreeBSD scans the bus at pci bus : > attach time and adds chilren nodes that it finds. In the Cardbus : > case, it will add nodes as the card bus bridge tells us of children, : > and then probe/attaches them. : i mean the enumeration way . and the trickes to talk with the hotplug bridge. : BTW pci_init() is the start point for PCI enumeration in linux. The : way to add the device to the lists You'll need to look at how cardbus handles this. : > Finally, you should send me your work for review. I've been keen on : > expanding pci bus support for a long time and would be happy to review : > such changes. : : > BTW, Which chipsets and hotplugging methods do you support? : i will begin with the fake way here ,then give support to pciexpress : native hotplug .there is common register interface for pci e hotplug : first ,i will not change the source ,just add a module. I think you should make it be a full-fledged driver, rather than an add-on on the side. You'll not be able to solve the resource problems otherwise. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050606.224513.131763662.imp>