All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Segher Boessenkool <segher@kernel.crashing.org>
Cc: linuxppc-dev@ozlabs.org, Arnd Bergmann <arnd@arndb.de>,
	linuxppc64-dev <linuxppc64-dev@ozlabs.org>
Subject: Re: RFC: Rev 0.5 Booting the Linux/ppc kernel without Open Firmware
Date: Sun, 18 Dec 2005 18:18:32 +1100	[thread overview]
Message-ID: <1134890313.6102.78.camel@gaston> (raw)
In-Reply-To: <3a8648f28b591dee596d6cb195f1cad1@kernel.crashing.org>


> No.  Their name can be whatever is required.  The "device_type" should
> be "pci", for conventional PCI busses; and it should be whatever is
> defined by the appropriate OF binding for newer, mostly PCI-comnpatible,
> busses (like HT, PCIe, PCI-X, etc.)

Yes, but the recommended practice is still to call them "pci" :) The
device_type of "pci" defines the fact that it's providing a PCI bus, but
is not unique to PCI hosts, p2p bridges share it. It's a convention for
a pci host bridge however to be named "pci" while a p2p bridge is named
"pci-bridge".

As for HT, PCI-X, PCI-E etc... I don't think there are much bindings
around, but I would recommend sticking strictly to the PCI one, only
adding something to either model or compatible. We may want to
standardize some additional things that aren't in the binding, like a
pci-family (pci, pci-e, pci-x, ht) property, or a extended-config-space
to advertise support for config space > 4096, etc.

At this point, I would really like to find out the remains of the OF
working group an kick that back into life to properly define those
things.

> It is up to a device's parent bus to find the correct driver; for
> the parent bus, device_type and/or compatible are normally enough
> to do the matching.  "model" is useful to disambiguate sometimes,
> but it normally is _too_ exact to do useful driver matching.

Except that OF platform devices don't really have a parent bus, they
expose a bus_type structure that can be used to match any device node in
the OF tree. There is no and there will not be a 1:1 relationship
between the OF device-tree and the linux one, so we must do compromises.

> Interrupts are evil evil evil as always ;-)

Yah, and I need to design something smart on the linux side to backup my
promise of not requiring device-nodes per PCI devices, since that means
not requiring nodes for p2p bridges neither, and thus impementing a
generic interrupt mapping algorithm that works both with full of
parsing, but also with partial one, doing standard swizzling for bridges
without a node (and with a platform hook to override that optionally).
On my todo list but not done yet.

> Yes, almost every SoC has at least two busses; e.g., you often see
> a high-speed coherent "system" bus, and a lower-speed non-coherent
> I/O bus connected to it.  But there are lots of variations to this
> theme.

That shouldn't be a problem anyway. Just cascade them and don't forget
the "ranges" property :)

> SMT threads should not be represented as separate CPUs.  But some
> CPU resources that are described in a CPU node are non-shared between
> SMT threads; we need to find a way to describe those.
> 
> The biggest problem is interrupts (as always); the unit-id for a
> "cpu" node in OF is the IPI number of that CPU, but on SMT, IPIs
> are per thread.

Yes, that's a problem

Ben.

  reply	other threads:[~2005-12-18  7:18 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-05 21:06 RFC: Rev 0.5 Booting the Linux/ppc kernel without Open Firmware Jon Loeliger
2005-12-06 18:59 ` Michael Neuling
2005-12-06 20:08   ` RFC: Rev 0.5 Booting the Linux/ppc kernel without Open Firmwa re Jon Loeliger
2005-12-06 19:48 ` RFC: Rev 0.5 Booting the Linux/ppc kernel without Open Firmware Arnd Bergmann
2005-12-07  0:17   ` David Gibson
2005-12-07 16:54     ` Kumar Gala
2005-12-17 21:59   ` Benjamin Herrenschmidt
2005-12-18  6:35     ` Segher Boessenkool
2005-12-18  7:18       ` Benjamin Herrenschmidt [this message]
2005-12-19 20:49     ` Kumar Gala
2005-12-20 10:18       ` Arnd Bergmann
2005-12-20 17:26         ` Kumar Gala
2005-12-20 18:58           ` Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1134890313.6102.78.camel@gaston \
    --to=benh@kernel.crashing.org \
    --cc=arnd@arndb.de \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=linuxppc64-dev@ozlabs.org \
    --cc=segher@kernel.crashing.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.