Date: Sat, 15 Nov 2014 13:35:25 -0500 From: Alexander Kabaev <kabaev@gmail.com> To: Konstantin Belousov <kostikbel@gmail.com> Cc: FreeBSD Hackers <freebsd-hackers@freebsd.org>, "O'Connor, Daniel" <darius@dons.net.au> Subject: Re: Newbus question Message-ID: <20141115133525.51a25bfa@kan> In-Reply-To: <20141115180302.GL17068@kib.kiev.ua> References: <EE77EB4C-E317-4EAB-9319-18F0B292571F@dons.net.au> <20141115121730.3a5bac94@kan> <20141115180302.GL17068@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/zdH5dEGZSdVN.dvL+KgPvlK Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Sat, 15 Nov 2014 20:03:02 +0200 Konstantin Belousov <kostikbel@gmail.com> wrote: > On Sat, Nov 15, 2014 at 12:17:30PM -0500, Alexander Kabaev wrote: > > On Sat, 15 Nov 2014 17:32:39 +1030 > > "O'Connor, Daniel" <darius@dons.net.au> wrote: > >=20 > > > Hi, > > > I am trying to write a driver for the EHCI debug port [1]. I found > > > some userland code which I got working (written by the person who > > > did the Linux version) and now I am trying to get it running in > > > the kernel. One problem I have is that it needs to run in > > > parallel with the normal EHCI controller. It uses the same BAR as > > > the EHCI controller but offset (the offset is found in a PCI > > > capability). I think I can bus_alloc_resource() if I change EHCI > > > to allocate with RF_SHAREABLE but my first problem is to add > > > another device so my driver doesn't contest with the EHCI driver. > > >=20 > > > Currently I have a module which loops over bus/slot/func using > > > find_bsf (is there a way to enumerate all connected PCI devices?) > > > and then check each for the debug capability (I plan on being a > > > bit pickier later but it works so far) then creating a child > > > device. The problem is that the probe routine <missing text> > > >=20 > >=20 > > Hi, > >=20 > > I do not think this can be done without cooperation of the ECHI > > device. You'd have to go the way of the full parent/child > > relationship between ehci parent and debug port child devices. > > Fortunately, this is not that hard to do and you can even define > > your own devmethod interfaces to make communication between debug > > port decoupled, so that debug port can be loaded and unloaded > > independently. The echi device already manages one child usbus > > device, adding another should not be too hard. >=20 > I think that debugging should be available much earlier than the > device tree is explored and devices are attached. It probably makes > sense to operate the debugging port outside the newbus at all, in > particular, before the pci and acpi machinery is initialized. >=20 > You might want a callback from ehci driver when it appropriated the > resources, to handle the case of bar realocation. If one wants early debugger, then whole thing will need to be split into pre-newbus and after-newbus part, similar to dcons. --=20 Alexander Kabaev --Sig_/zdH5dEGZSdVN.dvL+KgPvlK Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iD8DBQFUZ5zyQ6z1jMm+XZYRArBYAKCPkMvxTCPipwB+JrmkIWXJtqhmgwCeJBiY fN2PO89HbxB7Pha4Ex9QJSU= =zG0Q -----END PGP SIGNATURE----- --Sig_/zdH5dEGZSdVN.dvL+KgPvlK--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20141115133525.51a25bfa>