Newbus help

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Newbus help

Tiffany Snyder
Hi,
I'm bringing up a system with FreeBSD-6.2 that has 2 Host Bridges. 1
host-PCI and the other is host-Hypertransport bridge. Currently only
the host-PCI bridge gets recognized and cleanly attaches all the
devices underneath it. The questions are;
(1) Can you tell or point to a piece of code that adds a second host
bridge? I assume this get added as a child of nexus
(2) How do I go about defining bus methods for the host-HT bridge and
automatically enabling the newbus system to probe and attach child
devices and bridges below it? Again, pointer to example code is
welcome.

Thanks,

Tiffany Snyder.
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-new-bus
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Newbus help

John Baldwin
On Saturday 29 December 2007 02:39:41 pm Tiffany Snyder wrote:

> Hi,
> I'm bringing up a system with FreeBSD-6.2 that has 2 Host Bridges. 1
> host-PCI and the other is host-Hypertransport bridge. Currently only
> the host-PCI bridge gets recognized and cleanly attaches all the
> devices underneath it. The questions are;
> (1) Can you tell or point to a piece of code that adds a second host
> bridge? I assume this get added as a child of nexus
> (2) How do I go about defining bus methods for the host-HT bridge and
> automatically enabling the newbus system to probe and attach child
> devices and bridges below it? Again, pointer to example code is
> welcome.

Are you using ACPI or a custom BIOS of some sort?

--
John Baldwin
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-new-bus
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Newbus help

Tiffany Snyder
On Dec 31, 2007 9:52 AM, John Baldwin <[hidden email]> wrote:

>
> On Saturday 29 December 2007 02:39:41 pm Tiffany Snyder wrote:
> > Hi,
> > I'm bringing up a system with FreeBSD-6.2 that has 2 Host Bridges. 1
> > host-PCI and the other is host-Hypertransport bridge. Currently only
> > the host-PCI bridge gets recognized and cleanly attaches all the
> > devices underneath it. The questions are;
> > (1) Can you tell or point to a piece of code that adds a second host
> > bridge? I assume this get added as a child of nexus
> > (2) How do I go about defining bus methods for the host-HT bridge and
> > automatically enabling the newbus system to probe and attach child
> > devices and bridges below it? Again, pointer to example code is
> > welcome.
>
> Are you using ACPI or a custom BIOS of some sort?

Custom BIOS that only sets up the PCI host bridge. SW has to manually
bootstrap the HT host bridge, attach and manage resources for all the
children below it.

Thanks,

Tiffany Snyder
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-new-bus
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Newbus help

Warner Losh
In message: <[hidden email]>
            "Tiffany Snyder" <[hidden email]> writes:
: On Dec 31, 2007 9:52 AM, John Baldwin <[hidden email]> wrote:
: >
: > On Saturday 29 December 2007 02:39:41 pm Tiffany Snyder wrote:
: > > Hi,
: > > I'm bringing up a system with FreeBSD-6.2 that has 2 Host Bridges. 1
: > > host-PCI and the other is host-Hypertransport bridge. Currently only
: > > the host-PCI bridge gets recognized and cleanly attaches all the
: > > devices underneath it. The questions are;
: > > (1) Can you tell or point to a piece of code that adds a second host
: > > bridge? I assume this get added as a child of nexus
: > > (2) How do I go about defining bus methods for the host-HT bridge and
: > > automatically enabling the newbus system to probe and attach child
: > > devices and bridges below it? Again, pointer to example code is
: > > welcome.
: >
: > Are you using ACPI or a custom BIOS of some sort?
:
: Custom BIOS that only sets up the PCI host bridge. SW has to manually
: bootstrap the HT host bridge, attach and manage resources for all the
: children below it.

FreeBSD's pci bridge driver doesn't do all the things needed to do
this.  We'd be happy to help you add them to the driver.  It is
something that's been needed for a while, and blocking on another
long-term feature, but something that could be done without it
(although less eloquently).

Warner
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-new-bus
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Newbus help

John Baldwin
In reply to this post by Tiffany Snyder
On Monday 31 December 2007 11:44:59 pm Tiffany Snyder wrote:

> On Dec 31, 2007 9:52 AM, John Baldwin <[hidden email]> wrote:
> >
> > On Saturday 29 December 2007 02:39:41 pm Tiffany Snyder wrote:
> > > Hi,
> > > I'm bringing up a system with FreeBSD-6.2 that has 2 Host Bridges. 1
> > > host-PCI and the other is host-Hypertransport bridge. Currently only
> > > the host-PCI bridge gets recognized and cleanly attaches all the
> > > devices underneath it. The questions are;
> > > (1) Can you tell or point to a piece of code that adds a second host
> > > bridge? I assume this get added as a child of nexus
> > > (2) How do I go about defining bus methods for the host-HT bridge and
> > > automatically enabling the newbus system to probe and attach child
> > > devices and bridges below it? Again, pointer to example code is
> > > welcome.
> >
> > Are you using ACPI or a custom BIOS of some sort?
>
> Custom BIOS that only sets up the PCI host bridge. SW has to manually
> bootstrap the HT host bridge, attach and manage resources for all the
> children below it.

Ok.  Right now that's not easy to do.  I'm working on changing x86 to have a
logical platform device to handle the non-ACPI and non-PC-AT cases.  Probably
this will show up as each platform having its own nexus(4) driver and you can
then enumerate platform-specific devices like PCI host bridges in your nexus
driver's attach routine.  Right now what you'd have to do is create your
own 'foo0' that attaches to nexus0 and overrides acpi0 and legacy0
(unfortunately that means hacking legacy0 as it only checks for acpi0
currently).

--
John Baldwin
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-new-bus
To unsubscribe, send any mail to "[hidden email]"